zoukankan      html  css  js  c++  java
  • 一次数据库无法正常启动处理

    安装在自己电脑上oracle数据库许久没用了,今天突然要用到它,就想起他来了。想通过pl/sql直接远程过去,发现远程不上报ora-12514。看到这个错误代码,第一反应是监听出问题了?检查了监听发现并没有错误。然后去查看了alert.log日志,在这里面找到了错误原因所在

    ORA-19815: WARNING: db_recovery_file_dest_size of 320 bytes is 100.00% used, and has 0 remaining bytes available.

    db_recovery_file_dest_size 字节 (共 320 字节) 已使用 100.00%, 尚有 0 字节可用,大概就这意思。

    原来是归档日志满了,导致无法正常启动。两个解决办法:

    一、通过rman删除之前的归档日志

    C:UsersAdministrator>rman target /
    
    恢复管理器: Release 11.2.0.1.0 - Production on 星期五 10月 12 15:25:02 2018
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    
    连接到目标数据库: ORCL (DBID=1494831250)
    
    RMAN>crosscheck archivelog all; #如果日志较多的话这个时间比较长,完成之后执行下面的命令,
    RMAN> delete expired archivelog all; #没有匹配日志,那就只能删除多少天之前的日志了

    释放的通道: ORA_DISK_1
    分配的通道: ORA_DISK_1
    通道 ORA_DISK_1: SID=195 设备类型=DISK
    说明与资料档案库中的任何归档日志都不匹配

    RMAN>delete noprompt archivelog until time "sysdate-3";
    二、进入mount状态关闭归档
    C:UsersAdministrator>sqlplus /nolog
    
    SQL*Plus: Release 11.2.0.1.0 Production on 星期五 10月 12 15:34:20 2018
    
    Copyright (c) 1982, 2010, Oracle.  All rights reserved.
    
    SQL> conn / as sysdba
    已连接。
    SQL>shutdown immediate;
    数据库已经关闭。
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> startup mount;
    ORACLE 例程已经启动。

    Total System Global Area 1071333376 bytes
    Fixed Size                  1375792 bytes
    Variable Size             704643536 bytes
    Database Buffers          360710144 bytes
    Redo Buffers                4603904 bytes
    数据库装载完毕。
    SQL> alter database archivelog;

    数据库已更改。

    SQL> startup force;
    ORACLE 例程已经启动。

    Total System Global Area 1071333376 bytes
    Fixed Size                  1375792 bytes
    Variable Size             704643536 bytes
    Database Buffers          360710144 bytes
    Redo Buffers                4603904 bytes
    数据库装载完毕。
    数据库已经打开。
    SQL> archive log list;
    数据库日志模式            非存档模式
    自动存档             禁用
    存档终点            USE_DB_RECOVERY_FILE_DEST
    最早的联机日志序列     459
    下一个存档日志序列   461
    当前日志序列           46
    SQL>

    如果是直接alter system set db_recovery_file_dest_size=20扩容归档大小,在启动数据库的时候会报错,提示如下:

    Errors in file e:appadministratordiag
    dbmsorclorcl	raceorcl_ora_5200.trc:
    ORA-19809: 超出了恢复文件数的限制
    ORA-19804: 无法回收 47600128 字节磁盘空间 (从 320 限制中)
    ARCH: Error 19809 Creating archive log file to 'E:APPADMINISTRATORFLASH_RECOVERY_AREAORCLARCHIVELOG2018_10_12O1_MF_1_456_%U_.ARC'
    Errors in file e:appadministratordiag
    dbmsorclorcl	raceorcl_ora_5200.trc:
    ORA-16038: 日志 3 sequence# 456 无法归档
    ORA-19809: 超出了恢复文件数的限制
    ORA-00312: 联机日志 3 线程 1: 'E:APPADMINISTRATORORADATAORCLREDO03.LOG'

    所以,最好是先通过rman删除过期归档日志,然后在扩容归档日志大小。

    注:方法二不要在生产库中操作做

  • 相关阅读:
    Dynamics AX 2012 R2 配置E-Mail模板
    Dynamics AX 2012 R2 设置E-Mail
    Dynamics AX 2012 R2 为运行失败的批处理任务设置预警
    Dynamics AX 2012 R2 耗尽用户
    Dynamics AX 2012 R2 创建一个专用的批处理服务器
    Dynamics AX 2012 R2 创建一个带有负载均衡的服务器集群
    Dynamics AX 2012 R2 安装额外的AOS
    Dynamics AX 2012 R2 将系统用户账号连接到工作人员记录
    Dynamics AX 2012 R2 从代码中调用SSRS Report
    Dynamics AX 2012 R2 IIS WebSite Unauthorized 401
  • 原文地址:https://www.cnblogs.com/Roobbin/p/9778517.html
Copyright © 2011-2022 走看看