ITPub博客

首页 > 数据库 > Oracle > ORA-38760 问题处理方法

ORA-38760 问题处理方法

原创 Oracle 作者:lsxlong123 时间:2014-01-27 17:47:29 0 删除 编辑

在OCM认证中,不少人在配置数据库过程中,会遇到 ORA-38760: This database instance failed to turn on flashback database的错误。
1)模拟环境:当前实例已经开启闪回功能,并创建了一个叫作RP1的恢复点。关闭实例,进行冷备(数据文件,控制文件,参数文件),我这里捎带着把闪回区进行了备份。
启动实例,创建一个测试表空间TEST。这个时候关闭实例,使用冷备份启动实例。这时候就会抛出ORA-38760的错误。
2)分析问题:这个时候查看告警日志,会看到以下几行:
Allocated 3981204 bytes in shared pool for flashback generation buffer
Starting background process RVWR
RVWR started with pid=29, OS id=6321
Mon Jan 27 15:53:13 2014
Errors in file /u01/app/oracle/admin//bdump/_rvwr_6321.trc:
ORA-38739:flashback log file is more recent than control file.
ORA-38701:Flashback database log 58 seq 58 thread 1:"/home/oracle/flash//flashback/01_mf_9gckndqt_.flb"
接下来,我们关闭闪回,再次打开数据库,还是报ORA-38760的错误。此时,告警日志中只是生产了一个_ora_6322.trc的文件,里面没有有用的信息,告警日志中还显示对控制文件作了一个自动备份。
3)有的人到这就蒙了,我也是。通过测试,我给出了一些方法:
3.1)MOS对于ORA-38739方法的处理。OERR: ORA-38739 Flashback log file is more recent than control file. (Doc ID 289273.1)
大概是进行不完全恢复。没有测试。我用的冷备,进行不完全恢复,似乎这个解决方法与本案例不太相同。
3.2)关于闪回后,仍无法启动实例。这个时候,我们查看闪回的状态:
select flashback_on from v$database;
flashback_on
-----------------------------
RESTORE POINT ONLY
我们查询恢复点:SQL>select * from v$restore_point;
ERROR at line 1:
ORA-38701:Flashback database log 1 seq 1 thread 1:
"/home/oracle/flash//flashback/01_mf_9fzqb2fy_.flb"
ORA-27037:unable to obtain file status
Linux Error:2:No such file or directory
Additional information:3
删除之前创建的恢复点:sql>drop restore point RP1;
SQL>select * from v$restore_point;
no rows selected
SQL>select flashback_on from v$database;
FLASHBACK_ON
----------------------------
NO
启动实例,SQL>alter database open;
database alerted.
3.3)最简单的方法是使用冷备份加上对于闪回区的备份,可以直接启动数据库实例。已经测试过。

总结,这个问题是控制文件与闪回区日志文件中所记录的信息不一致所导致的。因此,冷备的时候,最好将闪回区一并进行备份。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9838838/viewspace-1076003/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 删除大表数据
请登录后发表评论 登录
全部评论

注册时间:2008-06-23

  • 博文量
    20
  • 访问量
    65637