如何获取ORACLE的SCN

2025-04-07 18:18:18
推荐回答(2个)
回答1:

  • 在Oracle9i中,可以使用dbms_flashback.get_system_change_number来获得

  例如:


SQL> select dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER
------------------------
                2982184

  • 在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
     

回答2:

查询系统当前的SCN
SQL> select current_scn from v$database;

CURRENT_SCN
-----------
337958984



SQL> select dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER
------------------------
337958995