首页 / 日志 / Oracle11g日志文件恢复
Oracle11g日志文件恢复
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle11g日志文件恢复,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3676字,纯文字阅读大概需要6分钟。
内容图文
![Oracle11g日志文件恢复](/upload/InfoBanner/zyjiaocheng/547/59326a82e2f246d5962efae295bb0b08.jpg)
这次实验模拟一下,oracle 11g在非归档模式下,且没有备份的条件,进行的日志文件的恢复这里所有的redo日志都被我删除了,下面是
这次实验模拟一下,Oracle 11g在非归档模式下,且没有备份的条件,进行的日志文件的恢复
这里所有的redo日志都被我删除了,下面是报错和数据库模式:
SQL> startup
ORACLE instance started.
Total System Global Area 845348864 bytes
Fixed Size 1339796 bytes
Variable Size 645926508 bytes
Database Buffers 192937984 bytes
Redo Buffers 5144576 bytes
Database mounted.
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/myorcl/redo1.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/myorcl/redo01.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
SQL> select log_mode,open_mode from v$database;
LOG_MODE OPEN_MODE
------------ --------------------
NOARCHIVELOG MOUNTED
首先,我们要用resetlogs的方法尝试打开数据库:
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01139: RESETLOGS option only valid after an incomplete database recovery
提示resetlogs这个选项只有在一个不完全数据库恢复后才可以使用,既然这样,我们就给它做一个数据库恢复:
SQL> recover database using backup controlfile;
ORA-00279: change 1736992 generated at 01/18/2014 18:01:56 needed for thread 1
ORA-00289: suggestion :
/u01/app/oracle/product/11.2.0/db_1/ora_log/1_1_837194464.dbf
ORA-00280: change 1736992 for thread 1 is in sequence #1
Specify log: {
ORA-00308: cannot open archived log
'/u01/app/oracle/product/11.2.0/db_1/ora_log/1_1_837194464.dbf'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
下面,我们再来resetlogs启动数据库:
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/u01/app/oracle/oradata/myorcl/system01.dbf'
提示要进行介质恢复,因为我们根本没有redo日志,根本没有办法恢复,只能通过添加隐藏参数,让数据库忽略数据一致性验证:
SQL> alter system set "_allow_resetlogs_corruption"=true scope=spfile;
System altered.
SQL> startup force mount;
ORACLE instance started.
Total System Global Area 845348864 bytes
Fixed Size 1339796 bytes
Variable Size 645926508 bytes
Database Buffers 192937984 bytes
Redo Buffers 5144576 bytes
Database mounted.
到这里,再来添加resetlogs选项,来打开数据库:
SQL> alter database open resetlogs;
Database altered.
数据库打开了,但是还没有结束,我们要将修改的隐藏参数修改到默认值,并重新启动数据库:
SQL> alter system reset "_allow_resetlogs_corruption" scope=spfile;
System altered.
SQL> startup force;
ORACLE instance started.
Total System Global Area 845348864 bytes
Fixed Size 1339796 bytes
Variable Size 645926508 bytes
Database Buffers 192937984 bytes
Redo Buffers 5144576 bytes
Database mounted.
Database opened.
SQL> select KSPPINM,KSPPSTVL from x$ksppi a,x$ksppcv b where a.indx=b.indx and ksppinm like '%resetlogs%';
KSPPINM
--------------------------------------------------------------------------------
KSPPSTVL
--------------------------------------------------------------------------------
_no_recovery_through_resetlogs
FALSE
_allow_resetlogs_corruption
FALSE
这里可以看到这个隐藏参数已经变成false了。这就完成了日志文件的恢复。
内容总结
以上是互联网集市为您收集整理的Oracle11g日志文件恢复全部内容,希望文章能够帮你解决Oracle11g日志文件恢复所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。