WEB开发网
开发学院数据库Oracle Oracle数据库的优化之数据库磁盘I/O 阅读

Oracle数据库的优化之数据库磁盘I/O

 2009-05-12 13:13:56 来源:WEB开发网   
核心提示: 确定动态扩展select name,value from v$sysstat where name=’recursive calls’ ; 分配分区确定实体的最大大小;选择存储参数值,使oracle分配足够大的分区,Oracle数据库的优化之数据库磁盘I/O(2)

确定动态扩展

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 ;

上一页  1 2 3 4 5 6  下一页

Tags:Oracle 数据库 优化

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接