Oracle数据库的性能调整与优化方法探析
2009-06-08 13:15:48 来源:WEB开发网1)SGA—MAX_SIZE的设置。通常的原则是开始就把SGA—MAX—SIZE设为物理内存的25%左右,如果有大量用户或者可用内存有限,系统都会强制将其设为15%~20%左右,如果只有少量用户或者有大量物理内存,则允许使用30%-50%的物理内存。同时SGA—MAX—SIZE的大小决定了很多其他参数的粒度大小。SGA—MAX—SIZE<128Mbyte意味着粒度大小为4Mbyte;SGA—MAX—SIZE>128Mbyte意味着粒度大小为16Mbyte。
2)PGA—AGGREGATE—TARGET的设置。PGA—AGGREGATE—TARGET是Oracle在所有会话中间分配的会话PGA内存总量。PGA_ AG-GREGATE-TARGET是Oracle新引入的参数,可以替代*_SIZE类型的参数,当设置PGA_ AG-GREGATE_ TARGET时,必须将WORKAREASIZE_ POLICY设为AUTO。使用PGA_AGGRE-GATE TARGET的好处就是:可设定用户会话的总内存使用量来减少分页。PGA_ AGGREGATETARGET参数应该被设定成能维持ESTD_ PGACACH几HITPERCENTAGE大于95%的值,这样可以产生95%甚至更高的缓存命中率。
3)DB_ GASHE_ SIZE的设置。DB_ GASHE_SIZE是Oracle最关键的参数,它设定了用来存储和处理内存中数据的SGA区域的大小。DBCASH几SIZE是可用来调整数据库缓存命中率的重要参数,命中率就是指那些不用从硬盘上物理读操作的数据库块的访问比例。对于那些事务处理系统来说,数据缓存命中率通常都应该在95%以上,如果命中率低于95%,通常就必须增大DB_CASHE_SIZE。
4)SHARED_ POOL_ SIZE的设置。SHARED_POOL_ SIZE类似于DB_ CASHE_ SIZE,它为那些数据字典缓存和共享SQL语句指定了在SGA里所分配的内存。为了使性能得到优化,必须保证缓存重载率尽量接近0%,并使缓存命中率在95%以上。无论缓存重载率大于1%或缓存命中率低于95%,都应该通过增大SHARED_ POOL_ SIZE优化系统。
4 应用优化
4.1索引优化
索引对数据库I/O的影响十分巨大。如果通过索引来访问数据库,可以大大减少对大型表的全表扫描,从而减少I/O的开销。索引的使用通常能够提高SELECT,UPDA.TE以及DELETE语句的性能,但会降低INSERT语句的性能,因此索引并非是越多越好,使用索引应该遵循以下原则:
1)为不经常更新的静态大表建立索引;
2)为查询语句只选择少量字段进行查询的表建立索引;
3)在经常进行连接,但是没有指定为外键的列上建立索引;
4)在频繁进行排序或分组(即进行order by或group by操作)的列上建立索引;
5)在不同值较多的列上建立检索;
6)在多个待排序的列上建立复合索引(compound index);
7)在没有空值的列上建索引,在含有空值的列上即使建了索引也用不上。
- ››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修改表的两种方式
更多精彩
赞助商链接