shutdown abort之后为什么需要实例恢复!

讲课时随手记录的大致过程![@more@]

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area 163577856 bytes
Fixed Size 1247876 bytes
Variable Size 83887484 bytes
Database Buffers 75497472 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
SQL> select checkpoint_change# from v$database;

CHECKPOINT_CHANGE#
------------------
727692

SQL> select file#,last_change# from v$datafile;

FILE# LAST_CHANGE#
---------- ------------
1 727692
3 727692
4 727692
10 727692
11 727692

--正常shutdown (immediate,normal、transactional)之前,oracle会发生一个完全检查点,检查点号会记录在last_change of v$datafile,在下次startup之后last_change被置为无穷大,在last_change 中显示为null

SQL> alter database open;

数据库已更改。

SQL> select file#,last_change# from v$datafile;

FILE# LAST_CHANGE#
---------- ------------
1
3
4
10
11

SQL> shutdown abort
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area 163577856 bytes
Fixed Size 1247876 bytes
Variable Size 83887484 bytes
Database Buffers 75497472 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
SQL> select checkpoint_change# from v$database;

CHECKPOINT_CHANGE#
------------------
727693

--而shutdown abort之后系统并没有发生完全检查点,last_change为null,所以系统在下次startup之后需要进行实例恢复,此时必需要有完好的redo才能保证db正常open

SQL> select file#,last_change# from v$datafile;

FILE# LAST_CHANGE#
---------- ------------
1
3
4
10
11

SQL> alter database open;

数据库已更改。

SQL>

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

转载于:http://blog.itpub.net/19602/viewspace-1010548/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值