oracle学习笔记.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《oracle学习笔记.docx》由会员分享,可在线阅读,更多相关《oracle学习笔记.docx(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1、 sqlload导入数据1.1、sql loader 的特点oracle自己带了很多的工具可以用来进行数据的迁移、备份和恢复等工作。但是每个工具都有自己的特点。比如说exp和imp可以对数据库中的数据进行导出和导出的工作,是一种很好的数据库备份和恢复的工具,因此主要用在数据库的热备份和恢复方面。有着速度快,使用简单,快捷的优点;同时也有一些缺点,比如在不同版本数据库之间的导出、导入的过程之中,总会出现这样或者那样的问题,这个也许是oracle公司自己产品的兼容性的问题吧。sql loader 工具却没有这方面的问题,它可以把一些以文本格式存放的数据顺利的导入到oracle数据库中,是一种在
2、不同数据库之间进行数据迁移的非常方便而且通用的工具。缺点就速度比较慢,另外对blob等类型的数据就有点麻烦了。1.2、 sql loader使用例子创建一个假日表create table SOURCE_JRB( JR DATE, DQDH VARCHAR2(2), HBZL VARCHAR2(2), SFJR VARCHAR2(1), JLZT VARCHAR2(1), BUSI_DATA_DATE DATE)1.3、控件文件jrb.ctlUNRECOVERABLE -关闭日志,不可恢复Load data -控制文件标识INFILE * -要输入的数据文件名为这里在命令中指定,所以用*代替fi
3、x 15 -指定一行记录的字符数,包括换行符INTO TABLE source_jrb -指定表名APPEND -向表中追加记录(JR position(1:8) DATE YYYY-MM-DD , -定长指定1-8位字符为列jr,类型为dateDQDH position(9:10),HBZL position(11:12),SFJR position(13:13),JLZT position(14:14),BUSI_DATA_DATE position(1:2) to_date(20110428) ,YYYY-MM-DD)a、insert,为缺省方式,在数据装载开始时要求表为空 b、appe
4、nd,在表中追加新记录 c、replace,删除旧记录,替换成新装载的记录 d、truncate,同上Data文件:jrb.dat2003010100001120080207000011200802080000112008021100001120080212000011200804040000112008050400000120080501000011200805020000112008060900001120080915000011200809270000011.4、执行命令将jrb.ctl文件和jrb0.dat文件放在e:tem目录下sqlldr arms/armsarmsdb contr
5、ol=e:temjrb.ctl data=e:temJRB0.dat log=e:temJRB.log bad=e:temJRB.bad direct=truearms/armsarmsdb这里数据库用户名:arms;密码:arms;数据库:armsdb;2、oracle对应用程序性能分析有的时候我们发现一个应用系统运行很慢,运行很慢主要是由于跟数据库有关,致使数据很长时间没有返回数据,这个时候我们可能去查oracle到底哪里有问题,是什么原因导致他运行非常慢。其实很多时间都是由于程序人员写的sql执行效率非常低或者某个时间段访问量忽然猛增或者其他原因,那么我们如何定位到是哪一个SQL或是哪一
6、个时间段有问题呢?因为如果我们定位到某个时间段比其他时间段cpu,内存都相当耗时,我们就可以查看我们应用系统在这个时间段做什么,从而分析出系统运行慢的原因;我们也可以分析某个sql的运行时间,有时一段sql跑上几个小时都没跑出来。如果我们能定位到这些sql,对我们改善系统性能也是有很大帮助。我们这里通个分析addmrt和awrrpt来粗略分析数据库性能。在awrrpt这个里面,我们可以得到耗时前五的事件。调取addmrt和awrrpt文件登录oracle服务器进行以下目录:cd $ORACLE_HOMEcd rdbms/admin找到awrrpt.sqlls awrrpt.sql以数据库管理员
7、进入sqlplussqlplus / as sysdba执行wrrpt.sql/database/product/10gR2/db_1/rdbms/admin/awrrpt.sql在上图输入格式类型,我们就把这些报告保存为txt格式的,默认保存为html格式。输完后回车输入报告天数,我们输入1,输入1表示他将把最近1天的报告展示出来,如果是2那就是近两天的。这里输入开始的一个snap id,在这里我们可以看到他是每隔一小时记一次快照,我们可以修改这个快照间隔。回车后,文件名我们这里不输,默认就可以了。回车后,在当前执行sql的目录中就生成了一个awrrpt_1_14078-14079.txt的
8、文件,我们通过ftp把文件下载到本地(这里oracle服务器在AIX机器上)选择要下载到本地的目录(我这里e:tem)连接FTPftp 168.3.63.190输入用户名密码。登到文件所在路径:cd /database/product/10gR2/db_1/rdbms/admin下载文件get awrrpt_1_14078_14079.txt awrrpt_1_14078_14079.txt3、oracle执行计划通过oracle执行计划我们可以查询oracle数据库在执行一个sql时所花费的代价,它详细地列出了一个sql执行各部分时所耗费的代价,根据这些信息,可以为我们优化sql提供帮助。3
9、.1、相关的概念Driving Table驱动表:又称为外层表OUTER TABLE。这个概念用于嵌套与HASH连接中。如果该row source返回较多的行数据,则对所有的后续操作有负面影响。如果一个大表在WHERE条件有限制条件,则该大表作为驱动表也是合适的,所以并不是只有小表可以作为驱动表,正确说法应该为应用查询的限制条件后,返回较少行源的表作为驱动表。在执行计划中,应该为靠上的那个row source,在后面描述中,一般将该表称为连接操作的row source 1。Probed Table(被探查表):该表又称为内层表INNER TABLE。在我们从驱动表中得到具体一行的数据后,在该表
10、中寻找符合连接条件的行。所以该表应当为大表实际上应该为返回较大row source的表 且相应列上应该有索引。在后面的描述中,一般将该表称为连接操作的row source 2.组合索引(concatenated index):由多个列构成的索引,如create index idx_emp on emp(col1,col2)。在组合索引中有一个重要的概念:引导列(leading column),在上面的例子中,col1列为引导列。当我们进行查询时可以使用where col1 = ?,也可以使用where col1 = ? and col2 = ?,都会使用索引,但是where col2 = ?查
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle 学习 笔记
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内