• 一次数据库无法正常启动处理


    安装在自己电脑上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删除过期归档日志,然后在扩容归档日志大小。

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

  • 相关阅读:
    bzoj4734
    51nod1056
    51nod1048
    51nod1248
    51nod1044
    51nod1132
    51nod1146
    51nod1226
    Spring Boot: Jdbc javax.net.ssl.SSLException: closing inbound before receiving peer's close_notify
    sqlserver命令创建数据库和表 demo
  • 原文地址:https://www.cnblogs.com/Roobbin/p/9778517.html
Copyright © 2020-2023  润新知