zoukankan      html  css  js  c++  java
  • ORA-03113:通信通道的文件结尾

    登录Oracle时出现错误:“ORA-03113:通信通道的文件结尾

    错误排查方法

    Oracle出现错误,查看trace日志寻找问题根源:D:oraclediag dbmsorclorcl race

    打开trace目录下的alert_orcl.log

    复制代码
    ************************************************************************
    ARC3: Error 19809 Creating archive log file to 'D:ORACLE_11G INSTALLERFLASH_RECOVERY_AREAORCLARCHIVELOG2019_05_29O1_MF_1_122_%U_.ARC'
    Errors in file D:ORACLEdiag
    dbmsorclorcl	raceorcl_arc1_18628.trc:
    ORA-19815: 警告: db_recovery_file_dest_size 字节 (共 3221225472 字节) 已使用 100.00%, 尚有 0 字节可用。
    ************************************************************************
    You have following choices to free up space from recovery area:
    1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
       then consider changing RMAN ARCHIVELOG DELETION POLICY.
    2. Back up files to tertiary device such as tape using RMAN
       BACKUP RECOVERY AREA command.
    3. Add disk space and increase db_recovery_file_dest_size parameter to
       reflect the new space.
    4. Delete unnecessary files using RMAN DELETE command. If an operating
       system command was used to delete files, then use RMAN CROSSCHECK and
       DELETE EXPIRED commands.
    复制代码

    从日志中可以看到:“ORA-19815: 警告: db_recovery_file_dest_size 字节 (共 3221225472 字节) 已使用 100.00%, 尚有 0 字节可用。”

    这个问题是由于db_recovery_file_dest_size(归档日志)的空间不足导致的。

    解决办法

     1,修改归档日志空间的大小

    SQL> startup mount  -- 装载数据库
    SQL> conn / as sysdba  --dba身份连接
    SQL> select * from v$recovery_file_dest;  --查看归档日志
    SQL> alter system set db_recovery_file_dest_size=4G;  --设置归档日志大小
    SQL> alter database open;  --打开数据库

    需要注意的是:Oracle数据库一共有以下几个状态

    shutdown immediate;
    -- shutdown:关闭状态,Oracle例程关闭。

    startup nomount;
    -- nomount(STARTED):Oracle例程启动,读取参数文件打开实例(分配内存、启动进程)。

    alter database mount;
    -- mount(MOUNTED):读取控制文件。

    alter database open;
    -- open(OPEN):打开数据文件和日志文件。

    查看当前状态:select status from v$instance;

     2,删除归档日志

    使用rman(Recovery Manger)工具

    rman target /  --进入rman
    RMAN> crosscheck archivelog all; --检查控制文件和实际物理文件的差别。
    RMAN> delete noprompt archivelog until time "sysdate-3"; --删除3天前的归档日志
     

    至此问题解决,数据库可以正常使用。

  • 相关阅读:
    【openwrt】——lua字符串操作
    Andriod绘图的基础知识
    protect,public,private 的区别
    fatjar 将项目使用的第三方jar包打包(亲测可用)
    TPshop学习(8)微信支付
    HTTP和HTTPS有什么区别? 什么是SSL证书?使用ssl证书优势?
    LNMP安装Let’s Encrypt 免费SSL证书方法:自动安装与手动配置Nginx
    腾讯云中ssL证书的配置安装
    微信小程序:微信登陆(ThinkPHP作后台)
    转载VC6LineNumberAddin 规格严格
  • 原文地址:https://www.cnblogs.com/JIKes/p/14419351.html
Copyright © 2011-2022 走看看