下面的情形会引起表空间备份失败并且不一致:
n 备份结束后,但没有执行ALTER TABLESPACE…END BACKUP
n 实例失败或SHUTDOWN ABORT中断了备份
在启动时显示的错误信息
|
ORA-01113: file 12 needs media recovery ORA-01110: data file 12: '/oracle/dbs/tbs_41.f' |
当需要从失败中恢复的时候,当试图打开数据文件时,如果数据文件处于备份模式,则数据库不会打开这个数据文件,
直到你执行了一个恢复命令,或直到数据文件已经退出了备份模式。
如果数据库提示多个表空间的数据文件需要介质恢复,因为对于这些表空间你忘记了结束备份模式,
则只需要在数据库进入MOUNT状态后,执行ALTER DATABASE END BACKUP命令即可,使所有的数据文件结束备份模式。
在高可用性的环境中,并且没有DBA监控数据库的情形下,是不允许用户干预的。
因此需要写一个失败恢复脚本做下面的事情:
①MOUNT数据库
②运行ALTER DATABASE END BACKUP语句
③运行ALTER DATABASE OPEN,允许自动启动。
在下列情形下,在自动化的系统崩溃恢复脚本中包含ALTER DABASE END BACKUP语句非常有用:
n 在RAC配置中的所有结点都失败了
n 在cold failover cluster环境(是一个群集环境,但不是RAC,第二个节点在第一个结点失败时,必须mount和恢复数据库)中一个结点失败了
也可以采用下面的手动措施(在系统因为表空间处于备份模式而失败时):
n 恢复数据库,避免同时执行END BACKUP语句
n MOUNT数据库,对于仍处于备份模式的每个表空间执行ALTER TABLESPACE…END BACKUP语句
(1)使用ALTER DATABAE END BACKUP语句结束备份模式
当有多个表空间仍处于备份模式时,可以运行ALTER DATABASE END BACKUP语句。
这个命令的主要目的是允许崩溃恢复脚本在没有DBA的干预下可以启动失败的系统。当然也可以手动执行下面的步骤。
练习:使多个表空间同时退出备份模式
|
--1. MOUNT但不打开数据库 SQL> STARTUP MOUNT --2. 如果正在手动地执行这些步骤(而不是作为失败恢复脚本的一部分),则要查看v$BACKUP视图 -- 列出在数据库被重新启动之前被备份的表空间的数据文件 SQL> SELECT * FROM V$BACKUP WHERE STATUS = 'ACTIVE'; FILE# STATUS CHANGE# TIME ---------- ------------------ ---------- --------- 12 ACTIVE 20863 25-NOV-02 13 ACTIVE 20863 25-NOV-02 20 ACTIVE 20863 25-NOV-02 3 rows selected. --3. 使所有当前处于备份模式的数据文件退出备份模式 -- 只有当数据库处于MOUNT状态而不是OPEN状态时,才能执行这个语句 -- 如果数据库已经被打开,则要执行ALTER TABLESPACE... END BACKUP或ALTER DATABASE DATAFILE...END BACKUP -- 注意:如果已经从备份还原了任何受影响的文件,则不能执行ALTER DATABASE END BACKUP. SQL> ALTER DATABASE END BACKUP; |
(2)使用SQL*Plus RECOVER命令结束备份
ALTER DATABASE END BACKUP语句不是响应联机备份失败的唯一语句,也可以执行SQL*Plus的RECOVER命令。
当你不确定是否有人已经还原了备份的时候,这个方法很有用。
因为如果有人已经还原了备份,则RECOVER命令会使备份更新到最新。
注意:RECOVER方法会慢一些,因为数据库必须从连接备份开始之后产生的日志。
练习:使用SQL*Plus RECOVER命令结束备份
|
--1. MOUNT数据库 SQL> STARTUP MOUNT --2. 恢复数据库 SQL> RECOVER DATABASE --3. 确定没有活动的数据文件 SQL> SELECT * FROM V$BACKUP WHERE STATUS = 'ACTIVE'; FILE# STATUS CHANGE# TIME ---------- ------------------ ---------- --------- 0 rows selected. |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/17013648/viewspace-1097976/ ,如需转载,请注明出处,否则将追究法律责任。