如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!
诗檀软件专业数据库修复团队
服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com
ORA-01194: 文件1需要更多的恢复来保持一致性 oerr ora 1194 01194, 00000, "file %s needs more recovery to be consistent" // *Cause: An incomplete recovery session was started, but an insufficient // number of logs were applied to make the file consistent. The // reported file was not closed cleanly when it was last opened by // the database. It must be recovered to a time when it was not being // updated. The most likely cause of this error is forgetting to // restore the file from a backup before doing incomplete recovery. // *Action: Either apply more logs until the file is consistent or restore // the file from an older backup and repeat recovery.
问题描述:
====================
已经还原备份
- 你认为的有效脱机备份
或者是
b)一个有效的联机备份,之后运用一些归档日志,但是打开数据库时会收到以下报错:
ORA-01194: 文件<name>需要还原更多以保持一致
原因:不完全恢复会话已经启动,但是应用redo日志的数量不足以使文件一致。已命名的文件上次被数据库打开后,没有完全关闭。
该报错最有可能的原因是在不完全恢复之前,忘记从备份中还原文件。
操作:必须将文件还原到未更新时的状态。无论是运用更多的redo日志直到使文件一致,或者是从旧的备份中还原该文件并重复恢复。
有关恢复的更多信息,请参阅<Oracle7 Server Administrator’s Guide>中的索引条目“recovery”
问题说明:
====================
正常的的离线备份需要在备份之前完全关闭数据库,无论是使用即时关闭或正常关机选项。这样将所有坏块冲到数据文件,并确保还原时,他们不需要任何形式的恢复。
如果脱机备份时没有做到这一点,那么就需要当前的联机redo日志以使数据文件一致。如果你真的关闭数据库,并备份联机redo日志,那么你就可以将它们还原并恢复使用当前redo日志。如果数据库没有关闭,就不能使用此备份进行恢复。
数据库打开时数据文件的状态称为Online Fussy,并在数据库彻底关闭时被清除。
正常的在线备份,当文件进行备份时需要数据库(10g及以上)或表空间处于备份模式时。事实是,Oracle标记数据文件头,该文件正处于热备份模式,允许在备份过程中更新到文件。数据文件需要从那个时候起进行介质恢复,要么在a)归档日志结束备份后 或是b)当前redo日志。
热备份模式下数据文件的状态称为Hot Backup In Progress fuzzy。当数据文件进入热备份模式设置该状态,脱离备份模式时将其清除,或者通过完全恢复,我们得到当前redo日志的redo末尾标记。
还有其他两个模糊的标志,但在此不再赘述。
解决方案描述:
=====================
为了任意数据库都可以打开重置日志,必须满足三个条件:
1.所有联机的,读写数据文件必须同时检测。
2.没有模糊的数据文件。这意味着不必设置模糊标志。
3.没有任何数据文件在热备份模式
可以在装入数据库时运行下面的查询,以确定此运行:
- SELECT DISTINCT (TO_CHAR (CHECKPOINT_CHANGE#)) FROM V$DATAFILE_HEADER;
此操作只返回到所有联机、读写数据文件中的一列。由于介质恢复应用于数据文件,Oracle将推动文件的检查,这样就不必从头开始恢复,但它会从停止的地方重新开始。这样我们可以监测恢复过程,也可以看到旧的检查点文件逐渐接近最新的文件。
- SELECT DISTINCT (FUZZY) FROM V$DATAFILE_HEADER;
此查询只返回到一列: NO
请注意,此操作并不说明设置什么模糊标志,只说明是否设置模糊标志。
- SELECT DISTINCT (STATUS) FROM V$BACKUP;
此查询只返回到一列: NOT ACTIVE
只有满足上述条件时,才允许用重置日志打开数据库。V$DATABASE中的OPEN RESETLOGS列也可以用于返回到
REQUIRED, NOT ALLOWED or ALLOWED.
解决方案说明:
=====================
对于脱机备份,如果报错ORA-1194,通常的问题是在备份过程中,数据库是开着的,或是没有正常关闭。这使得该备份不可用,因为这时候需要访问当前的redo日志,以及后续的redo日志以清除在线模糊标记。可以在备份时检查数据库的的alert.log以验证数据库是否关闭,且整个备份期间都是关闭着的。
对于联机备份,收到该报错通常是因为没有足够的归档日志,使数据库越过备份结束标记的时间。也可以在alert.log中检测,因为开始/结束备份的命令在这里开始。确保你至少运用了足够的档案以越过日志序列,且在备份结束时是活跃的。
如果备份不在备份模式,也会收到该报错。之后的情况就是脱机备份,除非你选择使用归档日志和当前的redolog,以完全恢复,清除模糊标志。
搜索词:
=============
恢复 还原 模糊 备份 重置日志
Comment