ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 【Fixed Area】从SGA的Fixed Area中得到系统当前的SCN号

【Fixed Area】从SGA的Fixed Area中得到系统当前的SCN号

原创 Linux操作系统 作者:secooler 时间:2009-09-13 21:12:20 0 删除 编辑
警告:此实验强烈推荐在试验环境下尝试,请勿在生产环境中使用。

获取SCN的方法很多,这里给出一种使用oradebug从Fixed Area中得到SCN的方法。

1.实验方法:为了防止在每一步骤操作之后出现SCN改变的情况,可以瞬间连续提交如下几条SQL命令,当第一条命令和最后一条命令显示的SCN号相同时即可进一步进行验证从Fixed Area中得到的SCN是完全正确的。
SQL> select dbms_flashback.get_system_change_number from dual;
SQL> oradebug setmypid
SQL> oradebug DUMPvar SGA kcsgscn_
SQL> select dbms_flashback.get_system_change_number from dual;

2.具体的实验演示过程
sys@ora10g> select dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER
------------------------
                 1975526

sys@ora10g> oradebug setmypid
Statement processed.
sys@ora10g> oradebug DUMPvar SGA kcsgscn_
kcslf kcsgscn_ [0600121A8, 0600121D8) = 001E24E6 00000000 00000000 00000000 00008063 00000000 00000000 00000000 00000000 00000000 60011E88 00000000
sys@ora10g> select dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER
------------------------
                 1975526

3.OK,以上已经满足我们的实验前提。然后我们可以使用to_number将得到的得到的SCN号“1E24E6”转换成为10进制的数字
sys@ora10g> select to_number('1E24E6','xxxxxx') from dual;

TO_NUMBER('1E24E6','XXXXXX')
----------------------------
                     1975526

4.实验结论,通过转换后的SCN与我们使用dbms_flashback方法得到的SCN号完全相同。
OK,我们又多了一种得到SCN号的方法。

-- The End --

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/519536/viewspace-614564/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle ACE 总监,阿里云MVP,北京大学理学硕士,恩墨学院创始人,教育专家,中国区 Cloudera 首位官方授权大数据讲师,金牌培训专家,BDA大数据联盟创始人,OCM联盟创始人,ACCUG创始人、ACOUG核心专家,Blogger。

注册时间:2008-03-16

  • 博文量
    797
  • 访问量
    7975024