最近做了兩次用dbf還原oracle資料庫,想在此留個腳印,希望可以幫到有需要的朋友。
由於之前伺服器硬碟突然壞了。硬碟上所有資料全部用花錢請人還原回來了,包括oracle的dbf、ctl檔案。
具體步驟如下:
1、安裝oracle 10g資料庫並建立乙個要恢復的資料庫相同一的例項;
2、以sysdba身份登入:對控制檔案進行備份;
sqlplus /nolog;
conn /as sysdba;
alter database backup controlfile to trace;
找到oracle的安裝目錄:..\oracle\product\10.2.0\admin\例項名\udump資料夾下,按修改時間降序,找到最近的trace檔案。備份好。
3、shutdown immediate停止資料庫例項;備份..\
oracle\product\10.2.0\oradata目錄下的該例項資料夾(例如:orcl),接著將該例項資料夾刪除,把需恢復的資料庫的oradata目錄下所有檔案拷到此目錄下。
4、以sysdba進入並執行startup nomount。把資料庫啟動到nomount狀態。
5、從第2步備份出來trace檔案中拷貝create controlfile部分語句來重建控制檔案:
此處應根據實際情況增刪表空間檔案記錄,如以下黑體部分則為新增記錄。
create controlfile set database ocp resetlogs
maxlogfiles 16
maxlogmembers 3
maxdatafiles 100
maxinstances 8
maxloghistory 292
logfile
group 1 'c:\oracle\product\10.2.0\oradata\ocp\red001.log'size 50m,
group 2 'c:\oracle\product\10.2.0\oradata\ocp\red002.log'size 50m,
group 3 'c:\oracle\product\10.2.0\oradata\ocpred003.log'size 50m
datafile
'd:\oradata\system01.dbf',--要恢復的資料所在的dbf檔案
'd:\oradata\undotbs01.dbf',--要恢復的資料所在的dbf檔案
'd:\oradata\sysaux01.dbf',--要恢復的資料所在的dbf檔案
'd:\oradata\users01.dbf',--要恢復的資料所在的dbf檔案
'd:\oradata\example01.dbf',--要恢復的資料所在的dbf檔案
'd:\oradata\hygeia01.dbf',--要恢復的資料所在的dbf檔案
'd:\oradata\hygeia02.dbf',--要恢復的資料所在的dbf檔案
'd:\oradata\hygeia03.dbf'--要恢復的資料所在的dbf檔案
character set zhs16gbk;
6、recover database;
7、alter database open;
恢復完成
Oracle控制檔案 10g
作用 二進位制檔案 記錄了資料庫當前例項的結構和行為,資料檔案日誌檔案的資訊,維護資料庫一致性 引數檔案中定義了控制檔案的位置和大小 很小的二進位制檔案,一般不超過100m mount階段open以後,一直在用 一套控制檔案只能連線乙個database 分散放置,至少乙份,至多八份 相關檢視 v c...
Oracle10g 移動檔案
資料庫檔案修改路徑過程 一 資料檔案 1.sql shutdwon immediate 2.作業系統下 mv dbf u02 oracle orclhb orclhb 3.sql startup mount 4.sql alter database rename file u02 oracle or...
oracle 第10章 控制檔案
2015 10 19 目錄 一 檢視控制檔案位置 二 檢視控制檔案內容 三 移動控制檔案 四 備份和恢復控制檔案 一 檢視控制檔案位置 二 檢視控制檔案內容 三 移動控制檔案 方法一 修改pfile init.ora 檔案移動控制檔案 rw r r 1 oracle oinstall 7.3k oc...