zoukankan      html  css  js  c++  java
  • ORA03113: endoffile on communication channel

    Oracle启动报错

    解决方案如下

    一、查看启动日志

    1. 日志文件,ekp/ekp 数据库实例名
      cd home/oracle/app/diag/rdbms/ekp/ekp/trace

    2. (c时间排序、r倒序) 定位启动日志
      ls -alcr | grep alert

    3. 然后重启运行startup命令:得到oracle提示如下:
      tail -f -n 500 alert_ekp.log

          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.
      

    二、使用mount启动oracle

    1. 使用oracle用户
      su - oracle
    2. 使用SQL命令窗口
      sqlplus /nolog
    3. 连接到管理员用户
      conn /as sysdba
    4. 启动数据库(打开控制文件)
      startup mount

    三、查看并清理不需要的归档日志

    1. 查看恢复区(闪回区)位置及大小
      SQL> show parameter db_recovery;
        NAME                                 TYPE        VALUE                          
        ------------------------------------ ----------- ------------------------------  
        db_recovery_file_dest                string      /home/oracle/app/fast_recovery  
                                                        _area  
        db_recovery_file_dest_size           big integer 6G  
    
    1. 查询当前的使用状态
      select file_type,PERCENT_SPACE_USED,NUMBER_OF_FILES from v$flash_recovery_area_usage;
    2. 物理清除归档路径下的日志文件:
      1. 退出sql命令窗口:
      2. 进入到对应的归档实例日志目录
        cd /home/oracle/app/fast_recovery_area
      3. 清理不需要的归档日志
        清理前请对需要的日子做好备份潮州:
        rm -rf 不需要的日子文件目录
        物理日志文件清理后,还需要在ramn管理中清理一次,不然还是显示的空间没有释放

    四、进入rman命令行:通过rman管理工具清理

    1. 进入rman命令行
      rman nocatalog nocatalog方式
      connect target / 连接
    2. 连接上数据库实例
      connect target sys/sys_passwd sys_passwd sys的密码
    3. 执行删除缓存命令
        crosscheck backup;  
        delete obsolete;  
        delete expired backup;  
        crosscheck archivelog all;  
        delete expired archivelog all;  
    

    此步会有提示,输入 YES 回车
    退出rman 删除完成,重新连接数据库

    五、清理完毕后查看结果

    1. 查看结果
      sqlplus /nolog
      SQL> connect /as sysdba
      SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

    六、重新启动数据库ok

  • 相关阅读:
    [重回VB6]简单的QQWeb网游辅助工具开发之旅1、序言,另类的QQ登陆方法
    QQ和360大战我的观点
    不用IE Test ,快速对IE兼容性进行测试
    第八届软件设计大赛完全作品赛前评析与剧透
    屌丝如何分发大文件(大于1G)
    NetDog 酷炫版 0.1测试版发布
    Jquery制作的页码插件
    使用Html5+CSS3摆脱JS做带提示文字的输入框
    在nhibernate中,Load相同ID的实体对象的时候出错的问题!
    fieldset,legend
  • 原文地址:https://www.cnblogs.com/liyiren/p/15620121.html
Copyright © 2011-2022 走看看