场景:
oracle 12c 数据库,进行了大量的插入操作,导致数据库卡死,启动失败。
关键报错信息:
ORA-03113: end-of-file on communication channel
报错原因:
原来是大批量的数据插入导致闪回空间不足, 最常用的办法删除不需要的归档日志文件或者增加闪回空间大小(db_recovery_file_dest_size)
解决方法:
登录 sqlplus /nolog SQL>conn /as sysdba 关闭数据库 SQL>shutdown abort 或 shutdown immediate 装载数据库 SQL>startup mount 查看oracle运行日志路径 SQL>show parameter background_dump 从日志中可以分析报错原因,这里是归档日志空间被占用完了。 查看归档日志大小 SQL>show parameter db_recovery_file_dest_size 查看归档日志空间使用情况 SQL>select * from v$recovery_file_dest;
方法1:调整归档日志空间大小
SQL>alter system set db_recovery_file_dest_size=10G
方法2:删除归档日志文件,可以释放一部分空间
这里使用 RMAN工具,另外开启一个窗口启动 RMAN 进入rman工具窗口 rman target / 无效的过期的archivelog标出来 RMAN>crosscheck archivelog all; 删除3天前的归档日志 RMAN>delete noprompt archivelog until time "sysdate -3"; 删除过期日志 RMAN>delete expired archivelog all; 删除截止今天的所有日志 RMAN>delete archivelog until time 'sysdate'; 即删除所有的归档日志 RMAN>delete noprompt archivelog all;
参考链接:
https://blog.csdn.net/zwk626542417/article/details/39667999?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
https://blog.csdn.net/dataminer_2007/article/details/41775257
https://blog.csdn.net/qq_17079071/article/details/78893971