DATAGUARD STANDBY 服务器归档日志管理
#! /bin/bash
source /home/oracle/.bash_profile
/opt/app/oracle/product/11.2.0/bin/rman target sys/sysPass@stbdb nocatalog log /home/oracle/bin/logs/"`date +%m%d`"_rman.log append <<EOF
run
{
crosscheck archivelog all;
delete expired archivelog all;
delete noprompt expired archivelog all;
DELETE ARCHIVELOG ALL COMPLETED before 'SYSDATE-7';
}
EOF
#前3行代碼為后來(lái)添加,在standby 服務(wù)器中,如果備份規(guī)則設(shè)置成保留一分備份集是不行的。因?yàn)樵趕tandby中,并沒(méi)有備份集。
所以只能只留幾天的歸檔。
前段時(shí)間執(zhí)行可能出錯(cuò)。因?yàn)闆](méi)有加日志,也沒(méi)看到,今天出錯(cuò)了,+RECOVERY 空間不夠。
SHELL 修改如下:
[oracle@dg1 bin]$ cat delete_archive.sh
#! /bin/bash
source /home/oracle/.bash_profile
/opt/app/oracle/product/11.2.0/bin/rman target sys/sysPass@stbdb nocatalog log /home/oracle/bin/logs/"`date +%m%d`"_rman.log append <<EOF
run
{
DELETE ARCHIVELOG ALL COMPLETED before 'SYSDATE-7;
}
EOF
[oracle@dg1 bin]$
再用一個(gè)SHELL 刪除ASMCMD 目錄下的過(guò)期文件(如果上面的RMAN 刪除不成功,那就這個(gè)吧)
這個(gè)腳本使用GRID用戶(hù)登錄ASMCMD.
[grid@dg1 ~]$ cat del_log.sh
#!/bin/sh
#su - oracle
source /home/grid/.bash_profile
arch_dir='+RECOVERY/stbdb/archivelog/'
del_date=`date +%Y_%m_%d -d'-7 day'`
asmcmd rm -rf $arch_dir$del_date
[grid@dg1 ~]$
總結(jié)
以上是生活随笔為你收集整理的DATAGUARD STANDBY 服务器归档日志管理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【性能优化】之 BITMAP 及分区表
- 下一篇: 一个修改RAC REDO引起的DATAG