DBA必備技能:RAC 如何安裝新主機識別老存儲恢復數據庫
瀏覽量: 次 發布日期:2023-10-11 19:28:10
DBA必備技能:RAC 如何安裝新主機識別老存儲恢復數據庫
編輯手記:在 DBA 的日常工作中,經常會遇到 RAC 的一個節點失效的情況,或者通過存儲遷移主機,如何恢復環境,加入集群是 DBA 的必備技能。
張大朋(Lunar)Oracle 資深技術專家
Lunar 擁有超過十年的 ORACLE SUPPORT 從業經驗,曾經服務于ORACLE ACS部門,現就職于 ORACLE Sales Consultant 部門,負責的產品主要是 Exadata,Golden Gate,Database 等。
在有些場景下,RAC環境中如果主機出現問題,比如硬件故障等,不能啟動,我們需要盡快從存儲上啟動數據庫,恢復業務,這樣就需要遷移以前的RAC環境到新的主機環境下。在時間中,恢復過程還是很快的,基本上就是安裝軟件的過程,如果真實場景恢復業務,有兩種方法:
1,按照我這里的方法重新安裝主機,恢復RAC和數據庫;2,如果之前有可用的操作系統的備份(比如NBU備份了OS),那么直接使用NBU還原即可;
這里測試的場景是:
重新安裝11204的GI(Grid Infrastructure)和ORACLE RDBMS軟件,然后識別老存儲;操作系統是OEL Linux 6.6, 數據庫版本是11.2.0.4,單節點RAC 。
首先,因為存儲使用的是11204的ASM,測試過程只安裝11204的GI(Grid Infrastructure)軟件,不用OUI配置GI。
執行root.sh: 。。。。
相應的checkpoint文件內容:
這里看到“DESC=”ROOTCRS_NODECONFIG” STATE=”SUCCESS””表示GI已經配置完成。
圖形界面點擊ok,繼續執行其余配置,配置完成后,再次檢查checkpoint文件:
這里看到,checkpoint文件的日期沒有變化,說明checkpoint文件是執行root.sh的時候才有用的,也就是這個過程是11.2中為了方便客戶,增加了root.sh的失敗后繼續配置二設計的,非常體貼的功能。在12.2中,該功能更加方便,他將會只管的告訴你當前配置的檢查點情況,如果有些步驟失敗后,oracle會自動清除老的配置,以便可以失敗安裝后不用重裝,而是糾正錯誤后繼續配置,類似“斷點續傳”那種意思。
繼續檢查老的asm磁盤組:
將上述磁盤組添加到ASM啟動磁盤組的列表中:
對新添加的磁盤組執行mount和
dismount后,這些磁盤組就會自動添加到ocr中:
檢查ASM磁盤組中的內容(比如包含哪些數據庫),因為ASM是采用OMF的,因此大部分情況下,通過磁盤組的目錄結構就可以看出來這個存儲中以前包含哪些數據庫和其他相關信息:
這里看到,該存儲中,包含了一個數據庫,crsdg中的信息已經被我刪除了,因此,沒有老的ocr和voting disk文件了
現在,已經確定只有datadg2上面有數據,因此可以重組磁盤組,以便合理利用空間(后續我要用這個vm做很多其他測試):
使用kfod查看:
確認當前的crs狀態都是正常的:
[root@lunar5 ~]# crsctl status res -t
——————————————————————————–
NAME TARGET STATE SERVER STATE_DETAILS
——————————————————————————–
Local Resources
——————————————————————————–
ora.DATADG1.dg ONLINE ONLINE lunar5
ora.DATADG2.dg ONLINE ONLINE lunar5
ora.DATADG3.dg ONLINE ONLINE lunar5
ora.LISTENER.lsnr ONLINE ONLINE lunar5
ora.TEMPDG.dg ONLINE ONLINE lunar5
ora.asm ONLINE ONLINE lunar5 Started
ora.gsd OFFLINE OFFLINE lunar5
ora.net1.network ONLINE ONLINE lunar5
ora.ons ONLINE ONLINE lunar5
——————————————————————————–
Cluster Resources
——————————————————————————–
ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE lunar5
ora.cvu 1 ONLINE ONLINE lunar5
ora.lunar5.vip 1 ONLINE ONLINE lunar5
ora.oc4j 1 ONLINE ONLINE lunar5
ora.scan1.vip 1 ONLINE ONLINE lunar5
至此老存儲的ASM磁盤組已經在新的主機上可以識別了。
假設原來的主機已經完全不能啟動了(比如硬件故障等),只能在存儲上的ASM中查找數據庫使用的參數文件:
這里看到,數據庫使用的參數文件是spfilelunar.ora,它是spfile.272.892409049的別名文件。我們在ASM中查看一下:
檢查數據庫的spfile的內容:
這里確定的,該文件+datadg2/lunar/spfilelunar.ora(也就是+DATADG2/LUNAR/PARAMETERFILE/spfile.272.892409049)就是我們需要使用的數據庫參數文件。
安裝Oracle 11.2.0.4數據庫軟件,然后執行root.sh,這個沒有特別的東西,略。
之后,我們需要修改ORACLE RDBMS的oracle二進制文件的權限,讓oracle 數據庫進程可以獲取ASM磁盤組。
注意,這里的/u01/app/oracle/product/11.2.0.4/dbhome_1/bin/oracle就是安裝ORACLE RDBMS的ORACLE_HOME。
然后,將數據庫添加到CRS中,啟動數據庫:
檢查數據庫在ocr中的配置:
啟動數據庫:
檢查crs的狀態:
至此,整個使用新主機識別老存儲的RAC(主要是識別ASM)就完成了。如果是文件系統的環境,比這個簡單很多,ASM的全部可以省略了。
加入"云和恩墨大講堂"微信群
搜索 蓋國強(Eygle)微信號:eyygle,或者掃描下面二維碼,備注:云和恩墨大講堂,即可入群。每周與千人共享免費技術分享,與講師在線討論。
近期文章
SQL 執行周期性一慢兩快
insert into 太慢的問題
監控索引的使用情況
RAC的全局死鎖問題
認識隱含參數_db_block_max_cr_dba
Linux環境下合理配置大內存頁
調整 I/O 相關的等待資源下載
關注本微信(OraNews)回復關鍵字獲取
2016DTCC, 2016數據庫大會PPT;
無錫數據恢復DBALife,"DBA的一天"精品海報大圖;
12cArch,“Oracle 12c體系結構”精品海報;
DBA01,《Oracle DBA手記》第一本下載;
YunHe,“云和恩墨大講堂”案例文檔下載;