□主要可以通过两种方式: 1.在Oracl...... 主要可以通过两种方式: 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获得最接近当前系统scn值 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 3.通过oradebug获取 以前在l2g32003的站点上看到使用oradebug获取SCN的方法,转引在这里: [oracle@neirong oracle]$ sqlplus "/ as sysdba" SQL*Plus: Release 9.2.0.4.0 - Production on Wed Dec 21 21:04:24 2005 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Connected to:Oracle9i Enterprise Edition Release 9.2.0.4.0 - ProductionWith the Partitioning, OLAP and Oracle Data Mining optionsJServer Release 9.2.0.4.0 - Production SQL> col a for 999999999999SQL> oradebug setmypidStatement processed.SQL> oradebug DUMPvar SGA kcsgscn_kcslf kcsgscn_ [1200BC68, 1200BC88) = 00000003 BA84F392 00071266 00000000 00000000 00000000 00000000 1200B948SQL> select to_number('3BA84F392','xxxxxxxxxxxx') a from dual; A------------- 16014177170 SQL> select dbms_flashback.get_system_change_number a from dual; A------------- 16014177255 SQL> 方法有多种,但是涉及的知识各有巧妙不同,深入研究一下都是很有意思的. |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-30 05:30 , Processed in 0.146027 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.