重建控制檔案的恢復(noresetlogs)
一、
create table test (a int);
insert into test values(1);
insert into test values(2);
insert into test values(3);
commit;
select * from test1;
A
1 2
2 3
3 1
二、
alter database backup controlfile to trace;
udump 目錄下,最後一個檔案裡面
三、關閉資料庫、刪除控制檔案
四、建立控制檔案
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "WY" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'D:ORACLEPRODUCT10.2.0ORADATAWYREDO01.LOG' SIZE 50M,
GROUP 2 'D:ORACLEPRODUCT10.2.0ORADATAWYREDO02.LOG' SIZE 50M,
GROUP 3 'D:ORACLEPRODUCT10.2.0ORADATAWYREDO03.LOG' SIZE 50M
-- STANDBY LOGFILE
DATAFILE
'D:ORACLEPRODUCT10.2.0ORADATAWYSYSTEM01.DBF',
'D:ORACLEPRODUCT10.2.0ORADATAWYUNDOTBS01.DBF',
'D:ORACLEPRODUCT10.2.0ORADATAWYSYSAUX01.DBF',
'D:ORACLEPRODUCT10.2.0ORADATAWYUSERS01.DBF',
'D:ORACLEPRODUCT10.2.0ORADATAWYXYGDATA.DBF'
CHARACTER SET ZHS16GBK
五、
SQL> alter database open;
資料庫已更改。
SQL>
六、檢查
select * from test1;
A
1 2
2 3
3 1
七、
select checkpoint_change# from v$database
select name,checkpoint_change# from v$datafile
select name,checkpoint_change# from v$datafile_header
查詢都是一樣的
八、
但是 rman的備份資訊都丟失了。
list backup為空
(確實這個試驗和rman沒有關係,不用 rman備份也行 )
九、
ORA-25153: Temporary Tablespace is Empty
select name from v$tempfile;
ALTER TABLESPACE TEMP ADD TEMPFILE 'D:ORACLEPRODUCT10.2.0ORADATAtemp.dbf' SIZE 200M REUSE ;
十、
在create controlfiles時有用noresetlogs和resetlogs,區別:
是否重新生成日誌序列,重置聯機重做日誌
結論:
1. 用Noresetlogs重建控制檔案時,控制檔案中的各資料檔案的Checkpoint來自Online logs中的Current log頭。(可以用Alter session set events ‘immediate trace name redohdr level 3’;來驗證)
2. 用Resetlogs重建控制檔案時,控制檔案中的各資料檔案的Checkpoint來自各資料檔案頭。
其實這也比較好理解,不Resetlogs的話,當前Online log中肯定是含有最新的Checkpoint,一旦Resetlogs,說明當前Online log 不可用,也就只好從各資料檔案頭來讀取相應的Checkpoint了
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8119050/viewspace-1007349/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用NORESETLOGS重建控制檔案恢復資料庫資料庫
- 控制檔案丟失恢復例項(3) - 使用重建控制檔案方式(noresetlogs)
- 所有控制檔案損壞的恢復--noresetlogs方式
- sql 重建控制檔案resetlogs和noresetlogsSQL
- 備份與恢復--重建控制檔案
- 控制檔案重建後的不完全恢復
- 重建控制檔案的案例(RESETLOGS模式和NORESETLOGS模式)模式
- 備份與恢復--重建控制檔案後資料檔案損壞的恢復
- Controlfile 重建控制檔案 noresetlogs, resetlogs..
- 重建控制檔案時resetlogs與noresetlogs的使用情況
- 使用RESETLOGS重建控制檔案恢復資料庫資料庫
- 使用RESETLOGS重建控制檔案恢復資料庫(二)資料庫
- 恢復之重建資料檔案
- 控制檔案恢復—從trace檔案中恢復
- rman恢復--丟失控制檔案的恢復
- RMAN恢復控制檔案
- 手工恢復控制檔案
- 【備份恢復】利用 備份控制檔案到指定目錄下的控制檔案 恢復控制檔案
- 控制檔案恢復—從快照中恢復
- 恢復丟失的控制檔案
- 控制檔案的恢復方法(一)
- 控制檔案的恢復方法(二)
- 控制檔案的恢復方法(三)
- 控制檔案的恢復方法(四)
- 重建控制檔案
- 重建控制檔案--
- 【備份與恢復】控制檔案的恢復(不完全恢復)
- 使用舊的控制檔案備份來恢復控制檔案
- cp方式恢復控制檔案
- 控制檔案恢復測試
- 控制檔案丟失恢復
- 【控制檔案丟失恢復】
- 使用rman恢復控制檔案
- RMAN備份恢復之控制檔案的恢復(三)
- RMAN備份恢復之控制檔案的恢復(二)
- RMAN備份恢復之控制檔案的恢復(一)
- Oracle 控制檔案的重建Oracle
- 與控制檔案有關的恢復