一次RAC下的的SGA修改操作
在生產環境的EM檢查ADDM,最近總會看到增加SGA大小的建議,當前SGA是4G決定根據建議提高到5G
環境:
雙節點RAC環境,節點1 wtdb1 節點2 wtdb2
資料庫 zjcsc 例項1 zjcsc1 例項2 zjcsc2
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
CRS 10.2.0.4.0
32G記憶體
注意:
在RAC環境下修改 SGA一定是要指定例項逐個修改;
sga_max_size是允許分配的最大的SGA大小,本次設定為8G,以為是靜態引數所以要修改spfile並重啟例項;
sga_target是當前要分配的SGA大小根據ADDM的建議到5G,這是個動態引數可以動態修改。
一、修改作業系統核心引數
A、節點2
[root@wtdb2 ~]# vi /etc/sysctl.conf
kernel.shmall = 4194304 即支援最大16G共享記憶體段可用,我們這次要設定最大SGA為8G,所以要修改這個引數。
[root@wtdb2 ~]# sysctl -p
生效修改
B、節點1
[root@wtdb1 ~]# vi /etc/sysctl.conf
kernel.shmall = 4194304 即支援最大16G共享記憶體段可用,我們這次要設定最大SGA為8G,所以要修改這個引數。
[root@wtdb1 ~]# sysctl -p
生效修改
關於shmall的一點補充:
kernel.shmall
該引數控制系統一次可以使用的共享記憶體總量(以頁為單位,一頁4k=4098),這個值的設定需要根據kernel.shmmax 大小來確定
kernel.shmall = 2097152 就是 2097152*4098= 8G 即最大一次可用8G的記憶體(這個在調整SGA時需要注意,SGA大小設定不可超過該值)
該值預設 2097152 但根據系統記憶體大小和使用的不同可以參考如下:
設定的一般規律
kernel.shmall = 2097152 ---記憶體8G
kernel.shmall = 4194304 ---記憶體16G
kernel.shmall = 8388608 ---記憶體32G
二、修改SGA
A、修改例項2的SGA
檢查例項
[oracle@wtdb2 ~]$ srvctl status database -d zjcsc
Instance zjcsc1 is running on node wtdb1
Instance zjcsc2 is running on node wtdb2
確定各個例項均執行正常
開始關閉例項2
[oracle@wtdb2 ~]$ srvctl stop instance -d zjcsc -i zjcsc2
檢查例項
[oracle@wtdb2 ~]$srvctl status database -d zjcsc
Instance zjcsc1 is running on node wtdb1
Instance zjcsc2 is not running on node wtdb2
確定例項2已關閉
確定一個資料庫例項時候業務正常
db2上啟動資料庫到mount狀態
[oracle@wtdb2 ~]srvctl start instance -d zjcsc -i zjcsc2 -o mount
修改例項2的sga_max_size到8G
修改db2的sga_target到5G
[oracle@wtdb2 ~]$ sqlplus / as sysdba
ALTER SYSTEM SET sga_max_size = 8589934592 COMMENT='internally adjusted' SCOPE=SPFILE SID='zjcsc2'
System altered.
ALTER SYSTEM SET sga_target = 5368709120 SCOPE=SPFILE SID='zjcsc2'
System altered.
關閉例項2
srvctl stop instance -d zjcsc -i zjcsc1
啟動例項2
srvctl start instance -d zjcsc -i zjcsc2 open
檢視例項2的SGA資訊
[oracle@wtdb2 ~]$ sqlplus / as sysdba
SQL> show parameter sga;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 8G
sga_target big integer 5G
SGA修改成功
B、修改例項1的SGA
關閉例項1
[oracle@wtdb1 ~]$ srvctl stop instance -d zjcsc -i zjcsc1
檢查例項狀態
[oracle@wtdb1 ~]$ srvctl status database -d zjcsc
Instance zjcsc1 is not running on node wtdb1
Instance zjcsc2 is running on node wtdb2
確定例項1已經關閉
db1上啟動資料庫到mount狀態
srvctl start instance -d zjcsc -i zjcsc1 -o mount
修改例項1的sga_max_size到8G
修改db2的sga_target到5G
[oracle@wtdb2 ~]$ sqlplus / as sysdba
ALTER SYSTEM SET sga_max_size = 8589934592 COMMENT='internally adjusted' SCOPE=SPFILE SID='zjcsc1'
System altered.
ALTER SYSTEM SET sga_target = 5368709120 SCOPE=SPFILE SID='zjcsc1'
System altered.
關閉例項1
srvctl stop instance -d zjcsc -i zjcsc1
啟動例項1
srvctl start instance -d zjcsc -i zjcsc1 -o open
檢視例項1的SGA資訊
[oracle@wtdb1 ~]$ sqlplus / as sysdba
SQL> show parameter sga;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 8G
sga_target big integer 5G
SGA修改成功
檢查資料庫狀態
[oracle@wtdb1 ~]$ srvctl status database -d zjcsc
Instance zjcsc1 is running on node wtdb1
Instance zjcsc2 is running on node wtdb2
ok 全部正常
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20575781/viewspace-708386/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一次RAC下的的SGA修改操作(轉)
- RAC修改IP操作
- Oracle Rac 修改SGA_TARGET值無變化Oracle
- rac下修改ip
- 設定SGA的原則以及修改它的大小
- 修改資料庫的ORACLE的SGA和PGA的值資料庫Oracle
- 【SGA】RAC DB SGA超過100g的最佳實踐和建議
- ORACLE RAC 環境下修改IPOracle
- 基於RedHat的RAC環境下修改ip及vipRedhat
- oracle 92 修改sga過程Oracle
- oracle rac 修改 miscount的方法 。Oracle
- ORACLE RAC SGA引數調整Oracle
- RAC 環境下修改歸檔模式模式
- oracle10g 修改 sga pgaOracle
- 變更oracle 11.2.0.3 rac sga自動管理為sga手工管理Oracle
- Linux下修改系統編碼的操作記錄Linux
- ordebug 手動修改Oracle sga scnOracle
- Oracle10g修改SGA_TARGETOracle
- 修改sga_target引起的ora-27100 bug嗎
- Solaris下修改RAC環境節點IP地址
- RAC 11G ASM下修改spfile檔案ASM
- Oracle在各類操作上LOCK_SGA的設定Oracle
- 如何修改rac的系統時間
- 9i增大SGA操作
- 修改RAC 地址
- 一次nfs的操作故障NFS
- 變更oracle 11.2.0.3 rac sga手工管理為sga及pga全自動管理Oracle
- 一次Oracle診斷案例-SGA與SwapOracle
- show sga和show parameter sga的區別
- Oracle RAC修改Scan IP,Public IP的方法Oracle
- oracle rac修改ip的處理辦法Oracle
- RAC修改IP地址
- RAC如何修改VIP
- 記錄一次誤刪操作,分享使用 Git 撤銷修改Git
- oracle 11g rac 修改VIP、scan VIP、priv IP操作文件Oracle
- Sga的結構
- 【RAC】Oracle RAC如何修改心跳網路Oracle
- 9i 下sga_max_size 和SGA中各記憶體分配項的關係記憶體