注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

常在心

淡泊明志,人生自在

 
 
 

日志

 
 

oracle 闪回下的归档日志过多导致闪回区没有空间引起的问题  

2011-06-27 15:58:49|  分类: oracle问题 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

问题现象:

某开发一员,正在进行一条13万记录的delete操作,由于没有考虑分段分时执行,导致归档日志过多造成当前用户HANG住,同时后面的用户也登录不上去,同时报ORA-00257的错误,怀疑是归档引起的。

问题分析:

接到朋友的紧急通知,告诉他以SYS用户登录上去查看,下面是我的分析过程:

sqlplus / as sysdba

SQL>show parameter log_archive_dest;

SQL> show parameter log_archive_dest;

NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
log_archive_dest                       string
log_archive_dest_1                   string
log_archive_dest_10                  string
log_archive_dest_2                   string
log_archive_dest_3                   string
log_archive_dest_4                   string
log_archive_dest_5                   string
log_archive_dest_6                   string
log_archive_dest_7                   string
log_archive_dest_8                   string
log_archive_dest_9                   string

NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
log_archive_dest_state_1             string                 enable
log_archive_dest_state_10            string                 enable
log_archive_dest_state_2             string                 enable
log_archive_dest_state_3             string                 enable
log_archive_dest_state_4             string                 enable
log_archive_dest_state_5             string                 enable
log_archive_dest_state_6             string                 enable
log_archive_dest_state_7             string                 enable
log_archive_dest_state_8             string                 enable
log_archive_dest_state_9             string                 enable

查看到结果是没有归档目录,是否没有开归档?

SQL>archive log list;

Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     156
Next log sequence to archive   158
Current log sequence           158

可以看到归档已经开启,但默认放在了闪回区里面。

SQL> show parameter db_recovery;

NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
db_recovery_file_dest                string                /home/oracle/flash
db_recovery_file_dest_size           big integer            20G

看到闪回放在ORACLE用户主目录下的一个文件夹里,大小为20G,于是想想为什么那么大空间还不够,后面通过如下的语句,查询得到问题的所在:

SQL>SELECT * FROM V$FLASH_RECOVERY_AREA_USAGE;

FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
CONTROL FILE           0               0                         0
REDO LOG                 0               0                         0
ARCHIVED LOG        99.97          0                         0
BACKUP PIECE            0              0                         0
IMAGE COPY              0               0                         0
FLASHBACK LOG       0              0                         0
FOREIGN ARCHIVED LOG 0       0                         0

看到问题的所在了吧,原来是归档空间撑满了闪回区

问题解决过程:

1)cd /home/oracle/flash/archivelog下清理历史的日志
2)备份归档日志,RMAN进行逻辑上的清理

rman target /

RMAN>crosscheck all;

RMAN>delete expired archivelog all;

  评论这张
 
阅读(356)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017