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

       数据库环境:linux EL5.5-32x86 + oracle 10.2.1

       metalink找到解决方法,过程表达的很详细:

Subject:  Unable To Turn Off Database Flashback

Symptoms

there are problems with flashback database, however, unable to turn off flashback database so that
the database can be opened:
SQL> alter database flashback off;

Database altered.

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-38760: This database instance failed to turn on flashback database
.

Cause

there is a restore point in the database

checked v$restore_point
.

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;

     手工创建 flashback restore_point 要小心,过了一段时间,要及时删除。

 

但是select name from v$restore_point;的结果:

SQL> select flashback_on from v$database;

FLASHBACK_ON

------------------------------------

YES

1 row selected.

SQL> select name from v$restore_point;

no rows selected

发现并没有v$restore_point;结果;

试着运行:

SQL> Shutdown immediate;

SQL> startup mount;
SQL> alter database flashback off;
SQL> alter database open;

 

然后:

SQL> Shutdown immediate;
SQL> Startup mount;
SQL> alter database flashback on;
SQL> alter database open;

居然可以了。

再验证一下:

SQL> Shutdown immediate;

SQL> Startup

ORACLE instance started.

 

Total System Global Area  381681664 bytes

Fixed Size                  1273828 bytes

Variable Size             113246236 bytes

Database Buffers          264241152 bytes

Redo Buffers                2920448 bytes

Database mounted.

Database opened.

可以了,原因什么:

手工设置了alter system set DB_RECOVERY_FILE_DEST='/u99f';

alter system set db_recovery_file_dest_size=2G

后要小心。