zoukankan      html  css  js  c++  java
  • oracle真实案例之闪回区存储空间耗尽解决方法(ORA19815解决方法)

    这个是一个真实的oracle(ORA-19815解决方法)的案例,希望对大家有帮助。

    今天朋友公司的平台出现了登陆缓慢、查询数据慢问题,并且通过spotlight监控oracle也出现登陆不成功现象,通过查看系统的内存、进程等,没有发现问题,最后找到了我,我先查看了一下平台的内存、进程,也没有发现问题,最后查看oracle的告警日志,发现问题如下:

    1 ARC0: Failed to archive thread 1 sequence 53 (19809)  

    2 Sun Jun 10 23:12:12 2012  

    3 Errors in file /home/oracle/admin/BGTP/bdump/bgtp_arc1_3906.trc:  

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

    5 Sun Jun 10 23:12:12 2012  

    6 ************************************************************************  

    7 You have following choices to free up space from flash recovery area:  

    8 1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,  

    9    then consider changing RMAN ARCHIVELOG DELETION POLICY.  

    10 2. Back up files to tertiary device such as tape using RMAN  

    11    BACKUP RECOVERY AREA command.  

    12 3. Add disk space and increase db_recovery_file_dest_size parameter to  

    13    reflect the new space.  

    14 4. Delete unnecessary files using RMAN DELETE command. If an operating  

    15    system command was used to delete files, then use RMAN CROSSCHECK and  

    16    DELETE EXPIRED commands.  

    17 ************************************************************************  

    是ORA-19815问题,通过metalink查询,是闪回区空间耗尽,解决的方法我使用增大闪回区的存储空间,来解决此问题

    现在先查看一下v$recovery_file_dest试图

    可以发现可以回收的空间为0,在查看闪回区的使用率

    18 SQL> select file_type, percent_space_used as used,percent_space_reclaimable as reclaimable, number_of_files as "number" from v$flash_recovery_area_usage;   

    19  

    20 FILE_TYPE      USED RECLAIMABLE number  

    21 ------------ ---------- ----------- ----------  

    22 CONTROLFILE       0       0      0  

    23 ONLINELOG         0       0      0  

    24 ARCHIVELOG    98.65       0     51  

    25 BACKUPPIECE       0       0      0  

    26 IMAGECOPY         0       0      0  

    27 FLASHBACKLOG          0       0      0  

    28  

    29 6 rows selected.  

    发现已经使用了98.65%了

    下面为解决此问题的方法

    登陆数据库

    30 [oracle@master ~]$ sqlplus / as sysdba  

    31  

    32 SQL*Plus: Release 10.2.0.1.0 - Production on Sun Jun 10 22:41:54 2012  

    33  

    34 Copyright (c) 1982, 2005, Oracle.  All rights reserved.  

    35  

    36  

    37 Connected to:  

    38 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production  

    39 With the Partitioning, OLAP and Data Mining options  

    先查看当前的闪回区大小

    40 SQL> show parameter db_recovery_file_dest  

    41  

    42 NAME                     TYPE    VALUE  

    43 ------------------------------------ ----------- ------------------------------  

    44 db_recovery_file_dest            string  /home/oracle/flash_recovery_ar  

    45                          ea  

    46 db_recovery_file_dest_size       big integer 2G  

    47 SQL> archive log list;  

    48 Database log mode          Archive Mode  

    49 Automatic archival         Enabled  

    50 Archive destination        USE_DB_RECOVERY_FILE_DEST  

    51 Oldest online log sequence     53  

    52 Next log sequence to archive   53  

    53 Current log sequence           55  

    可以看得闪回区的大小为2g,所以我把他扩展为10g

    54 SQL> alter system set db_recovery_file_dest_size=10G scope=both;  

    55  

    56 System altered.  

    然后在查看闪回区的使用情况

    57 SQL>  select * from v$recovery_file_dest;  

    58  

    59 NAME                      SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES  

    60 ---------------------------------------- ------------ ---------- ----------------- ---------------  

    61 /home/oracle/flash_recovery_area      10737418240 2383963648         0      57  

    62  

    63 SQL>  show parameter db_recovery_file_dest  

    64  

    65 NAME                     TYPE    VALUE  

    66 ------------------------------------ ----------- ------------------------------  

    67 db_recovery_file_dest            string  /home/oracle/flash_recovery_ar  

    68                          ea  

    69 db_recovery_file_dest_size       big integer 10G  

    在查看一下闪回区的使用率

    70 SQL> select file_type, percent_space_used as used,percent_space_reclaimable as reclaimable, number_of_files as "number" from v$flash_recovery_area_usage;   

    71  

    72 FILE_TYPE      USED RECLAIMABLE number  

    73 ------------ ---------- ----------- ----------  

    74 CONTROLFILE       0       0      0  

    75 ONLINELOG         0       0      0  

    76 ARCHIVELOG     22.2       0     57  

    77 BACKUPPIECE       0       0      0  

    78 IMAGECOPY         0       0      0  

    79 FLASHBACKLOG          0       0      0  

    80  

    81 6 rows selected.  

    从之前的98.65%降到了22.2%,在查看一下告警日志

    82 db_recovery_file_dest_size of 10240 MB is 20.14% used. This is a  

    83 user-specified limit on the amount of space that will be used by this  

    84 database for recovery-related files, and does not reflect the amount of  

    85 space available in the underlying filesystem or ASM diskgroup.  

    86 Sun Jun 10 23:12:12 2012  

    87 ALTER SYSTEM SET db_recovery_file_dest_size='10G' SCOPE=BOTH;  

    88 Sun Jun 10 23:12:15 2012  

    89 Archiver process freed from errors. No longer stopped  

    90 Sun Jun 10 23:12:15 2012  

    91 Thread 1 advanced to log sequence 56  

    92   Current log# 1 seq# 56 mem# 0: /home/oracle/oradata/BGTP/redo01.log  

    93 Thread 1 advanced to log sequence 57  

    94   Current log# 2 seq# 57 mem# 0: /home/oracle/oradata/BGTP/redo02.log  

    95 Sun Jun 10 23:12:27 2012  

    96 Thread 1 cannot allocate new log, sequence 58  

    97 Checkpoint not complete  

    98   Current log# 2 seq# 57 mem# 0: /home/oracle/oradata/BGTP/redo02.log  

    99 Thread 1 advanced to log sequence 58  

    100   Current log# 3 seq# 58 mem# 0: /home/oracle/oradata/BGTP/redo03.log  

    101 Sun Jun 10 23:12:52 2012  

    102 Thread 1 advanced to log sequence 59  

    103   Current log# 1 seq# 59 mem# 0: /home/oracle/oradata/BGTP/redo01.log  

    104 Sun Jun 10 23:12:52 2012  

    105 Trying to expand controlfile section 11 for Oracle Managed Files  

    106 Expanded controlfile section 11 from 56 to 112 records  

    107 Requested to grow by 56 records; added 2 blocks of records  

    已经不在重复的报ORA-19815错误了,现在闪回区空间使用爆满问题已经解决。

    然后我的spotlight监控也已经可以监控oracle了,下面是spotlight监控oracle的图

    解决ORA-19815的方法很多,我这个只是其中的一种,感谢oracle 的metalink

    本文出自 “吟—技术交流” 博客,请务必保留此出处http://dl528888.blog.51cto.com/2382721/895168

  • 相关阅读:
    Window10 Electron 开发环境搭建及打包exe程序
    windows 10 安装node.js
    php 电商系统SKU库存设计
    doT.js使用介绍
    ajax提交时 富文本CKEDITOR 获取不到内容
    tp5 接入腾讯对象存储COS
    redis搭建
    TP3.2.3 接入阿里sms 短信接口
    ckeditor + ckfinder + oss存储
    在项目中随手把haseMap改成了currenHaseMap差点被公司给开除了。
  • 原文地址:https://www.cnblogs.com/liuslayer/p/15678631.html
Copyright © 2011-2022 走看看