在介质失败发生的时候,数据库可能仍保持打开状态,未损坏的数据文件联机并且可用。
损坏的数据文件而不是包含它的表空间自动地脱机,如果数据库writer不能向它们写入。
如果数据库writer不能够打开数据文件,也会返回一个错误。
不能读取损坏的数据文件的查询会返回错误,但数据文件不会脱机。
|
ERROR at line 1: ORA-01116: error in opening database file 3 ORA-01110: data file 11: '/oracle/oradata/trgt/cwmlite02.dbf' ORA-27041: unable to open file SVR4 Error: 2: No such file or directory Additional information: 3 |
不能使用这里的过程来对数据库打开时的SYSTEM表空间执行完全介质恢复。
如果介质失败损坏了SYSTEM表空间的数据文件,则数据库自动关闭。
练习:在打开的数据库中还原数据文件
|
--1. 执行关闭的数据库恢复中的1-3步
--2. 如果数据库打开,则使所有包含损坏的数据文件的表空间脱机.例users和tools表空间包含损坏的数据文件 ALTER TABLESPACE users OFFLINE TEMPORARY; ALTER TABLESPACE tools OFFLINE TEMPORARY; --如果指定了TEMPORARY,则Oracle数据库会为表空间中的所有联机的数据文件创建一个检查点. --在执行该语句的时候已经脱机的数据文件,在你将表空间联机的时候可能需要介质恢复. --如果指定了IMMEDIATE选项,则在使表空间恢复联机的时候,必须在表空间上执行介质恢复。
--3. 检查介质确定问题的来源. 可以使用DBVERIFY来对脱机的数据文件执行完整性检查. -- 如果引起介质失败的硬件问题是暂时的并且如果数据文件没有被损坏,则不需要介质恢复.可以使脱机的表空间联机并继续正常的操作. -- 如果不能修复问题,或DBVERIFY报告有损坏的块,则继续步骤4
--4. 如果文件永久损坏,则需要使用操作系统命令来还原被介质失败损坏的数据文件的最近的拷贝 cp /disk2/backup/users01.dbf $ORACLE_HOME/oradata/trgt/users01.dbf -- 如果硬件问题被修复了并且数据文件数据文件可以被还原到它们原始的位置上. 否则还原数据文件到替代的存储位置. -- 不要还原未损坏的数据文件、联机重做日志文件、控制文件. -- 注意: 在一些情况下,如果没有特定的数据文件的备份,可以使用ALTER DATABASE CREATE DATAFILE创建一个空的数据文件,它是可恢复的.
--5. 如果还原一个或多个损坏的数据文件来替代的位置,则需要更新控制文件来反映新的数据文件名称. ALTER DATABASE RENAME FILE '?/oradata/trgt/users01.dbf' TO '/disk2/users01.dbf';
--6. 如果还原归档重做日志到一个替代的位置,则需要在介质恢复之前指定新的位置 SET LOGSOURCE /tmp --也可以跳过第6步,在第7步骤中使用如下的RECOVER语句 RECOVER AUTOMATIC FROM '/tmp' TABLESPACE users, tools; --注意: 覆盖redo log source不会影响正在被归档的联机重做日志组的归档重做日志目的地.
--7. 以管理员的权限连接到数据库,启动所有损坏的数据文件脱机表空间恢复,这些数据文件在一个或多个脱机表空间中. RECOVER AUTOMATIC TABLESPACE users, tools; --数据库通过应用必要的归档日志和联机重做日志开始介质恢复的前滚阶段,来重建被还原的数据文件. --除非文件的应用是自动化的,即使用RECOVER AUTOMATIC或SET AUTORECOVERY ON,否则数据库会提示每个需要的重做日志文件 --恢复继续进行,直到所有需要的归档重做日志已经被应用到数据文件. 联机重做日志被自动地应用到还原的数据文件来完成介质恢复. --如果完成介质恢复不需要归档重做日志,则数据库不给出任何提示.相反所有需要的联机重做日志被应用,介质恢复完成.
--8. 当被损坏的表空间被恢复到介质失败发生的那一刻,使脱机的表空间联机. ALTER TABLESPACE users ONLINE; ALTER TABLESPACE tools ONLINE; |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/17013648/viewspace-1101152/ ,如需转载,请注明出处,否则将追究法律责任。