SCN知識1

jackjw發表於2008-08-05

[@more@]

首先這裡我們先介紹四個SCN概念。
1
、系統檢查點scn當一個檢查點動作完成後,Oracle就把系統檢查點的SCN儲存到控制檔案中。
select checkpoint_change# from v$database

2
,資料檔案檢查點scn當一個檢查點動作完成後,Oracle就把每個資料檔案的scn單獨存放在控制檔案中。
select name,checkpoint_change# from v$datafile

3
,啟動scn
Oracle
把這個檢查點的scn儲存在每個資料檔案的檔案頭中,這個值稱為啟動scn,因為它用於在資料庫例項啟動時,檢查是否需要執行資料庫恢復。

select name,checkpoint_change# from v$datafile_header
4
、終止scn每個資料檔案的終止scn都儲存在控制檔案中。
select name,last_change# from v$datafile
以下條件需要使用using backup controlfile
1
)、使用備份控制檔案

2
)、重建resetlogs控制檔案,如果重建立noresetlogs不必要使用using backup controlfile


2
alter database open resetlog 指定RESETLOGS將重設當前LOG sequence number1,拋棄所有日誌資訊。以下條件需要使用
resetlog
1
)在不完全恢復(介質恢復)

2
)使用備份控制檔案使用resetlogs開啟資料庫後無必完整地備份一次資料庫。
3
create controlfile resetlogs/noresetlogs
1
).用Noresetlogs重建控制檔案時,控制檔案中 datafile Checkpoint來自Online logs中的Current log

2
).用Resetlogs重建控制檔案時,控制檔案中datafile Checkpoint來自各資料檔案頭。system scn,datafile scn,start scn 不全相等,需要介質恢復,如果stopscn null需要例項恢復
resetlogs
拋棄所有在上一次恢復沒有用到的日誌資訊,確保不被重新用與恢復。
1
、系統正常關閉:
system scn=datafile scn=start scn=stop scn
1)system scn=datafile scn=start scn
,不需要介質恢復
2)stopscn not null,
不需要例項恢復
2
、系統異常關閉:
system scn=datafile scn=start scn
stop scn null
1)system scn=datafile scn=start scn
,不需要介質恢復

2)stopscn null,
需要例項恢復
3
、舊資料檔案
system scn=datafile scn>start scn
stop scn null/notnull
1)system scn=datafile scn>start scn
,需要介質恢復成
system scn=datafile scn=start scn
2)stopscn null,
需要例項恢復,not null 不需要例項恢復

4
、備份控制檔案
system scn=datafile scn<=start scn(
當資料檔案為舊的相等)stop scn notnull/null
1)system scn=datafile scn<=start scn
,需要使用using backup controlfile介質恢復成system scn=datafile scn=start scn=current log scn(當前日誌最大
SCN)
2)
為保證上一次恢復沒有用到log日誌不被使用,必須
resetlogs
5
、重建noresetlogs控制檔案控制檔案中 datafile Checkpoint來自Online logs中的Current log

current log scn=system scn=datafile scn>=start scn,stop scn not null/null
1)current log scn=system scn=datafile scn>=start scn
,需要介質恢復成system scn=datafile scn=start scn=redolog scn(當前日誌最大SCN),stop scn not null
2)stopscn not null
不需要例項恢復

6
、重建resetlogs控制檔案控制檔案中datafile Checkpoint來自各資料檔案頭。
system scn>=datafile scn=start scn,stop scn not null/null
1)system scn>=datafile scn=start scn
,需要使用using backup controlfile介質恢復成system scn=datafile scn=start scn(當前日誌最大
SCN),stop scn not null
2)stop notnull
,因為SCN已經為redolog scnlog已經不能使用,必須resetlogs

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3907/viewspace-1008552/,如需轉載,請註明出處,否則將追究法律責任。

相關文章