如何獲得當前資料庫的SCN值

來源:互聯網
上載者:User
資料|資料庫
如何獲得當前資料庫的SCN值

--SCN定義及擷取方式

Last Updated: Thursday, 2004-12-02 15:04 Eygle
    
 


 

SCN(System Change Number) ,也就是通常我們所說的系統改變號,是資料庫中非常重要的一個資料結構。

它定義資料庫在某個確切時刻提交的版本。在事物提交時,它被賦予一個唯一的標示事物的 SCN 。 SCN 提供 Oracle 的內部時鐘機制,
可被看作邏輯時鐘,這對於恢複操作是至關重要的 ( Oracle 僅根據 SCN 執行恢複)。

一直以來,對於 SCN 有很多爭議,很多人認為 SCN 是指, System Commit Number ,而通常 SCN 在提交時才變化,所以很多時候,
這兩個名詞經常被交替使用。

到底是哪個詞其實不是最重要的,重要的是我們知道 SCN 是 Oracle 內部的時鐘機制, Oracle 通過 SCN 來維護資料庫的一致性,並通過
SCN 實施 Oracle 至關重要的恢複機制。 SCN 由 LGWR 順序分配,用以標示提交、復原和檢查點。

我們來看一下獲得當前SCN的幾種方式:

1.在Oracle9i中,可以使用dbms_flashback.get_system_change_number來獲得

例如:

SQL> select dbms_flashback.get_system_change_number from dual;GET_SYSTEM_CHANGE_NUMBER------------------------ 2982184

2.在Oracle9i之前

可以通過查詢x$ktuxe獲得

X$KTUXE-------------[K]ernel [T]ransaction [U]ndo Transa[x]tion [E]ntry (table)

 

SQL> select max(ktuxescnw*power(2,32)+ktuxescnb) from x$ktuxe;MAX(KTUXESCNW*POWER(2,32)+KTUXESCNB)------------------------------------ 2980613

 

 

本文作者:
eygle,Oracle技術粉絲,來自中國最大的Oracle技術論壇itpub.
www.eygle.com是作者的個人網站.你可通過Guoqiang.Gai@gmail.com來聯絡作者.歡迎技術探討交流以及連結交換.

原文出處:

http://www.eygle.com/faq/How.To.Get.Current.SCN.of.Database.htm

 


相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。