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

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错误)如:

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

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

更多推荐

oracle数据库出现01034错误,oracle数据库ORA 01034错误问题解决方案