程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> oracle通過修改控制文件scn推進數據庫scn,oraclescn

oracle通過修改控制文件scn推進數據庫scn,oraclescn

編輯:Oracle教程

oracle通過修改控制文件scn推進數據庫scn,oraclescn


數據庫當前scn

代碼如下 復制代碼
idle> select checkpoint_change# from v$database;

CHECKPOINT_CHANGE#
------------------
271743118

idle> shutdown abort

ORACLE 例程已經關閉。
分析控制文件中scn

 


這裡我們可以看到加粗部分為數據庫scn

代碼如下 復制代碼
SQL>select to_number('10327a59','xxxxxxxxx') from dual;

TO_NUMBER('10327A59','XXXXXXXXX')
---------------------------------
271743577

這裡的scn值和在數據庫中查詢的值有小差別,因為查詢時間點和我完全關閉數據庫有個時間差,而這個時間差有scn變化.細紅框部分為控制文件對塊的驗證信息

修改控制文件scn和驗證信息
驗證信息修改為全部0,scn信息你可以根據你的需求去修改,這裡把數據庫的scn修改為57253932971026,按照數據庫的原理,啟動後的scn應該稍微大於該scn值.


代碼如下 復制代碼
SQL>select to_number('341278563412','xxxxxxxxxxxxxxxxx') from dual;

TO_NUMBER('341278563412','XXXXXXXXXXXXXXXXX')(www.111cn.net)
---------------------------------------------
57253932971026

啟動數據庫
idle> startup mount
ORACLE 例程已經啟動。

代碼如下 復制代碼
Total System Global Area 400846848 bytes
Fixed Size 2440024 bytes
Variable Size 289408168 bytes
Database Buffers 100663296 bytes
Redo Buffers 8335360 bytes

數據庫裝載完畢。

代碼如下 復制代碼
idle> recover database;
完成介質恢復。
idle> alter database open;

數據庫已更改。

idle> select checkpoint_change# from v$database;

CHECKPOINT_CHANGE#
------------------
57253932991028

數據庫啟動後查詢scn為57253932991028(數據庫當前scn)果然微大於57253932971026(修改控制文件scn),證明我們通過修改控制文件scn,實現數據庫scn推近完全OK.不實驗風險較大,請勿在生產環境上測試,負載後果自負
from:http://www.111cn.net/database/Oracle/60235.htm


oracle數據文件為何要有SCN

啟動scn
Oracle把這個檢查點的scn存儲在每個數據文件的文件頭中,這個值稱為啟動scn,因為它用於在數據庫實例啟動時,
檢查是否需要執行數據庫恢復。
select name,checkpoint_change# from v$datafile_header
終止scn
每個數據文件的終止scn都存儲在控制文件中。
select name,last_change# from v$datafile
這個SCN號用於檢查數據庫啟動過程是否需要做instance recovery。數據庫文件狀態改變的情況 才更改
在數據庫正常運行的情況下,對可讀寫的,online的數據文件,該SCN號為NULL
 

ORACLE四種SCN其中對System checkpoint SCN疑問

你這裡缺少了一個重要的東西就是日志,checkpoint會首先記錄在日志中,沒有這個數據庫怎麼知道恢復到哪裡
 

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