熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

詳細講解獲得當前SCN的幾種有效方式

2013-11-13 16:21:13  來源: Oracle 
在閱讀本文前大家首先需要了解一下SCN(系統改變號)它的英文全拼為System Change Number 它是數據庫中非常重要的一個數據結構

  SCN提供了Oracle的內部時鐘機制可被看作邏輯時鐘這對於恢復操作是至關重要的

  注釋Oracle 僅根據 SCN 執行恢復

  它定義了數據庫在某個確切時刻提交的版本在事物提交時它被賦予一個唯一的標示事物的SCN 一些人認為 SCN 是指 System Commit Number 而通常 SCN 在提交時才變化所以很多情況下這兩個名詞經常被交替使用

  究竟是哪個詞其實對我們來說並不是最重要的重要的是我們知道 SCN 是 Oracle 內部的時鐘機制 Oracle 通過 SCN 來維護數據庫的一致性並通過SCN 實施 Oracle 至關重要的恢復機制

  下面我們來介紹一下獲得當前SCN的幾種有效方式:

  在Oraclei中可以使用dbms_flashbackget_system_change_number來獲得

  示例:

  

  SQL> select dbms_flashbackget_system_change_number from dual; GET_SYSTEM_CHANGE_NUMBER

  

  在Oraclei之前你可以通過查詢x$ktuxe來獲得

  

  X$KTUXE[K]ernel [T]ransaction [U]ndo Transa[x]tion [E]ntry (table) SQL> select max(ktuxescnw*power()+ktuxescnb) from x$ktuxe; MAX(KTUXESCNW*POWER()+KTUXESCNB)


From:http://tw.wingwit.com/Article/program/Oracle/201311/18190.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.