[20131115]archivelog产生太快dataguard磁盘满的问题解决.txt

简介: [20131115]archivelog产生太快dataguard磁盘满的问题解决.txt今天早上例行检查数据库,发现开发升级程序有问题,有一个表的修改出现循环,不断修改一个字段,导致archive日志产生太多,dataguard的磁盘空间不足,日志无法应用的情况。
[20131115]archivelog产生太快dataguard磁盘满的问题解决.txt

今天早上例行检查数据库,发现开发升级程序有问题,有一个表的修改出现循环,不断修改
一个字段,导致archive日志产生太多,dataguard的磁盘空间不足,日志无法应用的情况。

解决方法1:
1.在dg上查看:
SQL> set numwidth 20
SQL> select current_scn from v$database ;

CURRENT_SCN
-----------
10217872689

--然后在生产系统执行备份:
BACKUP INCREMENTAL FROM SCN 10217872689 DATABASE tag="inc20131115"  format '/mnt/xxx.backup/inc_%U';

--然后在dg上,catalog备份:
RMAN> catalog start with '/mnt/xxx.backup/';
RMAN> recover automatic standby database until cancel;

--我们生产系统没有增量备份,数据库很大(1.2T),这样做备份时间有点长,而且上午有业务跑,可能影响正常的业务操作。
--放弃这种方式!

解决方法2:
1.检查dg的alert*.log:
Thu Nov 14 01:23:11 2013
Media Recovery Log +G0/xxxx/archivealias/0001_0000024627_772789050.dbf
Thu Nov 14 01:23:12 2013
...
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[1208]: Assigned to RFS process 16354
RFS[1208]: Identified database type as 'physical standby'
Creating archive destination file : +G0/xxxx/archivealias/0001_0000025355_772789050.dbf (72860 blocks)
Thu Nov 14 01:23:13 2013
Errors in file /u01/app/oracle/admin/xxxx/udump/xxxx_rfs_16354.trc:
ORA-00270: error creating archive log +G0/xxxx/archivealias/0001_0000025355_772789050.dbf
ORA-19504: failed to create file "+G0/xxxx/archivealias/0001_0000025355_772789050.dbf"
ORA-17502: ksfdcre:4 Failed to create file +G0/xxxx/archivealias/0001_0000025355_772789050.dbf
ORA-15041: diskgroup space exhausted
Thu Nov 14 01:23:13 2013

--很明显日志应用到+G0/xxxx/archivealias/0001_0000024627_772789050.dbf出现磁盘满的情况。
 
2.先删除已经应用的日志,在dg上删除不需要的archivelog日志,腾出磁盘空间:

RMAN> delete archivelog  until logseq 24626;
--保险一点,我还保留logseq=24627的archivelog;

3.应用日志:
SQL> alter database recover managed standby database using current logfile disconnect ;

4.在dg上不断检测alert*.log日志:
$ tail -f alert_xxx.log | grep '^Media Recovery Log'

4.这样不停的重复第2步问题解决,把已经应用的日志删除。
RMAN> delete archivelog  until logseq XXX;
--最好每次少1,安全一点。
--使用2个多小时,问题解决。

总结:
1.主要问题没有做好数据库监测。
2.dg的硬盘空间也太小了,选择更大的磁盘,这个问题就没有这么麻烦了。

--补充:
正好看了1篇blog,http://ardentperf.com/2013/11/18/delete-archived-logs-from-standby/
提供1个脚本,删除已经应用的blog。内容如下:
PRE="set pagesize 0 \n set feedback off \n"; SS="$ORACLE_HOME/bin/sqlplus -L -S / as sysdba"
ROLE=$(echo -e "$PRE select database_role from v\$database;" | $SS)
[[ "$ROLE" != "PHYSICAL STANDBY" ]] && { echo "ERROR: database not a physical standby"; exit 1; }
THREADS=$(echo -e "$PRE select distinct thread# from v\$archived_log;" | $SS)
for THREAD in $THREADS; do
  MAX_APPLIED=$(echo -e "$PRE select max(sequence#) from v\$archived_log where applied='YES' and thread#=$THREAD;" | $SS)
  echo "delete noprompt archivelog until sequence $MAX_APPLIED thread $THREAD;"|rman target /
