• oracle通过修改控制文件scn推进数据库scn


    数据库当前scn

    代码如下 复制代码
    idle> select checkpoint_change# from v$database;

    CHECKPOINT_CHANGE#
    ------------------
    271743118

    idle> shutdown abort

    ORACLE 例程已经关闭。
    分析控制文件中scn


    这里我们可以看到加粗部分为数据库scn

    代码如下 复制代码
    SQL>select to_number('10327a59','xxxxxxxxx') from dual;

    TO_NUMBER('10327A59','XXXXXXXXX')
    ---------------------------------
    271743577

    这里的scn值和在数据库中查询的值有小差别,因为查询时间点和我完全关闭数据库有个时间差,而这个时间差有scn变化.细红框部分为控制文件对块的验证信息

    修改控制文件scn和验证信息
    验证信息修改为全部0,scn信息你可以根据你的需求去修改,这里把数据库的scn修改为57253932971026,按照数据库的原理,启动后的scn应该稍微大于该scn值.


    代码如下 复制代码
    SQL>select to_number('341278563412','xxxxxxxxxxxxxxxxx') from dual;

    TO_NUMBER('341278563412','XXXXXXXXXXXXXXXXX')(www.111cn.net)
    ---------------------------------------------
    57253932971026

    启动数据库
    idle> startup mount
    ORACLE 例程已经启动。

    代码如下 复制代码
    Total System Global Area 400846848 bytes
    Fixed Size 2440024 bytes
    Variable Size 289408168 bytes
    Database Buffers 100663296 bytes
    Redo Buffers 8335360 bytes

    数据库装载完毕。

    代码如下 复制代码
    idle> recover database;
    完成介质恢复。
    idle> alter database open;

    数据库已更改。

    idle> select checkpoint_change# from v$database;

    CHECKPOINT_CHANGE#
    ------------------
    57253932991028

    数据库启动后查询scn为57253932991028(数据库当前scn)果然微大于57253932971026(修改控制文件scn),证明我们通过修改控制文件scn,实现数据库scn推近完全OK.不实验风险较大,请勿在生产环境上测试,负载后果自负
    from:http://www.111cn.net/database/Oracle/60235.htm

  • 相关阅读:
    Web 服务器配置
    Web 浏览
    C++ Web 编程
    C++ 多线程
    C++ 信号处理
    C++ 预处理器
    C++ 模板
    C++ 命名空间
    C++ 动态内存
    C++ 异常处理
  • 原文地址:https://www.cnblogs.com/phpfans2012/p/4001324.html
Copyright © 2020-2023  润新知