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

  • 相关阅读:
    记录一些笔记~
    JS里的居民们7-对象和数组转换
    JS里的居民们6-数组排序
    JS里的居民们5-数组(栈)
    MySQL设置当前时间为默认值的方法
    session过期问题
    MyIsam和InnoDB的区别
    ajax请求 json格式和数组格式总结
    wamp 2.5 开放访问权限和设置虚拟域名
    checkbox属性checked="checked"通过js已设置,但是不勾选
  • 原文地址:https://www.cnblogs.com/liyiren/p/15620121.html
Copyright © 2011-2022 走看看