使用Oracle数据库的朋友经常会碰到的错误ORA-3113 "end of fileon communication channel" 就是这样的一个,我们可以简单的把这个错误理解为Oracle客户端进程和数据库后台进程连接中断。不过,导致这个错误的原因实际上有很多种,对数据库设置不当、任何能导致数据库后台进程崩溃的行 为都可能产生这个错误.这个错误的出现还经常伴随着其它错误,比如说: ORA-1034 ORACLE not available。

3097d52f5a5153ad1c170067b61f4658.png

ora-01034错误的原因是因为数据库的控制文件没有加在startup mount 后,建议查看oracle数据库的归档与否。如果是归档的报错原因可能是因为归档日志的格式不正确,所以在mount下改变一下归档日志的格式(format)具体如下:

alter system set log_archive_dest_1='location=D:\OraHome_1\admin\orcl\arh';

alter system set log_archive_max_processes=3;

alter system set log_archive_format='arh_%t_%s_%r.log' scope=spfile;

alter system set log_archive_format='%t_%s.dbf'

结果发现上述方法不能进入mount状态,最大的可能是系统初始化文件出了问题,原来SPFILEORCL.ORA是二进制文件,不能直接修改,必须通过命令创建和修改。于是,重建spfile文件(注:找到spfile存放的位置,然后新建一个spfile文件)具体如下:

SQL> create spfile from pfile='d:\admin\orcl\pfile\init.ora';

文件已创建。

SQL> startup(如果执行startup出现ora-01081错误)如:

9eaf23b08e10fd93d408c003a36470e0.png

遇到ora-01081错误,解决方法是接着执行:

974fb917161af4cbb67bfd8bfb7bcce0.png

现在可以确定,这个错误都是因为文档无法归档的原因。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