关于ORA-03113:end-of-file on communication channel

本文详细介绍Oracle冷备份数据库恢复过程中遇到的ORA-03113错误及其解决方法,包括如何定位问题、检查警告日志、重建控制文件等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

目录

!!问题1:ORA-03113:end-of-file on communication channel

问题1的解决办法:


最近在玩oracle冷备份的知识,居然把数据库搞崩了很多次~~~mark一下出现的问题和弄了很久才解决的办法。

!!问题1:ORA-03113:end-of-file on communication channel

 

 这个是在什么情况下出现的呢,源于我要将冷备份恢复到其他目录,具体是这样做的:

将冷备份的数据库恢复到其它磁盘

1。将冷备份的数据库恢复到不同的磁盘

2。修改参数文件中control_files的值,指到新的文件(记得重启数据库)

3。启动数据库到mount状态

4。改文件的名称到新位置(日志文件也要复制)

5。Alter database open;

报了上面那个错误,然后任何操作都做不了了,一直说没连上数据库,百度了n多文章,大多数都说是归档文件满了,可我的数据库是非归档模式,压根就没用到归档日志。。。。最后,是这样解决的,这里顺便分享个解决问题的思路:看警告日志——找到具体的原因——再对症下药


  在说解决03113的问题之前先说个小小插曲,也是一个error,是关于上面第4步的,为什么我要在括号内写个日志文件也要复制呢,因为我最初只复制了数据文件,然后所有日志文件都会报错ORA-01113: file 1 needs media recovery

这个小错误的解决方法:

SQL> RECOVER DATAFILE  '/u01/app/oracle/oradata/dtberp/system01.dbf'

Media recovery complete.

SQL> recover tablespace system;

Media recovery complete.

SQL> RECOVER DATABASE;

Media recovery complete.

SQL> ALTER DATABASE OPEN;

Database altered. 

  但是如果你连日志文件也一起复制就不会出现这个问题啦。好了下面进入正题~~~ 


问题1的解决办法:

1、先查出你的警告日志是放在哪的——show parameter background_dump

2、查看你的警告日志,定位问题,具体的话你可以根据时间去查,我这边查到的问题是这样的 

由于error338而导致的实例终结

ORA-00338: log 1 of thread  is more recent than control file

ORA-00312: online log 1 thread 1: 'C:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG'

USER (ospid: 2876): terminating the instance due to error 338

Instance terminated by USER, pid = 2876

  这下清晰了,不是归档日志,不是其他原因,而是error338!我们看一下这个错误 log 1 of thread  is more recent than control file,日志文件比控制文件新。

  为什么会出现这个错误呢??拷贝出来控制文件,然后对数据库进行一些操作,这时我的数据文件和日志文件已经修改了,然后关闭数据库,使用拷贝出来的控制文件替换原控制文件,启动数据库,实例错误。原因是拷贝的控制文件太旧了,后面又做了许多修改。

3、这边附上一个该问题的解决办法:http://www.oracleplus.net/arch/344.html 

我就是参考上面网址的方法搞定的——重建控制文件(具体大家可以参考上面的网址,比较详细,我这边直接列出我修改的过程)

3.1 将重建控制文件的SQL命令保存到跟踪文件中——alter database backup controlfile to trace;

3.2 找到这个跟踪文件(怎么找等我有空再整理整理吧哈哈懒得写了),复制出创建控制文件的脚本

3.3关闭数据库——shutdown abort;

3.4执行重建控制文件的脚本,我的长下面这样

3.5恢复数据库——recover database; 在recover的时候会出现一个新的问题,看这位博主的文章:

https://blog.youkuaiyun.com/shaochenshuo/article/details/46650455

同样的,也是很详细,照着做就行了哈哈。贴个最后成果吧,终于救回了崩溃的实例

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值