dataguard 删除备库已应用日志,直接编辑以下脚本,然后执行就ok啦!
[oracle@zw_test_26_75 scripts]$ vi delete.sh
#!/bin/sh
table='v$archived_log'
export ORACLE_SID=stxedb
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/db_1
$ORACLE_HOME/bin/sqlplus -silent "/ as sysdba" <<EOF > /home/oracle/scripts/deletedgarch.sh
set heading off;
set pagesize 0;
set term off;
set feedback off;
set linesize 32767;
select 'rm -rf '||name from ${table} where DELETED='NO' and APPLIED='YES';
exit;
EOF
sh /home/oracle/scripts/deletedgarch.sh
rman target /<<END
crosscheck archivelog all;
delete noprompt expired archivelog all;
exit;
table='v$archived_log'
export ORACLE_SID=stxedb
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/db_1
$ORACLE_HOME/bin/sqlplus -silent "/ as sysdba" <<EOF > /home/oracle/scripts/deletedgarch.sh
set heading off;
set pagesize 0;
set term off;
set feedback off;
set linesize 32767;
select 'rm -rf '||name from ${table} where DELETED='NO' and APPLIED='YES';
exit;
EOF
sh /home/oracle/scripts/deletedgarch.sh
rman target /<<END
crosscheck archivelog all;
delete noprompt expired archivelog all;
exit;
END
[oracle@zw_test_26_75 scripts]$ sh delete.sh