【SCN】Oracle資料庫SCN號的四種獲取途徑

secooler發表於2011-01-07
這裡給出獲取Oracle資料庫SCN號常用的四種方法,供參考。耳熟能詳的朋友可飄過~~

1.9i之前透過x$ktuxe檢視計算得到接近的

sys@ora10g> select max(ktuxescnw * power(2,32) + ktuxescnb) SCN from x$ktuxe;

       SCN
----------
    256019

2.9i之後可以透過dbms_flashback包獲得SCN號
sys@ora10g> select dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER
------------------------
                  256030

3.10g開始可以直接透過v$database獲得SCN號
sys@ora10g> select current_scn from v$database;

CURRENT_SCN
-----------
     256030

4.從記憶體中獲得SCN號
sys@ora10g> oradebug setmypid
Statement processed.
sys@ora10g> oradebug DUMPvar SGA kcsgscn_
kcslf kcsgscn_ [20009228, 20009248) = 00000000 0003E81E 00000784 00000000 00000000 00000000 00000000 20009034
sys@ora10g> select to_number('3E81E','xxxxxx') SCN from dual;

       SCN
----------
    256030

5.小結
以上四種方法都可以得到SCN號的資訊,經測試第一種不是精確的SCN號,而透過其他三種獲得的SCN號是相同的,可以任選一種進行查詢

Good luck.

secooler
11.01.07

-- The End --

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

相關文章