Oracle Database更換伺服器後,該如何調教記憶體?

這應該是很多系統管理者會遇到的問題,Oracle Database Server用一段時間後,難免會遇到汰換新主機的狀況,隨著X86硬體快速發展,新購的主機記憶體很可能會遠比舊的主機還大,這時就會遇上新的主機該如何調教記憶體設定的問題,小編發現了一個Oracle原廠工具,可以輕鬆解決這個問題,分享給跟小編一樣困惑的人。

[範例情境]
01、作業系統為Oracle Linux 7.9
02、Oracle Database為11.2.0.4
03、舊的Server記憶體為1TB,新的Server記憶體為2TB
04、有自架的Oracle Linux YUM Server

[軟體介紹]
在Oracle Linux 5的環境可以透過「Oracle validated Configuration」來快速設定Oracle系統所需的環境設定。

而在Oracle Linux 6/7的時候,則要透過「oracle-rdbms-server-11gR2-preinstall」套件來快速設定系統環境,該套件會進行「安裝OracleDB所需系統套件」、「建立Oracle使用者及群組」、「修改/etc/sysctl.conf核心參數」、「在64位元設定numa=off」、「修改/etc/security/limits.conf參數」。

[官方說明]
How I Simplified Oracle Database 12c and 11g Installations on Oracle Linux 6
https://www.oracle.com/linux/technologies/ginnydbinstallonlinux/

[軟體下載]
小編發現Oracle Linux 7.2之後就沒有該套件了,因此要去Oracle官網7.2的yum主機下載套件。
oracle-rdbms-server-11gR2-preinstall:

https://public-yum.oracle.com/repo/OracleLinux/OL7/2/base/x86_64/getPackage/oracle-rdbms-server-11gR2-preinstall-1.0-4.el7.x86_64.rpm

[套件安裝]
yum install oracle-rdbms-server-11gR2-preinstall-1.0-4.el7.x86_64.rpm
備註說明:安裝完畢後系統就自動修改瞜

[查看修改紀錄]
cd /var/log/oracle-rdbms-server-11gR2-preinstall/results/
more orakernel.log

[系統檔案備份]
cd /var/log/oracle-rdbms-server-11gR2-preinstall/backup/
該目錄下會有一個修改系統的時間目錄,原始的檔案就備份在該目錄下

[補充說明]
(1)、透過該套件自動修改的值為Oracle Database環境所需的最小參數值,如相關參數不夠實際情境使用,則必須自行調整放大。
例如:透過該機制自動設定的fs.file-max為6815744,但小編遇到的案例卻需要設定大於8000000才夠用。

(2)、Oracle DB其他版本與OS的相關套件如下:
oracle-validated for Oracle Linux 5
oracle-rdbms-server-11gR2-preinstall => for 11gR2 on Oracle Linux 6 and above
oracle-rdbms-server-12cR1-preinstall => for 12cR1 on Oracle Linux 6 and above
oracle-database-server-12cR2-preinstall => for 12cR2 on Oracle Linux 7 and above
oracle-database-preinstall-18c-1.0-1.el7.x86_64 => for 18c on Oracle Linux 7 and above
oracle-database-preinstall-19c-1.0-2.el7.x86_64 => for 19c on Oracle Linux 7 and above
oracle-database-preinstall-19c-1.0-1.el8.x86_64 => for 19c on Oracle Linux 8 and above