1、在庫完好的時候先備份一下controlfile以備不時之需
sql>alter database backup controlfile to trace;
sql>exit;
$cd $oracle_base/admin/$oracle_sid/udump
$ls -ltrh | tail -1
-rw-r----- 1oracleoinstall 8.4k nov 26 18:49 wending_ora_10819.trc
找最新的那個trace檔案,裡頭即有重建controlfile的語句。
這裡先記著,看一下sql就知道咋回事了。注意:rman的設定將回到預設值。
1、重建controlfile
注意:如果日誌檔案也壞了,那麼把下面語句中的noresetlogs換成resetlogs。
sql>startup nomount
sql>create controlfile reuse database "wending"noresetlogsforce logging archivelog
maxlogfiles 16
maxlogmembers 5
maxdatafiles 100
maxinstances 8
maxloghistory 292
logfile
group 1 (
'/orahome/oradata/wending/redo011.log',
'/u01/oradata/wending/redo012.log'
) size 100m,
group 2 (
'/orahome/oradata/wending/redo021.log',
'/u01/oradata/wending/redo022.log'
) size 100m,
group 3 (
'/orahome/oradata/wending/redo031.log',
'/u01/oradata/wending/redo032.log'
) size 100m,
group 4 (
'/orahome/oradata/wending/redo041.log',
'/u01/oradata/wending/redo042.log'
) size 100m,
group 5 (
'/orahome/oradata/wending/redo051.log',
'/u01/oradata/wending/redo052.log'
) size 100m,
group 6 (
'/orahome/oradata/wending/redo061.log',
'/u01/oradata/wending/redo062.log'
) size 100m
-- standby logfile
datafile
'/orahome/oradata/wending/system01.dbf',
'/orahome/oradata/wending/undotbs01.dbf',
'/orahome/oradata/wending/sysaux01.dbf',
'/orahome/oradata/wending/users01.dbf',
'/u01/oradata/wending/wending_user01.dbf',
'/u01/oradata/wending/wending_log01.dbf',
'/u01/oradata/wending/wending_index01.dbf'
character set zhs16gbk;
2、開啟資料庫,兩種情況
2.1、redologs都完好,那麼noresetlogs方式開啟資料庫
sql>recover database
sql>alter system archive log all;
sql>alter database open;
2.2、redologs也損壞了,那麼resetlogs方式開啟資料庫
sql>recover database using backup controlfile
sql>alter database open resetlogs;
3、最後重建臨時表空間
sql>alter tablespace temp add tempfile '/orahome/oradata/wending/temp01.dbf'
size 1024m reuse autoextend on next 10485760 maxsize 32767m;
重建控制檔案原理
非正常關機後 noresetlogs重建控制檔案 控制檔案中scn來自 最後一次將日誌寫入磁碟的scn sql select checkpoint change from v datafile checkpoint change 928548 928548 928548 928548 sql sel...
ORACLE控制檔案的重建
資料庫系統執行一段時間後有很多引數需要調整,有些引數可在 oracle home dbs init ora檔案中調整,而有些引數必須要在 oracle的 控制檔案中調整。如 oracle的預設資料檔案個數為30個,在系統需要擴表空間而資料檔案個數不夠時就需要進行調整。一種方法是將所有資料全倒出來,重...
ORACLE控制檔案的重建
系統執行一段時間後有很多引數需要調整,有些引數可在 oracle home dbs init ora檔案中調整,而有些引數必須要在oracle的控制檔案中調整。如oracle的預設資料檔案個數為30個,在系統需要擴表空間而資料檔案個數不夠時就需要進行調整。一種方法是將所有資料全倒出來,重建庫,再將資...