ORA-03113 end-of-file on communication channel

问题

用数据库连接工具发现数据库连接不上了,登陆服务器一看发现数据库满了

  • 登陆rootoracle用户;登陆root需要切换到oraclesu - oracle
  • 使用 sqlplus / as sysdba 命令切换到sqlplus
  • sqlplus 模式下使用startup命令,开启数据库。发现启动报错:请添加图片描述

问题原因

在网上简单搜了一下,原因是Oracle 数据库归档日志满了。用df -h命令看了一下磁盘空间占用情况,磁盘已经满了:
在这里插入图片描述

问题解决

因为我的磁盘挂载空间已经满了,我可以删除一些归档日志或扩大挂载的磁盘空间来解决该问题。

删除归档日志

1.使用 shutdown immediate 关闭数据库实例进程

2.再使用 startup mount 启动

3.查看当前数据库实例:select instance_name from v$instance;

4.重开一个窗口,切换到oracle 用户,进入 rman:

  • 指定实例:set oracle_sid = 查询出的实例名称
  • 进入rmanrman target /

5.在rman 模式下输入以下命令:

  • 查看所有的日志及日志地址: list archivelog all;
  • 查看已经失效的日志:crosscheck archivelog all;
  • 删除所有的无效日志: delete expired archivelog all;
  • 如果删除所有无效的日志不好用,可以删除指定天数的日志,例如删除三天前的日志:delete noprompt archivelog until time "sysdate -3";

6.再次使用df -h查看磁盘占用情况:
请添加图片描述

7.切回到之前sqlplus窗口,启动数据库:alter database open;startup启动实例即可

增加归档日志空间

如果你的磁盘空间没满,也可以选择增加归档日志空间来解决改问题。

1.查看下归档日志空间情况:select * from v$recovery_file_dest;
2. 增加归档日志空间大小: alter system set db_recovery_file_dest_size=20G scope=both; 这里增加20G,可以自行调整.
3. 启动数据库:alter database open;startup启动实例即可

参考文章

  • https://jingyan.baidu.com/article/851fbc378521e83e1f15ab1c.html
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_whitepure

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值