ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Switch log 挂起的小问题

Switch log 挂起的小问题

原创 Linux操作系统 作者:红叶DBA 时间:2010-12-07 15:44:28 0 删除 编辑
时间:2010-9-30        18:40

问题描述:
        执行alter system logfile;发现数据库被hang住了,于是查看alter.log文件,发现大量的如下信息:
        Thu Sep 30 18:35:18 2010
        ARC0: Archiving not possible: No primary destinations
        ARC0: Failed to archive thread 1 sequence 41 (4)
        并且这些信息还在不断的增加。

解决方案:
先手动中断alter system命令,查看archivelog的使用率:
SQL> select * from v$flash_recovery_area_usage;

FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------ ------------------ ------------------------- ---------------
CONTROLFILE        0                0               0
ONLINELOG        0                0               0
ARCHIVELOG        199.85                0              46
BACKUPPIECE        0                0               0
IMAGECOPY        0                0               0
FLASHBACKLOG        0                0               0

发现archivelog的使用率已经达到200%了,初步估计是恢复区空间不足,于是删除不必要的归档日志文件,

SQL> host rman target /

恢复管理器: Release 10.2.0.1.0 - Production on 星期四 9月 30 18:36:57 2010

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

连接到目标数据库: HONGYE (DBID=2409027571)

RMAN> crosscheck archivelog all;

RMAN> delete expired archivelog all;

RMAN> delete obsolete;

再次查看归档日志的空间使用率:
SQL> select * from v$flash_recovery_area_usage;

FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------ ------------------ ------------------------- ---------------
CONTROLFILE                0                         0               0
ONLINELOG                0                         0               0
ARCHIVELOG                43.29                  0              14
BACKUPPIECE                0                         0               0
IMAGECOPY                0                         0               0
FLASHBACKLOG                0                         0               0

空间使用率得到改善,查看恢复区总大小:
SQL> show parameter db_recover

NAME                                 TYPE                     VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string                F:\oracle\product\10.2.0\flash
                                                                         _recovery_area
db_recovery_file_dest_size         big integer          500M

只有500M,显然设置的太小了,于是改为10G。
SQL> alter system set db_recovery_file_dest_size=10g scope=both;

再次查看归档日志的只用率
SQL> select * from v$flash_recovery_area_usage;

FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------ ------------------ ------------------------- ---------------
CONTROLFILE                0                         0               0
ONLINELOG                0                         0               0
ARCHIVELOG                2.11                    0              14
BACKUPPIECE                0                         0               0
IMAGECOPY                0                         0               0
FLASHBACKLOG                0                         0               0

归档文件的使用率已经降低到了2.11%了,再试试切换日志文件
SQL> alter system switch logfile;

系统已更改。

日志文件已经可以正常切换了,至此问题得到解决!

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24465008/viewspace-681094/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-08-19

  • 博文量
    54
  • 访问量
    79746