zoukankan      html  css  js  c++  java
  • EVENT ADJUST_SCN 说明 [30681.1]

           在一篇文章中引用了ID 为[30681.1] 的文档,刚才去MOS 上查,居然没有了,原来MOS 有时也靠不住。 在google 上展转了一下,找到了这篇文章。贴过来,备用。

    DocID:  Note:30681.1

    Subject:  EVENT: ADJUST_SCN - Quick Reference

    Type:  REFERENCE

    Status:  PUBLISHED

     Content Type: TEXT/PLAIN

    CreationDate:  20-OCT-1997

    LastRevision Date:  04-AUG-2000

    Language:  USAENG

     

     

    ADJUST_SCNEvent

    ~~~~~~~~~~~~~~~~

    ***WARNING ***

       This event should only ever be used underthe guidance

       of an experienced Oracle analyst.

       If an SCN is ahead of the current databaseSCN, this indicates

       some form of database corruption. Thedatabase should be rebuilt

       after bumping the SCN.

    ****************

     

        The ADJUST_SCN event is useful in somerecovery situations where the

        current SCN needs to be incremented by alarge value to ensure it

        isahead of the highest SCN in the database. This is typically

        required if either:

          a. An ORA-600 [2662] error is signalledagainst database blocks

        or

          b. ORA-1555 errors keep occuring afterforcing the database open

             or ORA-604 / ORA-1555 errors occurduring database open.

             (Note: If startup reports ORA-704& ORA-1555 errors together

                    then the ADJUST_SCN eventcannot be used to bump the

                    SCN as the error is occuringduring bootstrap.

                    Repeated startup/shutdown attemptsmay help if the SCN

                    mismatch is small)

        or

          c. If a database has been forced openused _ALLOW_RESETLOGS_CORRUPTION

             (See<Parameter:Allow_Resetlogs_Corruption> )

     

     

        The ADJUST_SCN event acts as describedbelow.

     

      **NOTE: You can check that the ADJUST_SCNevent has fired as it

              should write a message to the alert log inthe form

             "Debugging event used to advance scn to %s".

             If this message is NOT present in the alert log the event

             has probably not fired.

     

     

      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

      If the database will NOT open:

      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

        Take a backup.

        You can use event 10015 to trigger anADJUST_SCN on database open:

     

            startup mount;

     

            alter session set events '10015 tracename adjust_scn level 1';

     

            (NB: You can only use IMMEDIATE here onan OPEN database. If the

                database is only mounted use the 10015 trigger to adjust SCN,

                otherwise you get ORA 600 [2251], [65535], [4294967295] )

     

            alter database open;

     

            If you get an ORA 600:2256 shutdown, usea higher level and reopen.

     

        Do *NOT* set this event in init.ora or theinstance will crash as soon

        as SMON or PMON try to do any clean up.Always use it with the

        "alter session" command.

     

      ~~~~~~~~~~~~~~~~~~~~~~~~~~

      If the database *IS* OPEN:

      ~~~~~~~~~~~~~~~~~~~~~~~~~~

        You can increase the SCN thus:

     

            alter session set events 'IMMEDIATEtrace name ADJUST_SCN level 1';

     

        LEVEL: Level 1 is usually sufficient - it raises the SCN to 1 billion

                                               (1024*1024*1024)

               Level 2 raises it to 2 billion etc...

     

               If you try to raise the SCN to a level LESS THAN or EQUAL to its

               current setting you will get <OERI:2256>    - See below.

               Ie: The event steps the SCN to known levels. You cannot use

                   the same level twice.

     

      Calculating a Level from 600 errors:

      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

            To get a LEVEL for ADJUST_SCN:

     

            a) Determine the TARGET scn:

                ora-600 [2662]    See <OERI:2662>  Use TARGET >= blocks SCN

               ora-600 [2256]    See<OERI:2256>  Use TARGET >=Current SCN

     

            b)Multiply the TARGET wrap number by 4. This will give you the level

              to use in the adjust_scn to get the correct wrap number.

            c) Next, add the following value to thelevel to get the desired base

              value as well :

     

            Add to Level         Base

            ~~~~~~~~~~~~ ~~~~~~~~~~~~

                       0            0

                       1   1073741824

                       2   2147483648

                       3   3221225472

    -------------------------------------------------------------------------------------------------------

    Blog: http://blog.csdn.net/tianlesoftware

    Email: dvd.dba@gmail.com

    DBA1 群:62697716(满);   DBA2 群:62697977(满)  DBA3 群:62697850(满)  

    DBA 超级群:63306533(满);  DBA4 群: 83829929  DBA5群: 142216823   

    DBA6 群:158654907  聊天 群:40132017   聊天2群:69087192

    --加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

  • 相关阅读:
    SQL FORMAT() 函数
    SQL ROUND() 函数
    SQL NOW() 函数
    SQL LEN() 函数
    SQL LCASE() 函数
    SQL MID() 函数
    SQL HAVING 子句
    UCASE() 函数
    SQL GROUP BY 语句
    SQL MAX() 函数
  • 原文地址:https://www.cnblogs.com/tianlesoftware/p/3609623.html
Copyright © 2011-2022 走看看