欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

oracle 在线删除归档、闪回日志后

程序员文章站 2022-05-07 17:56:27
...

因为开启归档、闪回后,空间磁盘不够了。没有多想就在数据库处于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