ASM單點故障
經常由用戶詢問如何避免ASM單點故障的最佳實踐。與其他文件系統或卷管理器一樣
ASM實例失效會導致運行在上面的RDBMS實例不可用。然而OS 文件系統或卷管理器失效
一般會伴隨操作系統崩潰,而asm重啟不需要重啟服務器。
解決ASM單點故障的最好的辦法是把ASM運行在RAC環境通過集群實現高可用。ASM可以
繼續運行在其他節點如果一個節點重啟或rdbms重啟。ASM失效是軟崩潰恢復速度要比傳統
的文件系統或卷管理器要快。
ASM安裝
如果服務器或者一個節點上一個ASM實例只管理一個RDBMS,建議ASM和RDBMS共用一個
ORACLE_HOME就足夠了。然而,對於一個ASM管理幾個RDBMS實例的存儲時建議ASM安裝
在獨立的ORACLE_HOME(ASM_HOME)裡。
譯者注:從ORACLE的發展來看即使是ASM只對應一套RDBMS也建議ORACLE_HOME分開,
11g把ASM獨立到gi中,所以建議還是分開的好,維護方便,我們生產環境中我就是獨立開
存放的10205 ASM上跑10204 RDBMS。這樣就可以使用kfed的repair功能了。
注意:在RAC環境中,如果執行添加節點操作同時實施了獨立ASM_HOME,addnode操作同
樣需要在ASM_HOME上運行。
從 Oracle Database 10gRelease 2開始,Oracle Universal Installer(OUI-DBCA)和DBCA已經
被增強,可以在獨立的ORACLE_HOME中創建創建ASM實例OUI-DBCA可以安裝配置如下功能:
1.可以配置數據庫使用ASM管理存儲
2.可以之創建ASM實例,不創建數據庫
3.ASM所在主機上已經運行了數據庫,DBA可以使用EM遷移工具把數據庫前移到ASM上
初始化ASM實例 ORACLE 10G
啟動$ORACLE_HOME/bin/dbca可以配置ASM實例。
譯者注:配置ASM實例過程簡單這裡不詳細說明了。見原書P50
升級ASM軟件
ASM實例從10.x升級至11.x
升級可以使用兩種方法即手動升級和DBUA升級。不管使用哪種方法升級11g的ORACLE_HOME
都要創建。注意升級只是簡單的軟件升級,磁盤組升級需要使用所有11g的特性,磁盤組升級可以隨
後處理。
手工升級
1.使用ASM ORACLE_HOME目錄更新oratab
2.復制init.ora並作出適當的修改,像diag和dump的位置。在RAC環境中需要修改集群中ASM HOME配置,可以使用srvctl命令來完成:
srvctl modify asm -n racnode1 -i +ASM1 -o \ /opt/oracle/app/product/11.1/asm -p init+ASM1.ora
需要在所有參與asm的集群節點上執行這條命令。
3.實例啟動以後,為SYSUSER賦予SYSASM權限
4.對於WINDOWS系統需要使用ORADIM重建Windows服務。
譯者注:如上步驟是ASM升級到11g的步驟,10g升級其實非常簡單了,升級軟件後就可以了。
DBUA升級
ASM升級到11g可以使用DBUA,DBUA執行下面的步驟:
1.在新的ASM_HOME中復制密碼文件並重建init.ora/spfile
2.Unix/Linux上修改oratab或windows上使用ORADIM重建服務
3.為SYSUSER賦予SYSASM權限
從11gORACLE_HOME中啟動DBUA。
注意:如果安裝ASM是分離了ORACLE_HOME(ASM_HOME),需要到ASM_HOME/bin/下啟動DBUA,而不是
數據庫的ORACLE_HOME
譯者注:dbua升級圖形步驟參考P56
Patching ASM
10g asm不支持'rolling update','rolling upgrade patchs特性只支持ORACLE集群件和dataguard段。
在ORACLE DATABASE 10g中,如果要安裝補丁集或 “nonrolling upgrade safe” patches,所有集群中
的ASM實例都必須停下來,另外,如果你使用分離的ASM_HOME,ASM應該相應的進行打補丁與RDBMS
HOME一樣。這個也一樣包括CPUs( critical patch updates)。從11g開始支持asm滾動升級,這節就描述
如何進行ASM滾定升級。