管理部分
如果没有启用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
原文地址:http://snowhill.blog.51cto.com/339421/1923810