Oracle性能优化总结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

个人理解,数据库性能最关键的因素在于IO,因为操作存是快速的,但是读写磁盘是速度很慢的,优化数据库最关键的问题在于减少磁盘的IO,就个人理解应该分为物理的和逻辑的优化,物理的是指oracle产品本身的一些优化,逻辑优化是指应用程序级别的优化

物理优化:

一、优化存

3.管理员可以通过下述语句来查看数据缓冲区的使用情况

select name,value from v$sysstat where name in('db block gets','consistent gets','physica l reads');

数据缓冲区使用命中率(physical reads除以db block gets加consistent gets之和)一定要小于10%,否则需要增加数据缓冲区大小

4.管理员可以通过执行下述语句,查看日志缓冲区的使用情况

select name,value from v$sysstat where name in ('redo entries','redo log space requests')

根据查询出的结果可以计算出日志缓冲区的申请失败率:requests除以entries

申请失败率应该解决与0,否则说明日志缓冲区开设太小,需要增加Oracle数据库的日志缓冲区

二、物理I/0的优化

1.在磁盘上建立数据文件前首先运行磁盘碎片整理程序

为了安全地整理磁盘碎片,需关闭打开数据文件的实例,并且停止服务。如果有足够的连续磁盘空间建立数据文件,那么就容易避免数据文件产生碎片。

2.不要使用磁盘压缩(Oracle文件不支持磁盘压缩)

3.不要使用磁盘加密

加密像磁盘压缩一样加了一个处理层,降低磁盘读写速度。如果担心自己的数据可能泄露,可以使用dbms_obfuscation包和label security选择性地加密数据的敏感部分

4.使用RAID

raid使用应注意:

选择硬件raid超过软件raid;日志文件不要放在raid5卷上,因为raid5读性能高而写性能差;把日志文件和归档日志放在与控制文件和数据文件分离的磁盘控制系统上

5.分离页面交换文件到多个磁盘物理卷

跨越至少两个磁盘建立两个页面文件。可以建立四个页面文件并在性能上受益,确保所有页面文件的大小之和至少是物理存的两倍。

三、cpu优化调整

1.cpu使用情况

一般unix操作系统,可以使用sar -u命令查看cpu的使用率;NT操作系统的服务器,可以使用NT的性能管理器来查看CPU的使用率

出现CPU资源不足的情况很多:SQL语句的重解析、低效率的SQL语句、锁冲突都会引起cpu资源不足

2.查看sql语句的解析情况

数据库管理员可以执行下述语句来查看SQL语句的解析情况:

select * from v$sysstat where name in ('parse time cpu','parse time elapsed','parse count (hard)');

这里parse_time_cpu是系统服务时间,parse_time_elapsed是响应时间。

waite_time = parse_time_elapsed-parse_time_cpu

由此可以得到用户SQL语句平均解析等待时间:

用户SQL语句平均解析等待时间=waite time/parse count

数据库管理员还可以通过下述语句,查看低效率的SQL语句

select buffer_gets,executlons,sql_text from v$sqlarea;

优化这些低效率的SQL语句也有助于提高CPU的利用率

3.查看Oracle数据库的冲突情况

数据库管理员可以通过v$system_event数据字典中的"latch free"统计项查看Oracle数据库的冲突情况,如果没有冲突的话,latch free查询出来没有结果。如果冲突太大的话,数据库管理员可以降低spin_count参数值,来消除

4.cpu优化

取消屏幕保护、把系统配置为应用服务器、监视系统中消耗中断的硬件、保持最小的安全审计记录、在专门服务器上运行Oracle、禁止非必须的服务

四、网络配置优化

网络配置是性能调整的一项很重要的容,而且很容易隐藏性能瓶颈

配置网卡使用最快和有效模式、删除不需要的网络协议、优化网络协议绑定顺序,为Oracle 禁止或优化文件共享

五、使用CBO优化器

参见本目录CBD优化器

六、合理配置oracle实例参数

七、索引优化(减少IO)

如何某表的某个字段有主键约束和唯一性约束,则Oracle 则会自动在相应的约束列上建议唯一索引。数据库索引主要进行提高访问速度。

建设原则:

1、索引应该经常建在Where 子句经常用到的列上。如果某个大表经常使用某个字段进行查询,并且检索行数小于总表行数的5%。则应该考虑。

2、对于两表连接的字段,应该建立索引。经常在某表的一个字段进行Order By 则也经过进行索引。

3、不应该在小表上建设索引。

优缺点:

索引主要进行提高数据的查询速度。当进行DML时,会更新索引。因此索引越多,则DML越慢,其需要维护索引。因此在创建索引及DML需要权衡。

创建索引:

单一索引:Create Index On (Column_Name);

复合索引: Create Index i_deptno_job on emp(deptno,job); —>在emp表的deptno、job 列建立索引。

相关文档
最新文档