oracle 在线删除归档、闪回日志后
因为开启归档、闪回后,空间磁盘不够了。没有多想就在数据库处于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了。
谢谢:http://dba.tw/index.php?topic=221.0