数据库一致性关闭与非一致性关闭的一些问题

 1        


SQL> select  FILE#, CHECKPOINT_CHANGE# from v$datafile;---------控制文件里记录的数据文件的scn


     FILE# CHECKPOINT_CHANGE#

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

         1            1133266

         2            1133266

         3            1133266

         4            1133266

         5            1133266

         6            1133266


6 rows selected.


SQL> select  FILE#, CHECKPOINT_CHANGE# from v$datafile_header;---------------数据文件里记录的数据文件头的scn


     FILE# CHECKPOINT_CHANGE#

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

         1            1133266

         2            1133266

         3            1133266

         4            1133266

         5            1133266

         6            1133266


6 rows selected.

2

SQL> select CURRENT_SCN from v$database;-----------当前数据库的scn

CURRENT_SCN

-----------

          0

SQL> select CHECKPOINT_CHANGE# from v$database;---------------控制文件的scn


CHECKPOINT_CHANGE#

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

           1133266


3

一致性关闭数据库的状态下

SQL> select FILE#,CHECKPOINT_CHANGE#,LAST_CHANGE# from v$datafile;


     FILE# CHECKPOINT_CHANGE# LAST_CHANGE#

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

         1            1133266      1133266

         2            1133266      1133266

         3            1133266      1133266

         4            1133266      1133266

         5            1133266      1133266

         6            1133266      1133266


6 rows selected.

由此可以发现CHECKPOINT_CHANGE# LAST_CHANGE#scn号是一样的;


非一致性关闭数据库的状态下;

SQL>  select FILE#,CHECKPOINT_CHANGE#,LAST_CHANGE# from v$datafile;


     FILE# CHECKPOINT_CHANGE# LAST_CHANGE#

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

         1            1133734

         2            1133734

         3            1133734

         4            1133734

         5            1133734

         6            1133734


6 rows selected.

由此可以看出CHECKPOINT_CHANGE#LAST_CHANGE#scn号是不一样的。所以此时要正常关闭数据库重新启动,然后再查看发现他们的scn号一样了

SQL> alter database open;


Database altered.


SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount

ORACLE instance started.


Total System Global Area  830930944 bytes

Fixed Size                  2257800 bytes

Variable Size             536874104 bytes

Database Buffers          285212672 bytes

Redo Buffers                6586368 bytes

Database mounted.

SQL> select FILE#,CHECKPOINT_CHANGE#,LAST_CHANGE# from v$datafile;


     FILE# CHECKPOINT_CHANGE# LAST_CHANGE#

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

         1            1154340      1154340

         2            1154340      1154340

         3            1154340      1154340

         4            1154340      1154340

         5            1154340      1154340

         6            1154340      1154340


6 rows selected.


4

SQL>  select  GROUP#,FIRST_CHANGE#,NEXT_CHANGE#  from v$log;


    GROUP# FIRST_CHANGE# NEXT_CHANGE#

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

         1       1154682      1154685

         2       1154685      1154689

         3       1154689   2.8147E+14


SQL> alter system switch logfile;


System altered.


SQL> select  GROUP#,FIRST_CHANGE#,NEXT_CHANGE#  from v$log;


    GROUP# FIRST_CHANGE# NEXT_CHANGE#

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

         1       1154699   2.8147E+14

         2       1154685      1154689

         3       1154689      1154699


由此可以发现下一个 FIRST_CHANGE#scn号是上一个 NEXT_CHANGE#scn号。

5


SQL> select current_scn from v$database;


CURRENT_SCN

-----------

    1154858


SQL>

SQL> select  FILE#, CHECKPOINT_CHANGE# from v$datafile;


     FILE# CHECKPOINT_CHANGE#

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

         1            1154699

         2            1154699

         3            1154699

         4            1154699

         5            1154699

         6            1154699


6 rows selected.


SQL>  select  FILE#, CHECKPOINT_CHANGE# from v$datafile_header;


     FILE# CHECKPOINT_CHANGE#

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

         1            1154699

         2            1154699

         3            1154699

         4            1154699

         5            1154699

         6            1154699


6 rows selected.

由此可以发现数据库当前的scn号比控制文件中记录的数据文件的scn号和数据文件里记录的数据文件头部的scn号都大。

注:current日志组必须大于或者等于控制文件中记录的数据文件的scn号和数据文件里记录的数据文件头部的scn



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

转载于:http://blog.itpub.net/30606702/viewspace-2122965/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值