两种数据文件offline的比较

使数据文件脱机有两种办法,

1)  alter tablespace tablespace_name offline;

2)  alter database datafile number|完整路径名 offline;

注:只有在处于archived log状态下才能用ALTER DATABASE offline的方式。

1,  表空间offline的方式

表空间Offline时,数据文件的SCN会被冻结,而且表空间的数据文件offline/online时又会发生局部检查点,使单个数据文件SCN和数据库其他问题不一致。

注:这里是局部检查点还是文件检查点oracle文档上也没有说

SQL> alter tablespace test offline;

表空间已更改。

SQL> selectdbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER

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

               157370738

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

    FILE# CHECKPOINT_CHANGE#

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

        1          157367480

        2          157367480

        3          157367480

        4          157367480

        5          157367480

        6          157370623

        7          157367480

已选择7行。

注意:第6号数据文件的scn号。

SQL> alter tablespace test online;

表空间已更改。

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

    FILE# CHECKPOINT_CHANGE#

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

        1          157367480

        2          157367480

        3          157367480

        4          157367480

        5          157367480

        6          157370879

        7          157367480

注意:第6号数据文件的scn有又继续升高,当发生检查点后就相同了。

SQL> alter system checkpoint;

系统已更改。

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

    FILE# CHECKPOINT_CHANGE#

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

        1          157371381

        2          157371381

        3          157371381

        4          157371381

        5          157371381

        6          157371381

        7          157371381

已选择7行。

 

2,  数据文件的offline的方式

单纯的offline datafile,将不会触发文件检查点,只有针对offline tablespace的时候才会触发文件检查点,这也是为什么online datafile需要media recovery而online tablespace不需要。

SQL> alter database datafile 6 offline;

数据库已更改。

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

    FILE# CHECKPOINT_CHANGE#

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

        1          157371381

        2          157371381

        3          157371381

        4          157371381

        5          157371381

        6          157371381

        7          157371381

已选择7行。

注意:所有的scn号就停留在这一刻了

SQL> alter database datafile 6 online;

alter database datafile 6 online

第 1 行出现错误:

ORA-01113: 文件 6 需要介质恢复

ORA-01110: 数据文件 6:'F:\ORACLE\PRODUCT\10.2.0\ORADATA\ZXNTAGL\TEST.DBF'

 

SQL> recovery datafile 6;

SP2-0734: 未知的命令开头"recovery d..." - 忽略了剩余的行。

SQL> recover datafile 6;

完成介质恢复。

SQL> alter database datafile 6 online;

数据库已更改。

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

    FILE# CHECKPOINT_CHANGE#

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

        1          157371381

        2          157371381

        3          157371381

        4          157371381

        5          157371381

        6          157371706

        7          157371381

已选择7行。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值