Oracle性能调优原则
2007-05-06 12:05:45 来源:WEB开发网fs_async 允许进行磁盘异步操作,提高CPU和磁盘的利用率
lotsfree 提高系统解除换页操作的空闲内存的上限值,保证应用程序有足够的可用内存空间。
maxdsiz 针对系统数据量大的特点,加大最大数据段的大小,保证应用的需要。(32位)
maxdsiz_64bit maximum process data segment size for 64_bit
Maxssiz 加大最大堆栈段的大小。(32_bit)
maxssiz_64bit 加大最大堆栈段的大小。(64_bit)
Maxtsiz 提高最大代码段大小,满足应用要求
maxtsiz_64bit 原值过大,应调小
Minfree 提高停止交换操作的自由内存的上限
Shmem 允许进行内存共享,以提高内存的利用率
Shmmax 设置最大共享内存段的大小,完全满足目前的需要
Timeslice 由于系统的瓶颈主要反映在磁盘I/O上,因此 降低时间片的大小,一方面可避免因磁盘I/O不畅造成CPU的等待,从而提高了CPU的综合利用率。另一方面减少了进程的阻塞量。
unlockable_mem 提高了不可锁内存的大小,使可用于换页和交换的内存空间扩大,用以满足系统对内存管理的要求。
用户SQL质量
以上讲的都是硬件方面的东西,在条件有限的条件下,我们可以调整应用程序的SQL质量:
1. 不要进行全表扫描(Full Table Scan):全表扫描导致大量的I/O
2. 尽量建好和使用好索引:建索引也是有讲究的,在建索引时,也不是索引越多越好,当一个表的索引达到4个以上时,ORACLE的性能可能还是改善不了,因为OLTP系统每表超过5个索引即会降低性能,而且在一个sql 中, Oracle 从不能使用超过 5个索引;当我们用到GROUP BY和ORDER BY时,ORACLE就会自动对数据进行排序,而ORACLE在INIT.ORA中决定了sort_area_size区的大小,当排序不能在我们给定的排序区完成时,ORACLE就会在磁盘中进行排序,也就是我们讲的临时表空间中排序, 过多的磁盘排序将会令 free buffer waits 的值变高,而这个区间并不只是用于排序的,对于开发人员我提出如下忠告:
- ››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修改表的两种方式
更多精彩
赞助商链接