今天imp檔案的時候資料庫死掉了,結果重啟伺服器,探索資料庫沒有完全起來
SQL> startup;
ORACLE 常式已經啟動。
Total System Global Area 1677721600 bytes
Fixed Size 1251776 bytes
Variable Size 394266176 bytes
Database Buffers 1275068416 bytes
Redo Buffers 7135232 bytes
資料庫裝載完畢
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;
GROUP# SEQUENCE# ARC STATUS
---------- ---------- --- ----------------
1 50 NO CURRENT
3 49 NO INACTIVE
2 48 NO INACTIVE
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 1251776 bytes
Variable Size 394266176 bytes
Database Buffers 1275068416 bytes
Redo Buffers 7135232 bytes
資料庫裝載完畢。
資料庫已經開啟。
不過這個問題並不是資料庫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 0 29
執行下面的語句,可以看到閃回恢複區的使用方式
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