程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle 數據庫SCN概念淺析

Oracle 數據庫SCN概念淺析

編輯:Oracle數據庫基礎

以下的文章主要是對Oracle 數據庫SCN概念的介紹,為了更好的了解Oracle 數據庫SCN概念,我們首先在這裡介紹的是4個關於SCN的概念。以下就是具體內容的描述,希望在你今後的學習中會有所幫助。

1,系統檢查點scn

當一個檢查點動作完成後,Oracle 就把系統檢查點的SCN存儲到控制文件中。

  1. select checkpoint_change# from v$database; 

2,數據文件檢查點scn

當一個檢查點動作完成後,Oracle 就把每個數據文件的scn單獨存放在控制文件中。

  1. select name,checkpoint_change# from v$datafile; 

3,啟動scn

Oracle 把這個檢查點的scn存儲在每個數據文件的文件頭中,這個值稱為啟動scn,因為它用於在數據庫實例啟動時,

檢查是否需要執行Oracle數據庫恢復。

  1. select name,checkpoint_change# from v$datafile_header 

4,終止scn

每個數據文件的終止scn都存儲在控制文件中。

  1. 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 number為1,拋棄所有日志信息。

以下條件需要使用resetlog

1)在不完全恢復(介質恢復)

2)使用備份控制文件

使用resetlogs打開數據庫後無必完整地備份一次Oracle數據庫。

3、

  1. 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、系統正常關閉:

  1. system scn=datafile scn=start scn=stop scn 

1)system scn=datafile scn=start scn,不需要介質恢復

2)stopscn not null,不需要實例恢復

2、系統異常關閉:

  1. system scn=datafile scn=start scn,stop scn null 

1)system scn=datafile scn=start scn,不需要介質恢復

2)stopscn null,需要實例恢復

3、舊數據文件

  1. 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、備份控制文件

  1. 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頭

  1. 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來自各數據文件頭。

  1. 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 scn,log已經不能使用,必須resetlogs

上述的相關內容就是對Oracle 數據庫SCN概念的描述,希望會給你帶來一些幫助在此方面。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved