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

转载于:https://www.cnblogs.com/phpfans2012/p/4001324.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值