概述
最近工作需要,需對AIX系統上的Oracle RAC數據庫做擴容,計劃擴容200G,下面是環境說明:
1、擴容前準備
1.1. 提供設備清單
將設備的大小和個數給系統和存儲工程師,要求在節點上增加新的磁盤,其中 RAC 需要共享磁盤。
1.2. 對數據庫進行備份
rman target / backup full database;
1.3. 檢查備份及可恢復性
rman target / list backup summary; --概述可用的備份
說明:B表示backup,F表示FULL,A表示archive log,0 1表示incremental backup,S說明備份狀態(A AVAILABLE X EXPIRED )
1.4. 備份ASM磁盤頭(grid用戶)
當前系統所有 asm 已使用的 pv 磁盤頭均需進行備份
kfed read /dev/rhdisk1 >/home/grid/rhdisk1bak.txt kfed read /dev/rhdisk4 >/home/grid/rhdisk4bak.txt kfed read /dev/rhdisk6 >/home/grid/rhdisk6bak.txt kfed read /dev/rhdisk8 >/home/grid/rhdisk8bak.txt kfed read /dev/rhdisk10 >/home/grid/rhdisk10bak.txt kfed read /dev/rhdisk11 >/home/grid/rhdisk11bak.txt
2、新設備調整(兩個節點都需要執行)
2.1 主機掃描新劃的磁盤
cfgmgr --確認新盤 lspv
2.2. 權限調整(root)
# chmod 660 /dev/rhdisk12 # chown grid:dba /dev/rhdisk12 # ls -l /dev/rhdisk*
節點 2 也需要調整確認
2.3. 確認沒有PVID(root)
# lspv |grep hdisk --都是NONE就對了
說明:PVID 全稱 physical volume identifier,它非常重要,相當于軟序列號,當把一個磁盤變成 PV 時, 就生成了 PVID , PVID 是由機器序列號 (uname -m的前
8位 ) 和它生成的時間組成,這種機制保證了 PVID 的唯一性。當系統啟動時,磁盤配置程序會尋找磁 盤上的 PVID ,并把它跟 ODM 庫中的 PVID 信息進行比對,如果在 ODM 中找到匹配的條目,則把和這個 PVID 相對應的 hdisk 號賦予這個 PV ,如果沒有匹配 的條目,則賦予這個 PVID 新的 hdisk 號。
--如果存在 pvid ,需要清空(一定要慎重執行) /usr/sbin/chdev -l hdisk<X> -a pv=clear
2.4. 調整RESERVE_POLICY(兩個節點執行)
如果是為 RAC 數據庫添加新磁盤,還需要調整新磁盤的 reserve_policy 應為 no_reserve 或者 reserve_lock 應為no
# lsattr -El hdisk12 | grep -E "reserve_policy|reserve_lock" # chdev -l hdisk12 -a reserve_policy=no_reserve # lsattr -El hdisk12 | grep -E "reserve_policy|reserve_lock"
3、 擴容
3.1. 擴容前ASM檢查
$sqlplus / as sysasm set linesize 1000 pagesize 1000 col state for a20 col path for a50 col name for a3 select path,name,state from v$asm_disk where path like '/dev/rhdisk%' order by 1; select NAME,STATE,TYPE,TOTAL_MB,FREE_MB from v$asm_diskgroup;
3.2. 加入新磁盤到磁盤組
sqlplus / as sysasm alter diskgroup DATA add disk '/dev/rhdisk12' rebalance power 8; --其中 power n 區間[0,11],n 越大 REBAL 越快,IO 壓力也就越大。 --如果磁盤組是 NOMAL 冗余需要指定 FAILGROUP,如: --alter diskgroup dgname add failgroup fgname1 disk '/dev/rhdiskpower453’ add failgroup fgname2 disk '/dev/rhdiskpower454' [ rebalance power n] ;
3.3、監控REBAL進度
sqlplus / as sysasm SQL> set linesize 1000 --無記錄表示 REBAL 完成 SQL> select * from gv$asm_operation;
3.4、監控告警日志
tail -200f alert_otmdb1.log
4、擴容后檢查
4.1. 擴容后ASM檢查
SQL> select NAME,STATE,TYPE,TOTAL_MB,FREE_MB from v$asm_diskgroup; SQL> select path,name,state from v$asm_disk where path like '/dev/rhdisk%' order by 1;
4.2. 備份新增加的設備
kfed read /dev/rhdisk12 >/home/grid/rhdisk12bak.txt
4.3、檢查監聽