首页 > 代码库 > ORACLE 11G 单实例 磁盘文件系统 DG 归档日志删除脚本 基于RED HAT LINUX 5.3 X86 64BIT
ORACLE 11G 单实例 磁盘文件系统 DG 归档日志删除脚本 基于RED HAT LINUX 5.3 X86 64BIT
近期做个DG的归档日志删除,
[oracle@.local logs]crontab -l * 8 * * * sh /home/oracle/dbscripts/del_arc.sh
该脚本分别调用 生成 删除 校验 三个脚本
cat del_arc.sh #! /bin/bash source /home/oracle/.bash_profile sh /home/oracle/dbscripts/build_del_archivelog.sh >> /home/oracle/dbscripts/del_arch`date +%F_%H`.sh sleep 5 sh /home/oracle/dbscripts/del_arch`date +%F_%H`.sh >> /home/oracle/dbscripts/logs/del_arch`date +%F_%H`.log sleep 5 sh /home/oracle/dbscripts/crosscheck_archivelog.sh >> /home/oracle/dbscripts/logs/cross_check`date +%F_%H`.log
先看生成的
cat build_del_archivelog.sh sqlplus -s shark/235619<<EOF set heading off set linesize 1000 set echo off set feedback off set timing off set termout on set trimout off set trimspool on set newpage none select ‘rm -f ‘||name from v\$archived_log where applied=‘YES‘ and deleted=‘NO‘ and completion_time < trunc(sysdate); EOF
另外 生成的每行间距太大了,望各位不吝赐教下.
生成的删除脚本
]head del_arch2014-05-07_08.sh rm -f /arch_backup/1_24144_831167377.log rm -f /arch_backup/2_22765_831167377.log
就是Y的太大行间距了.
]cat crosscheck_archivelog.sh #! /bin/bash source /home/oracle/.bash_profile exec >> /home/oracle/dbscripts/logs/del_arch`date +%F_%H`.log $ORACLE_HOME/bin/rman target / <<EOF crosscheck archivelog all; delete noprompt expired archivelog all; #delete noprompt archivelog until time ‘sysdate-1‘; exit; EOF
这是最后个脚本 为 检验! 原本通过它来删除归档日志的 从注解中可知.
这个校验脚本主要是为了清理下归档信息. 假设该信息存放在控制文件里DG是删除不了的
ORACLE 11G 单实例 磁盘文件系统 DG 归档日志删除脚本 基于RED HAT LINUX 5.3 X86 64BIT
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。