ORA-38760: This database instance failed to turn on flashback database

本文介绍了一种解决Oracle数据库启动时出现的闪回数据库失败问题的方法。通过检查后台日志和trace文件发现缺失了闪回日志文件,随后通过删除还原点并关闭闪回功能成功解决了该问题。

SQL> startup
ORACLE instance started.

Total System Global Area  167772160 bytes
Fixed Size                  1218316 bytes
Variable Size              75499764 bytes
Database Buffers           88080384 bytes
Redo Buffers                2973696 bytes
Database mounted.
ORA-38760: This database instance failed to turn on flashback database

 

查看后台日志及trace:

 

告警:

Mon Jun  1 02:29:53 2009
Successful mount of redo thread 1, with mount id 1216152093
Mon Jun  1 02:29:53 2009
Allocated 3981204 bytes in shared pool for flashback generation buffer
Starting background process RVWR
RVWR started with pid=16, OS id=2757
Mon Jun  1 02:29:54 2009
Errors in file /u01/app/oracle/admin/orcl/bdump/orcl_rvwr_2757.trc:
ORA-38701: Flashback database log 36 seq 143 thread 1: "/u01/app/oracle/flash_recovery_area/ORCL/flashback/o1_mf_51oc4r6c_.flb"
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3

 

 

文件o1_mf_51oc4r6c_.flb被删掉了

 

trace文件:

oracle10g->cat /u01/app/oracle/admin/orcl/bdump/orcl_rvwr_2757.trc
/u01/app/oracle/admin/orcl/bdump/orcl_rvwr_2757.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1
System name:    Linux
Node name:      oracle10g
Release:        2.6.9-78.EL
Version:        #1 Wed Jul 9 15:27:01 EDT 2008
Machine:        i686
Instance name: orcl
Redo thread mounted by this instance: 1
Oracle process number: 16
Unix process pid: 2757, image: oracle@oracle10g (RVWR)

*** SERVICE NAME:() 2009-06-01 02:29:54.040
*** SESSION ID:(156.1) 2009-06-01 02:29:54.040
ORA-38701: Flashback database log 36 seq 143 thread 1: "/u01/app/oracle/flash_recovery_area/ORCL/flashback/o1_mf_51oc4r6c_.flb"
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3

 

 

找到一个解决办法:

 

Solution
check whether restore points exist:
SQL> select flashback_on from v$database;
SQL> select name from v$restore_point;

If so, drop them:
SQL> drop restore point <name>;
SQL> alter database flashback off;
SQL> select flashback_on from v$database;
SQL> alter database open;

 

 

下面执行:

 

SQL> select flashback_on from v$database;

FLASHBACK_ON
------------------------------------
YES

SQL> select name from v$restore_point;

no rows selected

SQL> alter database flashback off;

Database altered.

SQL> alter database open;

Database altered.

 

done。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值