重建控制檔案

2021-08-25 15:26:00 字數 2314 閱讀 4455

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個,在系統需要擴表空間而資料檔案個數不夠時就需要進行調整。一種方法是將所有資料全倒出來,重建庫,再將資...