dataguard oracle 歸檔管理腳本
阿新 • • 發佈:2017-05-09
dataguard 歸檔管理
管理部分
如果沒有啟用database force logging,則備庫對/*+ append */操作,nologging操作,會報壞塊;
建議表空間force logging或者database force logging;
--force logging /nologging 測試
alter database force logging; select force_logging from dba_tablespaces; select force_logging from v$database; alter tablespace test force logging; select logging,table_name,tablespace_name from user_tables where table_name =‘TEST‘; alter tablespace test no force logging; select tablespace_name,logging,force_logging from dba_tablespaces;
##配置主庫的歸檔刪除策略
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;
--傳過去就刪除
CONFIGURE ARCHIVELOG DELETION POLICY TO SHIPPED TO STANDBY;
備庫刪除腳本
vi delete_archive.sh
#!/bin/sh source /home/oracle/.bash_profile export ORACLE_SID=standby TABLE=‘v$archived_log‘ $ORACLE_HOME/bin/sqlplus -silent "/ as sysdba" <<EOF set heading off; set pagesize 0; set term off; set feedback off; set linesize 199; set trims on ; set verif off; spool /home/oracle/scripts/del_arch.sh; select ‘rm -rf ‘||name from v\$archived_log where DELETED=‘NO‘ and APPLIED=‘YES‘; spool off; exit; EOF chmod +x /home/oracle/scripts/del_arch.sh sh /home/oracle/scripts/del_arch.sh rman target / <<EOF crosscheck archivelog all; delete noprompt expired archivelog all; exit; EOF
增加定時任務:crontab -e
0 1 * * * su - oracle -c /home/oracle/scripts/delete_archive.sh 1
備庫自啟動腳本:
vi /etc/rc.local
su - oracle -c /home/oracle/scripts/start_db.sh vi start_db.sh source /home/oracle/.bash_profile lsnrctl start export ORACLE_SID=standby sqlplus / as sysdba <<EOF startup; recover managed standby database using current logfile disconnect from session; exit
本文出自 “snowhill” 博客,請務必保留此出處http://snowhill.blog.51cto.com/339421/1923810
dataguard oracle 歸檔管理腳本