暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle HowTo:如何更改数据库的SCN?

原创 eygle 2006-01-17
649

很多时候,我们需要调整数据库系统的SCN值,有的是为了恢复的需要,如为了解决ORA-600 2662错误.


而以下修改纯属无聊:


1.通过oradebug修改SCN



[oracle@jumper oracle]$ sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.4.0 - Production on Wed Dec 21 10:33:35 2005
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production

SQL> col a for 999999999999999
SQL> select CHECKPOINT_CHANGE# a from v$datafile;

              A
---------------
   107374358304
   107374358304
   107374358304

SQL> oradebug setmypid
Statement processed.
SQL> oradebug DUMPvar SGA kcsgscn_
kcslf kcsgscn_ [5000BC68, 5000BC88) = 00000019 0002F97F 00004979
00000000 00000000 00000000 00000000 5000B948
SQL> oradebug poke 0x5000BC69 4 8
BEFORE: [5000BC68, 5000BC70) = 00000019
AFTER:  [5000BC68, 5000BC70) = 00000819

2.确认更改



SQL> select dbms_flashback.get_system_change_number a from dual;

               A
----------------
   8903467399681

SQL> oradebug DUMPvar SGA kcsgscn_
kcslf kcsgscn_ [5000BC68, 5000BC88) = 00000819 0002FA0C 00004A75
00000000 00000000 00000000 00000000 5000B948
SQL>
SQL> alter system checkpoint;

System altered.

SQL> select CHECKPOINT_CHANGE# a from v$datafile;

               A
----------------
   8903467399867
   8903467399867
   8903467399867


3.此时无法正常关闭数据库


Oracle会检测到异常:


SQL> shutdown immediate;
ORA-00600: internal error code, arguments: [kfhsls_02], [20], [1], [], [], [], [], [] 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论