因为开启归档、闪回后,空间磁盘不够了。没有多想就在数据库处于open状态下,rm了所有的归档、闪回日志。
等到重启数据库时出现错误:
SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 422670336 bytes
Fixed Size 1336960 bytes
Variable Size 310380928 bytes
Database Buffers 104857600 bytes
Redo Buffers 6094848 bytes
Database mounted.
ORA-38760: This database instance failed to turn on flashback database
处理过程如下:
先关闭数据库的闪回功能,再alter database open:
SQL>
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
还是同一个错误。
google了一下,是我的数据库中有restore point的缘故。
so,下面是删除restore point的工作:
SQL> select flashback_on from v$database;
FLASHBACK_ON
------------------
RESTORE POINT ONLY
SQL>
SQL>
SQL> select name from v$restore_point;
NAME
--------------------------------------------------------------------------------
BEFOR_UPGRADE
关于restore point的东西,在数据库open状态下可查询:
SELECT name, scn, time, database_incarnation#, guarantee_flashback_database, storage_size FROM v$restore_pint; (RAC环境要查询gv$restore_pint)
SQL> drop restore point BEFOR_UPGRADE;
Restore point dropped.
SQL> select flashback_on from v$database;
FLASHBACK_ON
------------------
NO
SQL> alter database open;
Database altered.
这样数据库就open了。