Oracle資料庫9i在AIX環境下的效能調整
控制記憶體交換操作(Paging)
大量的記憶體交換操作會極大地影響系統的效能,尤其是在當資料庫檔案建立在檔案系統上時(JFS and JFS2)。在這種情況下經常訪問的資料,即在SGA中存在,也同樣在檔案的快取中存在。這種相同的資料在記憶體中快取兩次的情況,會降低記憶體的使用效率,從而使記憶體頻繁進行交換操作,造成系統的I/O瓶頸,降低整個系統的效能。
調整AIX上的檔案快取
在AIX上,可以透過vmtune命令中的MINPERM和MAXPERM引數,調整系統檔案快取來控制記憶體交換操作,MINPERM和MAXPERM引數的調整應遵照以下的原則:
當記憶體中的檔案快取頁在MINPERM以下時,記憶體頁交換演算法同時交換檔案快取頁和程式頁(computational pages)
當記憶體中的檔案快取頁在MAXPERM以上時,記憶體頁交換演算法只交換檔案快取頁。
當記憶體中的檔案快取頁在MINPERM和MAXPERM之間時,記憶體頁交換演算法通常只交換檔案快取頁,但如果檔案快取頁的交換率大於程式頁時,程式頁也同樣被交換。
MINPERM和MAXPERM引數的預設值
MINPERM = ((number of memory page) - 1024)*0.2
MAXPERM = ((number of memory page) - 1024)*0.8
可以用以下命令將MINPERM設為5%的記憶體頁,而MAXPERM設為20%的記憶體頁。
# vmtune -p 5 -P 20
預設值分別為20%和80%。
在Oracle資料庫應用的環境下,可以將MINPERM和MAXPERM分別設為5%和20%甚至更小,從而使記憶體更多地被用於Oracle的SGA而不是系統的檔案快取。
配置足夠的交換區
如果交換區空間不足會造成系統響應速度變慢甚至掛起,交換區的大小取決於系統記憶體的大小以及應用程式對記憶體的需求。在AIX上可以動態增加交換區,也可以用lsps命令察看交換區的使用狀況,以及用vmstat監視系統記憶體頁交換的操作。
通常交換區的大小需要大於系統的實際記憶體,這主要取決於應用程式對記憶體的需求。使用者需要監視交換區的使用狀況,根據需要增加交換區的空間。對於執行Oracle Application或Oracle development tools可能需要較大的交換空間。
排定記憶體需求優先順序
如果系統的記憶體不足,就需要對程式對記憶體使用的優先順序進行排序,將記憶體優先分配給能獲得更好的系統總體效能的程式。通常的順序如下:
1. AIX和Oracle的核心程式
2. 應用程式程式
3. Oracle的Redo log buffer
4. PGA和共享池(shared pool)
5. Oracle的資料快取(block buffer cache)
例如:當你查詢Oracle的動態效能表時發現共享池(shared pool)和資料快取區(block buffer cache)都需要配置更多地記憶體,而你的系統中的空閒記憶體有限,那麼將空閒記憶體分配給共享池比分配給資料快取區有更好的效果。
資料塊(Database block)的大小
使用者可以選擇Oracle資料庫中資料塊的大小以獲得更好的效能,在AIX上透過設定DB_BLOCK_SIZE初始化引數,選擇從2KB到32KB的資料塊,預設值是4KB。如果資料檔案在檔案系統上,則Oracle資料塊的大小應為檔案系統資料塊4KB的整倍數。如果資料檔案在系統裸裝置上,則Oracle資料塊的大小應為系統資料塊512B的整倍數。
Oracle公司推薦,對於線上交易的應用(OLTP)或混合型的應用環境,採用2KB或4KB的資料塊。對於BI的應用或決策支援系統(DSS),採用更大的資料塊,如8KB,16KB或32KB。
調整日誌歸檔快取(Log Archive Buffers)
配置較大的快取可以提高資料庫日誌歸檔的速度,但注意不要對整個系統的效能產生影響。使用者可以將LOG_ARCHIVE_BUFFER_SIZE增加到128KB (其預設值為4KB),會提高0-20%的資料庫歸檔操作的效能。
調整SGA的大小
對於Oracle SGA來說,被系統的記憶體管理程式換出到交換區上,肯定是使用者最不願意見到的情況,這就需要系統配置有足夠的記憶體。對於大量使用者同時線上的應用,建議配置較大的SGA區。對於SGA影響最大的引數是DB_BLOCK_BUFFERS和SHARED_POOL_SIZE。增大這兩個引數,取決於使用者希望分配給SGA記憶體的大小,同時,增大這兩個引數也會造成CPU的利用率提高。
結論:
我們合理的記憶體配置,是Oracle資料庫效能調整的重要方面,其根本的目標是,首先儘量避免系統記憶體頁的交換操作,然後儘量將應用程式經常用到的資料快取在系統的SGA區中。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/786540/viewspace-1004402/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle - 資料庫的記憶體調整Oracle資料庫記憶體
- 在 Homestead 環境下為 PHP 新增 Oracle 資料庫擴充套件(OCI)PHPOracle資料庫套件
- oracle 9i資料庫做spaOracle資料庫
- 掌握Oracle資料庫效能調優方法Oracle資料庫
- MySQL資料庫環境如何調整磁碟IO排程演算法MySql資料庫演算法
- 【資料庫資料恢復】LINUX環境下ORACLE資料庫誤刪除的資料恢復資料庫資料恢復LinuxOracle
- python環境連結Oracle資料庫PythonOracle資料庫
- Win環境至Linux環境Oracle資料庫遷移全過程LinuxOracle資料庫
- Oracle 11.2.0.4 rac for aix acfs異常環境的克隆環境ASM磁碟組掛載緩慢OracleAIASM
- Mac環境下安裝MongoDB資料庫MacMongoDB資料庫
- 從Oracle資料庫故障到AIX記憶體管理Oracle資料庫AI記憶體
- 神通資料庫測試環境調優過程資料庫
- 【伺服器資料恢復】AIX環境下誤刪除邏輯卷的資料恢復方案伺服器資料恢復AI
- ORACLE---Aix7.1 安裝Oracle11.2.0.4版本資料庫OracleAI資料庫
- oracle資料庫跨平臺(AIX)從RAC恢復至(linux)下的單例項Oracle資料庫AILinux單例
- AIX 5.3/6.1環境下安裝Oracle 10gR2 RAC常見報錯AIOracle 10g
- Oracle Tuning (Oracle 效能調整)的一些總結(轉)Oracle
- 【伺服器資料恢復】AIX系統環境下LV被破壞如何恢復資料?伺服器資料恢復AI
- 華為GaussDB資料庫(單機版)在ARM環境下的安裝指南資料庫
- 在oracle 9i下線上重定義表Oracle
- oracle資料庫調優描述Oracle資料庫
- IBM /AIX 環境快速部署MySQLIBMAIMySql
- Oracle Tuning (Oracle 效能調整)的一些總結(轉)2Oracle
- 達夢資料庫DM8在LINUX環境下安裝步驟資料庫Linux
- 詳解基於DB2 z/OS環境下的資料庫調優技術CCDB2資料庫
- 細數基於ORACLE 資料庫環境的常見資料災難解決方式Oracle資料庫
- HBase資料庫效能調優OW資料庫
- SQLserver 2008 環境下AM8資料庫log清理SQLServer資料庫
- Oracle RAC 環境下的連線管理Oracle
- 達夢資料庫引數調整方法資料庫
- 【AIX】AIX7.1 C編譯環境部署指導說明AI編譯
- 如何最佳化大模型在Java環境下的效能表現大模型Java
- 刪除linux下的oracle資料庫LinuxOracle資料庫
- Linux環境下的Mysql資料庫入門-基於Centos系統LinuxMySql資料庫CentOS
- Haskell 在 macOS 下的環境搭建HaskellMac
- Oracle ADG環境下的RMAN備份策略Oracle
- 虛擬化環境下的效能測試
- 【BUILD_ORACLE】在Oracle cloud資料庫“插拔”PDB的方法UIOracleCloud資料庫
- 19c ADG環境中主庫PDB調整SGA_TARGET自動同步到備庫