码迷,mamicode.com
首页 > 数据库 > 详细

dataguard oracle 归档管理脚本

时间:2017-05-09 17:48:27      阅读:198      评论:0      收藏:0      [点我收藏+]

标签: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 归档管理脚本

标签:dataguard 归档管理

原文地址:http://snowhill.blog.51cto.com/339421/1923810

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!