WINDOWS ORACLE 冷恢復

在論壇經常遇到說windows下重新安裝操作系統後,想使用之前ORACLE的數據文件的情況,如果操作系統不是異常DOWN機的話,使用冷回覆就可以直接回復回來,當然即使是異常DOWN機,也只能用冷恢復進行恢復,只是可能是做不完全恢復或者不能恢復,視情況而定了。下面討論以重新安裝操作系後的ORACLE冷恢復的實現步驟:

首先明確恢復的前提條件:冷備份需要在oracle 正常shutdown的情況下拷貝如下文件:1.數據文件;2.控制文件;3.日誌文件;4.參數文件(init數據庫實例名.ora文件或者SPFILE或者PFILE文件);5 口令文件;

完全冷恢復是以上所有文件都存在,直接複製後覆蓋到新ORACLE數據庫相應目錄下即可。但是如果丟失部分文件,則需要使用不完全冷恢復了。例如控制文件丟失,可以用TRACE後手動重新建立。口令文件通過ORAPWD重新建立等等......

特別注意一點,保護現場:即不要輕易對原來的庫文件進行操作,破壞了初始環境後,恢復起來就比較麻煩了。

1、保護現場:在原安裝目錄改文件夾改名,比如原文件名叫oracle,改成oracle_bak。


2、安裝數據庫:
重新安裝同版本的ORACLE數據庫,因爲原來使用的是10.2.0.1版本的數據庫,恢復的話記得一定也要使用10.2.0.1的數據庫,重新裝的只有軟件,不要裝數據庫。安裝路徑最好安裝在和原來數據庫同樣的%ORACLE_HOME%下,否則還要修改參數立的數據文件,控制文件路徑信息等。


3、創建實例:註冊服務,使用命令:ORADIM -new -sid  實例名     

注意,這個SID名稱最好與你以前的SID一樣,否則在啓動的數據需要指明pfile,並且需要重建密碼文件,比較麻煩。(當然,如果你就不想用原來的SID也可以,把參數文件、密碼文件的名稱都改成與新SID對應的名稱)。


4、複製數據庫文件:冷恢復的restore,即把原來數據庫文件複製到新的安裝目錄裏。複製的主要文件有:1.數據文件;2.控制文件;3.日誌文件;4.參數文件(init數據庫實例名.ora文件或者SPFILE或者PFILE文件);5 口令文件等


5、啓動數據庫服務:用net start 檢查oracle服務是否已經啓動,如果oracle服務沒有啓動,則在cmd下運行如下命令:
net start oracleservic<ORACLESID>

6、啓動數據庫實例:註冊成功之後,先設置環境變量ORACLE_SID,然後登陸實例,實例是沒有啓動的狀態,嘗試使用startup去啓動數據庫,不報錯表示恢復成功,如果報錯,根據報錯信息進行相應處理:

設定環境變量,在cmd窗口運行:
set ORACLE_SID=<ORACLESID>

啓動數據庫實例:
sqlplus "/as sysdba"
startup


7、啓動監聽:如果監聽已經存在,則配置監聽,否則用netca創建監聽即可

lsnrctl start

注意,這裏創建監聽一定要在後續步驟做,如果在啓動數據庫實例之前操作,那麼數據庫啓動的時候,會報錯ORA-


8、環境變量配置:上幾步後基本上完成了ORACLE的冷恢復,但是使用起來有點不方便,如每次在cmd中啓動數據庫都需要先SET ORACLE_SID、在本機連接數據庫也都需要加上@TNSNAME等。

通過修改註冊表,添加ORACLE_SID的信息,解決該問題。在註冊表的HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE下新建字符串值,名稱爲ORACLE_SID,值爲<oraclesid>。

也可以將以下內容保持成一個後綴名爲reg的文件(文件名隨便起),然後雙擊,即可將信息導入到註冊表中。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREORACLE]
"ORACLE_SID"="xmlgis"

注意:以上步驟都是在%ORACLE_HOME%、%ORACLE_SID%都與原庫一樣的情況下進行的,雖如果%ORACLE_HOME%和%ORACLE_SID%可以與原庫不一樣,需要修改參數路徑。

發佈了115 篇原創文章 · 獲贊 21 · 訪問量 67萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章