Oracle
Oracle 數據庫無法啟動,ORA-03113
在 CentOS 上執行 Oracle 11.2.0.4.0 並發現硬碟已滿,警報日誌中出現錯誤:
ORA-19815: WARNING: db_recovery_file_dest_size of 64424509440 bytes is 99.98% used, and has 10141696 remaining bytes available.
然後向數據庫發出關閉命令,警報日誌顯示:
ARCH: Error 19809 Creating archive log file to /home.../archivelog/... Errors in file /home/.../trace/..._ora_24158.trc: ORA-16038: log 3 sequence# 11493 cannot be archived ORA-19809: limit exceeded for recovery files ORA-00312: online log 3 thread 1: /home/.../redo03.log USER (ospid: 24158): terminating the instance due to error 16038 System state dump requested by (instance=1, osid=24158), summary=[abnormal instance termination] System State dumped to trace file /home/.../trace/..._diag_24124_20210819133650.trc Dumping diagnostic data in directory=[cdmp_20210819133650], requested by (instance=1, osid=24158), summary=[abnormal instance termination]. Instance terminated by USER, pid = 24158
然後我清理了1.7G硬碟空間,嘗試啟動數據庫,顯示如下錯誤:
SQL> startup; ORACLE instance started. Total System Global Area 4927172608 bytes Fixed Size 2261648 bytes Variable Size 989859184 bytes Database Buffers 3925868544 bytes Redo Buffers 9183232 bytes Database mounted. ORA-03113: end-of-file on communication channel Process ID: 24158 Session ID: 96 Serial number: 3
並且警報日誌顯示:
Errors in file /home/...trace/..._ora_17003.trc: ORA-19815: WARNING: db_recovery_file_dest_size of 64424509440 bytes is 99.98% used, and has 10141696 remaining bytes available ARCH: Error 19809 Creating archive log file to /home.../archivelog/2021_08_20/o1_mf_1_11493_%u_.arc Errors in file /home.../trace/..._ora_17003.trc: ORA-16038: log 3 sequence# 11493 cannot be archived ORA-19809: limit exceeded for recovery files ORA-00312: online log 3 thread 1: /home.../redo03.log USER (ospid: 17003): terminating the instance due to error 16038 System state dump requested by (instance=1, osid=17003), summary=[abnormal instance termination]. System State dumped to trace file /home/.../trace/..._diag_16963_20210820081510.trc Dumping diagnostic data in directory=[cdmp_20210820081510], requested by (instance=1, osid=17003), summary=[abnormal instance termination]. Instance terminated by USER, pid = 17003
我對 Oracle 不是很有經驗。誰能推荐一個解決方案?我的目標是啟動數據庫以使其正常工作,然後將所有內容複製到更大的硬碟驅動器(從 225G SSD 移動到 1000G HDD)。
即使您刪除了一些文件,FRA 的大小仍然限制為 60 GB,並且仍然是滿的,因此無法歸檔目前的線上重做日誌。
通常我會建議從 FRA 中刪除不必要的文件,但由於您只想啟動數據庫然後停止並將其移動到其他地方,只需增加足以儲存接下來幾個歸檔日誌的 FRA 的大小:
startup nomount show parameter db_recovery_file_dest_size; alter system set db_recovery_file_dest_size=61G; show parameter db_recovery_file_dest_size; alter database mount; alter database open;
數據庫應該打開,之後您可以停止它並將文件移動到您想要的位置。