done



相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
测试技术 数据库
[20180202]备库数据文件offline.txt
[20180202]备库数据文件offline.txt --//今天测试,不小心导致日志无法应用.我想把主库文件拷贝过去,做了备库数据文件offline. --//恢复遇到问题,做一个记录.
1213 0
|
Oracle 关系型数据库 数据库管理
[20161101]rman备份与数据文件变化7.txt
[20161101]rman备份与数据文件变化7.txt --//想象一下,如果备份文件时间很长,而这个时候数据文件大小发生了变化,oracle的备份如何解决这个问题呢? --//去年已经测试了建立备份集的情况,一直想做一次image copy的测试,一直脱,主要原因自己不想做这个测试.
1173 0
|
Oracle 关系型数据库 OLAP
[20171123]rman备份与数据文件变化6.txt
[20171123]rman备份与数据文件变化6.txt --//想象一下,如果备份文件时间很长,而这个时候数据文件大小发生了变化,oracle的备份如何解决这个问题呢? --//去年已经测试了建立备份集的情况,一直想做一次image copy的测试,一直脱,主要原因自己不想做这个测试.
778 0
|
Oracle 关系型数据库 数据库管理
[20161102]rman备份与数据文件变化5.txt
[20161102]rman备份与数据文件变化5.txt --想象一下,如果备份文件时间很长,而这个时候数据文件大小发生了变化,oracle的备份如何解决这个问题呢? --前面我已经做了增大数据文件,参考链接:http://blog.itpub.net/267265/viewspace-2127386/ --这次测试减少数据文件大小看看。
701 0
|
Oracle 关系型数据库 数据库
[20161101]rman备份与数据文件变化4.txt
[20161101]rman备份与数据文件变化4.txt --想象一下,如果备份文件时间很长,而这个时候数据文件大小发生了变化,oracle的备份如何解决这个问题呢? --前面我已经做了增大数据文件,参考链接:http://blog.itpub.net/267265/viewspace-2127386/ --这次测试减少数据文件大小看看。
938 0
|
Oracle 关系型数据库 数据库管理
[20161031]rman备份与数据文件变化2.txt
[20161031]rman备份与数据文件变化2.txt --想象一下,如果备份文件时间很长,而这个时候数据文件大小发生了变化,oracle的备份如何解决这个问题呢? 1.
912 0
|
Oracle 关系型数据库 数据库管理
[20161031]rman备份与数据文件变化3.txt
[20161031]rman备份与数据文件变化3.txt --想象一下,如果备份文件时间很长,而这个时候数据文件大小发生了变化,oracle的备份如何解决这个问题呢? --前面我已经做了增大数据文件,参考链接:http://blog.itpub.net/267265/viewspace-2127386/ --这次测试减少数据文件大小看看。
743 0
|
Oracle 关系型数据库 测试技术
[20160816]11G dataguard坏块修复.txt
[20160816]11G dataguard坏块修复.txt --11GR2 不仅仅支持在备库在只读的情况下,日志应用(ACTIVE Data Guard),还提供主备库的坏块修复.
1034 0
|
Oracle 关系型数据库 数据库
[20160524]rman备份与检查点4.txt
[20160524]rman备份与检查点4.txt --链接: http://blog.itpub.net/267265/viewspace-2105221/ http://blog.
872 0
|
Oracle 关系型数据库 数据库
[20160523]rman备份与检查点3.txt
[20160523]rman备份与检查点3.txt --从前面的测试可以发现: --1.通过以上信息可以确定备份文件会写检查点. --2.而且备份文件是先写检查点,再做备份.
724 0