Google

提取Oracle SCN

2007-11-20 20:09 来源: gan.cublog.cn 作者:gan 网友评论 0 条 浏览次数 32
 
在开发时用到需要提取当前的SCN, 上网查询了一下:
select dbms_flashback.get_system_change_number scn from dual;

真是大意了, 就测试了一个Oracle 9i 就说OK了, 结果今天要用Oracle 8i的, 直接报错了。

没办法,又去查了:
select max(ktuxescnw * power(2, 32) + ktuxescnb) scn from sys.x$ktuxe;

自己在sqlplus下测试为:
SQL> select max(ktuxescnw * power(2, 32) + ktuxescnb) scn from sys.x$ktuxe;
select max(ktuxescnw * power(2, 32) + ktuxescnb) scn from sys.x$ktuxe
                                                              *
ERROR 位于第 1 行:
ORA-00942: 表或视图不存在

怎么会这样呢?

找了,好半天,结果还是问出来的。 原来x$表只可以sysdba用户才可以访问哦!
得这样来做就可以了:
create or replace view xx123 as select * from sys.x$ktuxe;

原后做:
SQL> select max(ktuxescnw * power(2, 32) + ktuxescnb) scn from sys.xx123;

       SCN
----------
    592899

就可以了, 用自己建立的视图来访问x$ktuxe表就可以了。

哎, 对Oracle了解的还是太少啊! 继续努力!
上一篇: 下一篇:

相关主题:oracle  SCN

网友评论