ORA-03113:通信通道的文件结尾

登录Oracle时出现错误:“ORA-03113:通信通道的文件结尾

错误排查方法

Oracle出现错误,查看trace日志寻找问题根源:D:\oracle\diag\rdbms\orcl\orcl\trace

打开trace目录下的alert_orcl.log

复制代码
复制代码
************************************************************************
ARC3: Error 19809 Creating archive log file to 'D:\ORACLE_11G INSTALLER\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2019_05_29\O1_MF_1_122_%U_.ARC'
Errors in file D:\ORACLE\diag\rdbms\orcl\orcl\trace\orcl_arc1_18628.trc:
ORA-19815: 警告: db_recovery_file_dest_size 字节 (共 3221225472 字节) 已使用 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.
复制代码
复制代码

从日志中可以看到:“ORA-19815: 警告: db_recovery_file_dest_size 字节 (共 3221225472 字节) 已使用 100.00%, 尚有 0 字节可用。”

这个问题是由于db_recovery_file_dest_size(归档日志)的空间不足导致的。

解决办法

 1,修改归档日志空间的大小

SQL> startup mount  -- 装载数据库
SQL> conn / as sysdba  --dba身份连接
SQL> select * from v$recovery_file_dest;  --查看归档日志
SQL> alter system set db_recovery_file_dest_size=4G;  --设置归档日志大小
SQL> alter database open;  --打开数据库

需要注意的是:Oracle数据库一共有以下几个状态

shutdown immediate;
-- shutdown:关闭状态,Oracle例程关闭。

startup nomount;
-- nomount(STARTED):Oracle例程启动,读取参数文件打开实例(分配内存、启动进程)。

alter database mount;
-- mount(MOUNTED):读取控制文件。

alter database open;
-- open(OPEN):打开数据文件和日志文件。

查看当前状态:select status from v$instance;

 

 2,删除归档日志

使用rman(Recovery Manger)工具

rman target /  --进入rman
RMAN> crosscheck archivelog all; --检查控制文件和实际物理文件的差别。
RMAN> delete noprompt archivelog until time "sysdate-3"; --删除3天前的归档日志
 

至此问题解决,数据库可以正常使用。

posted @   不会游泳的鱼丶  阅读(1141)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示