Oracle優化經典文章------磁碟I/O和碎片篇
不平衡的磁碟I/O和撤消會妨礙效能。這裡討論如何正確定位和配置一些與Oracle資料庫相關的物理資料檔案。主要討論以下內容:
[1] 使用磁碟陣列
選擇合理的RAID方式。
[2] 在可用的硬碟之間分佈關鍵資料檔案
要特別注意的檔案:system表空間、TEMPORARY表空間、回滾段或UNDO表空間、聯機重做日誌檔案(最好放在最快的磁碟上)、放在ORACLE_HOME資料夾下的關鍵Oracle檔案、經常被訪問的表的資料檔案、經常被訪問的索引的資料檔案
經驗總結:把上面提到的資料檔案分佈在各個可用的磁碟上
把資料檔案和索引檔案分開放置
對於經常連線的表,把他們的資料和索引表空間分開
把控制檔案的多個備份儲存到不同的磁碟和控制器上
避免I/O磁碟爭用,用下面的查詢確定檔案的I/O問題
select name,phyrds,phywrts,readtim,writetim
from v$filestat a,v$dbfile b
where a.file# = b.file#
order by readtim desc
說明:在磁碟上的物理寫入和讀取次數上如果出現很大的差別,就表明肯定有哪個磁碟負載過多!
如果出現磁碟負載不平衡,可以通過移動資料檔案來均衡檔案I/O:
alter tablespace tablespace_name offline;
$cp /disk1/a.dbf /disk2/a.dbf;
alter tablespace tablespace_name rename datafile '/disk1/a.dbf' to '/disk2/a.dbf';
alter tablespace tablespace online;
$rm /disk1/a.dbf
[3] 使用本地託管的表空間
[4] 在大型表上使用表分割槽
[5] 使用索引分割槽
索引分割槽與分割槽表擁有同樣的優點。如果正確執行,則通過訪問索引的小片段而不是整個表上的索引可以提高效能。
[6] 瞭解碎片的概念以及如何消除碎片
經驗總結:使用本地託管的統一擴充套件表空間
在字典託管的表空間中使用統一的擴充套件大小(除了SYSTEM表空間外)
使擴充套件尺寸是資料庫塊尺寸的倍數
不要在字典託管的表空間上設定除0以外的任何PCTINCRREASE值
把表放在有合適擴充套件大小的表空間中
正確設定PCTINCREASE
避免使用跨越多個不連續的資料檔案的點陣圖索引
[7] 使用撤消管理
如果想使大量的INSERT、UPDATE、DELETE操作速度更快,可以增大日誌檔案大小(可以增加用於介質恢復的時間),並確保這些檔案在最快的磁碟上。
[8] 使用回滾段
下面查詢顯示回滾資訊:
select a.name,b.extents,b.rssize,b.xacts,b.waits,b.gets,optsize,stauts
from v$rollname a,v$rollstat b
where a.usn = b.usn;
說明:如果xacts(活動事務)經常超出1,就需要增加回滾段的數目,以避免可能出現的爭用。
把大的事務隔離到它們自己的回滾段上,用下面的語句:
commit;
set transation use rollback segment roll_segment_name;
delete from big_table;
commit;
[9] 使用更簡單的方法:undo表空間
Oracle 9i新引入的功能。
[10]通過記憶體排序來減少磁碟I/O
[11]在不同的磁碟和控制器上存放多個控制檔案
[12]使用裸裝置改善有寫操作頻繁的資料的I/O
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-1005023/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一篇文章幫你徹底搞清楚“I/O多路複用”和“非同步I/O”的前世今生非同步
- Linux下磁碟I/O測試Linux
- MySQL之磁碟I/O過高排查MySql
- 用bonnie++測試磁碟I/O
- iOS拾遺—— Assets Catalogs 與 I/O 優化iOS優化
- 如何監測 Linux 的磁碟 I/O 效能Linux
- 10、一篇經典的域滲透文章
- jvm經典文章整理JVM
- 文章經典總結
- 硬碟加速和磁碟碎片整理軟體硬碟
- 在 Linux 中如何使用 iotop 和 iostat 監控磁碟 I/O 活動?LinuxiOS
- Oracle I/O設定說明文件Oracle
- 《Java 高階篇》六:I/O 流Java
- I/O模型、Libuv和Eventloop模型OOP
- Redis篇:單執行緒I/O模型Redis執行緒模型
- 一篇文章搞定 MySQL 索引優化MySql索引優化
- 如何調優 Oracle SQL系列文章:查詢優化器介紹OracleSQL優化
- 計算機I/O與I/O模型計算機模型
- Linux之《荒島餘生》(四)I/O篇Linux
- Oracle面試寶典-鎖篇Oracle面試
- Oracle 面試寶典-DG篇Oracle面試
- Oracle 面試寶典-UNDO篇Oracle面試
- Oracle 面試寶典-RAC篇Oracle面試
- I/O已經不再是效能瓶頸
- LeetCode經典題-篇一LeetCode
- 經典語句(L篇)
- I/O流
- Java I/OJava
- windows10系統磁碟碎片整理在哪 win10如何開啟磁碟碎片整理WindowsWin10
- 如何進行I/O評估、監控、定位和最佳化?
- 經典氣泡排序的分析、優化及測試排序優化
- 遊戲碎片化敘事的優缺點和實操技巧遊戲
- Oracle面試寶典-事務篇Oracle面試
- Oracle面試寶典-等待事件篇Oracle面試事件
- Oracle面試寶典-引數篇Oracle面試
- 兩篇oracle異機恢復文章Oracle
- Python教程:精簡概述I/O模型與I/O操作Python模型
- Win10系統怎麼清理磁碟碎片 win10系統清理磁碟碎片的方法Win10
- 畫江湖之SQL優化 -10大經典案例場景SQL優化