Oracle 系统参数调整和优化原则
2008-09-09 12:07:27 来源:WEB开发网对于CBO(基于成本的优化)In case of CBO:
表和索引上有统计信息吗?
统计信息是被计算出来的还是被估计出来的?
对于查询的性能调整由两个主要的调试工具:
TKPROF
AUTOTRACE
Rollback Segment Performance Tuning(回滚段的调整):Oracle数据库提供了任何数据库对象上的SELECT, INSERT, UPDATE, 和DELETE 操作的读一致性。回滚段用于保存由那些要回滚的动作或系统需要产生一个和前面某一时间读一致的影像所产生的可取消事务。
设置回滚段大小的技巧如下:
建议最少每4个事务一个回滚段
建议为长时间运行的大查询提供一个大回滚段。
v$rollstat中的wrap数接近0。否则增大扩展大小(extent size)。
SELECT b.name, a.wraps FROM V$ROLLSTAT a, V$ROLLNAME b;
n Temporary Tablespace Performance Tuning(临时表空间的调整):从RDBMS release 7.3开始,Oracle引入了临时表空间的概念。这个表空间用于保存临时对象,如排序段。排序段采用它所在的表空间的缺省存储参数(DEFAULT STORAGE (NEXT) 子句)作为自己的存储参数。
临时表空间的调整的技巧如下:
如果即使在稳定的状态下也存在很多的排序扩展锁(Sort Extent Pool latch)的竞争,你应该通过修改临时表空间的DEFAULT STORAGE 子句的NEXT值来增大扩展块的大小。
如果存在很多的排序扩展锁(Sort Extent Pool latch)的竞争并且这种等待是由于过多的并发的排序造成的,你应该增大SORT_AREA_SIZE参数的大小,以使更多的排序能保存在内存中。
建议让扩展块的大小和SORT_AREA_SIZE参数相同。
Utlbstat/Utlestat Performance Tuning(Utlbstat/Utlestat调整):Utlbstat/Utlestatt 是一堆存放在你的$ORACLE_HOME/rdbms/admin目录下的SQL脚本,他们对于捕获系统范围的数据库性能统计的快照非常有用。UTLESTAT 创建这些视图的第二个快照,并将两个快照之间的差异报告到文件 'report.txt'中。 Utlbstat.sql 在你的sys用户下创建一系列的表和视图,其中包括开始时数据库性能统计的快照。Utlesta.sql在你的sys用户下创建一系列的表,其中包括结束时数据库性能统计的快照和一个叫 'report.txt'的文件。
使用方法:
确保你已经将TIMED_STATSTICS设为TRUE (这仅仅给数据库操作增加了一点非常小的开销)。
确保数据库在运行utlbstat前,已经启动并且运行了一段时间。
从svrmgrl 中而不是sql*plus中运行utbstat.sql和utlestat.sql。
确保在脚本utlbstat/estat运行时,数据库不被Down掉,否则产生的统计就不正确。
至少运行utlbstat/estat 1-3个小时,才好调试你的数据库。
Checkpoint Performance Tuning(检查点性能调整):检查点( Checkpoint)是一个数据库事件,用来同步内存和磁盘上的数据文件中的数据块。检查点的目的有两个:
建立数据的一致性
是数据库恢复更快。
检查点调整方法如下:
如果LOG_CHECKPOINT_INTERVAL的值比重写日志( redo log)的大小大,那么 checkpoint只在ORACLE进行日志从一个组到另一组切换的时候才发生。这正是我们希望的。这个行为在 Oracle 8i中有了变化。
当把LOG_CHECKPOINTS_TO_ALERT设为TRUE时,将把checkpoint启动和停止的时间记录在alert log日志里。这对于你确定checkpoint是否正以最佳的频率发生很有帮助。
理想的情况是,checkpoint在仅在日志切换时发生。
Import Performance Tuning(数据载入性能调整):没有什么固定的信息是关于如何加速那些慢得让人难以忍受的import的。显然import要花费它完成所需要的时间,但是作一些事情可以缩短他们所花的时间。方法很简单,并行操作
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接