今天imp文件的时候数据库死掉了,结果重启服务器,发现数据库没有完全起来
SQL> startup;
ORACLE 例程已经启动。
Total System Global Area 1677721600 bytes
Fixed Size
Variable Size
Database Buffers
Redo Buffers
数据库装载完毕
ORA-16038: 日志 2 序列号 48 无法归档
ORA-19809: 超出了恢复文件数的限制
ORA-00312: 联机日志 2 线程 1: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG'
SQL> select group#,sequence#,archived,status from v$log;
---------- ---------- --- ----------------
SQL> alter database clear unarchived logfile group 3;
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup;
ORACLE 例程已经启动。
Total System Global Area 1677721600 bytes
Fixed Size
Variable Size
Database Buffers
Redo Buffers
数据库装载完毕。
数据库已经打开。
不过这个问题并不是数据库imp时死掉的根本原因,根本原因是新装数据库,忘记把闪回去调大就imp文件了(默认闪回区2G)
sql> select * from v$recovery_file_dest;
SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES
----------- ---------- ----------------- ---------------
E:\oracle\product\10.2.0/flash_recovery_area
2147483648 2233146368
执行下面的语句,可以看到闪回恢复区的使用情况
select reason,object_type,suggested_action from dba_outstanding_alerts;
解决方法:
1.将归档设置到其他目录,修改alter system set log_archive_dest = 其他路径
2.转移或者删除闪回恢复区里的归档日志。
3.增大闪回恢复区。ALTER SYSTEM SET db_recovery_file_dest_size=5G