提示ORA-03113:通信通道的文件結尾
進程 ID :6988
回話 ID:191 序列號:3
第一步:
sqlplus / as sysdba
shutdown abort
startup mount
SQL> show parameter background_dump_dest;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_dump_dest string d:\app\baoshengzhu\diag\rdbms\
oracle\oracle\trace
進入該路徑,查看alert_oracle.log,可見文件記錄錯誤如下:
####################錯誤信息以及建議解決的方法##########################################################
Errors in file d:\app\baoshengzhu\diag\rdbms\oracle\oracle\trace\oracle_ora_6988.trc:
ORA-19815: 警告: db_recovery_file_dest_size 字節 (共 4102029312 字節) 已使用 100.00%, 尚有 0 字節可用。
************************************************************************
You have following choices to free up space from recovery area:
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
then consider changing RMAN ARCHIVELOG DELETION POLICY.
2. Back up files to tertiary device such as tape using RMAN
BACKUP RECOVERY AREA command.
3. Add disk space and increase db_recovery_file_dest_size parameter to
reflect the new space.
4. Delete unnecessary files using RMAN DELETE command. If an operating
system command was used to delete files, then use RMAN CROSSCHECK and
DELETE EXPIRED commands.
###################################################################################
第二步:
select * from v$recovery_file_dest;
alter system set db_recovery_file_dest_size=10737418240 ---這裏是改爲10G。
alter database open
exit
第三步:
rman target /
進入rman工具窗口
rman target /
RMAN>crosscheck archivelog all; -- 運行這個命令可以把無效的expired的archivelog標出來。
RMAN>delete expired archivelog all; -- 直接全部刪除過期的歸檔日誌。
RMAN>delete noprompt archivelog until time "sysdate -3"; -- 也可以直接用一個指定的日期來刪除。
重新打開數據庫:正常使用