Oracle数据库的优化之数据库磁盘I/O
2009-05-12 13:13:56 来源:WEB开发网确定动态扩展
select name,value from v$sysstat where name=’recursive calls’ ;
分配分区
确定实体的最大大小;
选择存储参数值,使oracle分配足够大的分区,在创建实体时可以装入所有数据
避免回滚段的动态空间管理
回滚段大小由其存储参数所决定,回滚段必须能保存所有交易的回滚入口;
使用set transaction 命令可以为回滚段赋予交易的合适的大小;
对长的查询的修改数据,应赋予大的回滚段,以保持所有的回滚入口;
对OLTP交易,由于频繁交易,每个交易只修改小量的数据,因此赋予小的回滚段。
减少迁移和链接行
1. 使用ANALYZE 收集迁移和链接行的信息;
2. 查询输出表:chained_rows;
3. 如果有许多迁移和链接行,就需要消除迁移行,方法如下:
A. 创建与原表相同列的中间表,以保存迁移和链接行;
B. 从原表中删除迁移和链接行;
C. 将中间表中的行插入到原表中;
D. 删除中间表
4. 删除第一步收集的信息;
5. 重新使用ANALYZE命令查询输出表
6. 在输出表中出现的行都是链接行,只能通过增加数据块的大小来清除。
调整排序
内存中排序
使用动态表V$SYSSTAT的信息反映排序
SELECT NAME , VALUE FROM V$SYSSTAT WHERE NAME IN (‘SORTS(MEMORY)’,’SORTS(DISK)’) ;
SORTS(MEMORY)-不需要使用I/O操作而完全在内存完成的排序数;
SORTS(DISK)-需要使用I/O操作与磁盘临时段才能完成数据的排序数目。
增大SORT_AREA_SIZE以避免磁盘排序
使用NOSORT创建非排序的索引
CREATE INDEX INDEX_NAME ON TABLE TABLE_NAME(COLUMN_NAME) NOSORT ;
- ››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修改表的两种方式
更多精彩
赞助商链接