码迷,mamicode.com
首页 > 数据库 > 详细

Oracle错误——ORA-03113:通信通道的文件结尾

时间:2015-03-19 18:24:25      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:oracle-11g   归档日志   通信通道   文件结尾   ora-03113   

我的Oracle数据库是去年11月份安装的,然后安装好之后配置了一下,那个时候是正常的,没有什么问题,但是后来我就一直没有用自己本地的Oracle,使用的PL/SQL一直连的是同事的机子,然后今天突然想在自己的机子上做些测试,PL/SQL居然一直连不上,提示了下面这个错误。
技术分享

提示ORA-03113:通信通道的文件结尾
进程 ID :0
会话 ID:0 序列号:0

之后就是一系列的度娘谷歌论坛等等折腾,折腾了良久,终究是给解决了。

解决方法:
第一步:

sqlplus / as sysdba
shutdown abort
startup mount
SQL> show parameter background_dump_dest;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
background_dump_dest                 string      E:\app\Administrator\diag\rdbms\crm\crm\trace                                       

我们可以看到上面的这个路径,E:\app\Administrator\diag\rdbms\crm\crm\trace

这个目录的作用:
它指定在 Oracle 操作过程中为后台进程 (LGWR,DBW n 等等) 写入跟踪文件的路径名(目录或磁盘)。它还定义记录着重要事件和消息的数据库预警文件的位置。

我们进入该路径(E:\app\Administrator\diag\rdbms\crm\crm\trace),找到alert_oracle.log,使用记事本打开之后(注意:如果该日志文件比较大的话 系统有可能会卡住,无响应,需要稍等一会儿)可见文件记录错误如下:

技术分享

从这里我们发现了问题的根源:“

ORA-19815: 警告: db_recovery_file_dest_size 字节 (共 4102029312 字节) 已使用100.00%, 尚有 0 字节可用。” 是db_recovery_file_dest_size也叫归档日志空间不足导致的,既然找到问题的根源,那解决起来也就容易了。

解决途径

空间小,那摆在我们面前办法就是,一个是将空间设置大点,另一个就是将多余的文件删除掉即可,那么我们就将这两个办法都使用一下。

第二步:
——–通过命令窗口:设置归档日志空间的大小

SQL> select * from v$recovery_file_dest;
SQL> alter system set db_recovery_file_dest_size=10737418240 ---这里是改为10G。
SQL> alter database open
SQL> exit

第三步:
——–删除归档日志

C:\Users\Administrator>rman target /
进入rman工具窗口
C:\Users\Administrator>rman target /
RMAN>crosscheck archivelog all;  -- 运行这个命令可以把无效的expired的archivelog标出来。
RMAN>delete expired archivelog all; -- 直接全部删除过期的归档日志。
RMAN>delete noprompt archivelog until time "sysdate -3";  -- 也可以直接用一个指定的日期来删除。

到这里就彻底ok了。接下来重新打开数据库:正常使用。

注意:

在删除归档文件中有一点要注意,通过命令窗口显示显示归档文件都在E:\app\Administrator\flash_recovery_area\CRM\ARCHIVELOG 下,但是我们不能手工在操作系统中直接把这些文件删除掉,这是因为在controlfile中记录着每一个archivelog的相关信息,当我们在OS中删除这些文件后,我们的controlfile中仍然记录着这些archivelog的信息,因此在Oracle的OEM管理器中还会存在这些日志。因为当我们手工清除archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,也就是oracle并不知道这些文件已经不存在了。所以还是要通过命令窗口去执行删除这些文件的命令。

备注:

归档日志其实是为了方便我们在恢复数据库时使用的,但是有时候这些归档日志有时确实会给我们带来一点点的小麻烦,所以这些归档日志还是需要我们去注意的。

原文地址:http://www.2cto.com/database/201308/235338.html

Oracle错误——ORA-03113:通信通道的文件结尾

标签:oracle-11g   归档日志   通信通道   文件结尾   ora-03113   

原文地址:http://blog.csdn.net/hu1991die/article/details/44461407

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!