作業系統重灌後Oracle資料庫的恢復
上週五作業系統異常,關機後無法再啟動,求助於公司硬體技術人員得不到解決,於是只好換機器。由於原來硬碟上仍有大量資料,因此以行動硬碟的方式從原始硬碟中複製出了資料。
最麻煩的是Oracle的資料檔案,只是複製檔案還沒用,還需要恢復。但是我只是有個初步的概念,沒有實際的操作經驗,看到了一堆資料檔案卻不知道如何處理。
不過總是要試試看的嘛,所以我大概搜尋了下此類方法。
首先,安裝資料庫軟體肯定是必須的;
然後,就是如何將資料庫與資料檔案關聯起來了。我們知道,現在的資料檔案和資料庫軟體是毫無關係的,根本無從啟動。那如何繫結這個關係呢?
按照網上的說法,就是用一個新的例項來掛載這些資料庫檔案。那如何建立例項呢?例項,我們知道,有個例項名,所以我們先設定例項名:
set ORACLE_SID=orcl(windows環境,unix環境則用export ORACLE_SID=orcl)
然後就是建立例項:
oradim -new -sid orcl -startmode m
(刪除例項:oradim -delete -sid orcl)
這裡是關鍵,有些地方指定了啟動的pfile,即:
oradim -new -sid orcl startmode m pfile=E:\oracle\product\10.2.0\admin\orcl\pfile\initorcl.ora
需要注意的是,oradim是oracle在windows下開發的一個特有的命令,用於向系統註冊啟動服務,它在unix/linux下是不存在的,因為此類系統下,無需註冊啟動的服務。因此要建立例項,直接透過sqlplus建立例項即可(未經驗證)。
但是實際操作中發現,在這個步驟指定這個檔案後,如果在sqlplus啟動中不重新指定(startup nomount),始終都會報“ora-01263”錯誤。一開始以為是引數檔案中指定的dump路徑有問題,但每個都檢查了一遍都正常,甚至只剩下db_name引數時也還是報這個錯誤,所以我分析應該不是這個引數檔案導致的,所以在startup的時候,重新指定了pfile檔案:
但是實際操作中發現,在這個步驟指定這個檔案後,如果在sqlplus啟動中不重新指定(startup nomount),始終都會報“ora-01263”錯誤。一開始以為是引數檔案中指定的dump路徑有問題,但每個都檢查了一遍都正常,甚至只剩下db_name引數時也還是報這個錯誤,所以我分析應該不是這個引數檔案導致的,所以在startup的時候,重新指定了pfile檔案:
startup nomount pfile=E:\oracle\product\10.2.0\admin\orcl\pfile\initorcl.ora
便能正常啟動了。一般情況下,只要引數檔案中配置的路徑跟實際資料檔案的路徑一致,且資料檔案都正常,資料庫便能正常掛載和啟動了。注意,該引數檔案也是從原來的地方拷出來的。
總結一下:
在恢復資料庫之前,首先要具備以下幾個條件:
1、pfile或spfile。這個是啟動的關鍵,必須讓oradim知道是那個引數檔案才能啟動,可以透過create pfile from spfile或者create spfile from pfile來備份;
2、tnsnames.ora。這個是歷史配置的連線名,在恢復之前最好是備份此檔案。不然的話,下次連線資料庫的時候又得一個個重新配置這些連線名了。
3、所有控制檔案、資料檔案、日誌檔案等。
在恢復資料庫之前,首先要具備以下幾個條件:
1、pfile或spfile。這個是啟動的關鍵,必須讓oradim知道是那個引數檔案才能啟動,可以透過create pfile from spfile或者create spfile from pfile來備份;
2、tnsnames.ora。這個是歷史配置的連線名,在恢復之前最好是備份此檔案。不然的話,下次連線資料庫的時候又得一個個重新配置這些連線名了。
3、所有控制檔案、資料檔案、日誌檔案等。
如何根據資料檔案恢復資料庫。
1、安裝Oracle軟體;
2、複製資料檔案到引數檔案中指定的路徑下;
3、增加例項:oradim -new -sid orcl -syspwd passwd -pfile '...';
4、指定pfile引數檔案,啟動例項到nomount狀態;
5、如果啟動正常,則建立spfile:create spfile from pfile=....;
6、重啟動資料庫,以spfile(預設方式)啟動;
7、恢復完成。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12932950/viewspace-676264/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 談談WINDOWS下重灌系統後oracle的恢復WindowsOracle
- 【資料庫資料恢復】HP-UX系統ORACLE資料庫被誤刪除的資料恢復資料庫資料恢復UXOracle
- 【伺服器資料恢復】Linux伺服器癱瘓後重灌系統資料丟失的資料恢復案例伺服器資料恢復Linux
- 【資料庫資料恢復】如何恢復Oracle資料庫truncate表的資料資料庫資料恢復Oracle
- 【伺服器資料恢復】VMware虛擬化重灌系統的資料恢復案例伺服器資料恢復
- 【資料庫資料恢復】Oracle資料庫誤truncate table的資料恢復案例資料庫資料恢復Oracle
- 【資料庫資料恢復】誤truncate table的Oracle資料庫資料恢復方案資料庫資料恢復Oracle
- 【資料庫資料恢復】linux系統下MYSQL資料庫資料恢復案例資料庫資料恢復LinuxMySql
- 電腦重灌系統後被格式化了怎麼恢復之前的資料?
- 伺服器資料恢復-ext3檔案系統下oracle資料庫資料恢復案例伺服器資料恢復Oracle資料庫
- 【資料庫資料恢復】ASM磁碟組掉線的Oracle資料庫資料恢復案例資料庫資料恢復ASMOracle
- 【資料庫資料恢復】oracle資料庫誤truncate table怎麼恢復資料?資料庫資料恢復Oracle
- 【北亞資料恢復】伺服器重灌系統後分割槽消失和分割槽不可訪問的資料恢復案例資料恢復伺服器
- 伺服器資料恢復—重灌系統導致XFS檔案系統分割槽丟失的資料恢復案例伺服器資料恢復
- Oracle資料庫恢復之resetlogsOracle資料庫
- 伺服器資料恢復-斷電導致linux作業系統資料丟失的資料恢復案例伺服器資料恢復Linux作業系統
- 【資料庫資料恢復】ASM例項不能掛載的Oracle資料庫資料恢復案例資料庫資料恢復ASMOracle
- 【資料庫資料恢復】LINUX環境下ORACLE資料庫誤刪除的資料恢復資料庫資料恢復LinuxOracle
- 【資料庫資料恢復】Oracle資料庫ASM磁碟組掉線如何恢復資料?資料庫資料恢復OracleASM
- 【資料庫資料恢復】LINUX EXT3檔案系統下ORACLE資料庫誤操作導致資料丟失的資料恢復案例資料庫資料恢復LinuxOracle
- 重灌系統導致分割槽丟失的資料恢復案例資料恢復
- 【伺服器資料恢復】重灌系統導致XFS檔案系統分割槽無法訪問的資料恢復伺服器資料恢復
- 【資料庫資料恢復】斷電導致Oracle資料庫資料丟失的資料恢復案例資料庫資料恢復Oracle
- 【資料庫資料恢復】EXT3檔案系統下MYSQL資料庫恢復案例資料庫資料恢復MySql
- 【oracle資料庫資料恢復】誤操作導致的資料庫誤刪除的資料恢復案例Oracle資料庫資料恢復
- 記一次 oracle 資料庫在當機後的恢復Oracle資料庫
- Oracle資料庫適配哪些國產作業系統?Oracle資料庫作業系統
- 【北亞資料恢復】異常斷電導致Oracle資料庫報錯的oracle資料恢復資料恢復Oracle資料庫
- Oracle資料庫冷備和恢復Oracle資料庫
- Oracle & MySQL & PostgreSQL資料庫恢復支援OracleMySql資料庫
- 【伺服器資料恢復】重灌系統導致伺服器分割槽改變的資料恢復案例伺服器資料恢復
- 重灌win10系統後怎麼建立恢復光碟Win10
- 【資料庫資料恢復】Oracle資料庫檔案出現壞塊報錯的資料恢復案例資料庫資料恢復Oracle
- 資料庫資料恢復-oracle資料庫報錯無法開啟的如何恢復資料?資料庫資料恢復Oracle
- 【資料庫資料恢復】Oracle ASM例項無法掛載的資料恢復案例資料庫資料恢復OracleASM
- 資料庫資料恢復-ORACLE資料庫的常見故障&各種故障下的資料恢復可能性資料庫資料恢復Oracle
- Mongodb資料庫誤刪後的恢復MongoDB資料庫
- 伺服器資料恢復—VMware下誤重灌系統導致伺服器崩潰的資料恢復案例伺服器資料恢復
- vivo 資料庫備份恢復系統演化資料庫