• 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> delete noprompt archivelog until time "sysdate-3"; --删除3天前的归档日志

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

  • 相关阅读:
    MATLAB仿真学习笔记(一)
    SolidWorks学习笔记(一)
    机械制造技术学习笔记(七)
    基于MATLAB的多功能语音处理器
    MATLAB图形界面设计(下)
    36、如何避免僵尸进程?
    37、局部性原理你知道吗?主要有哪两大局部性原理?各自是什么?
    35、 守护进程、僵尸进程和孤儿进程
    32、什么是快表,你知道多少关于快表的知识?
    30、终端退出,终端运行的进程会怎样?31、如何让进程后台运行
  • 原文地址:https://www.cnblogs.com/colaclicken/p/10943942.html
Copyright © 2020-2023  润新知