cent os oracle 11,cent os 6.6 x64 自动配置oracle 11gr2物理standby脚本

前提:测试脚本是根据上一篇cent os 6.6 x64 自动静默安装oracle 11gr2脚本 安装的两台db,比较干净,所以配置standby比较简单

os:centos 6.6

oracle:11.2.0.4

primary ip:192.108.56.119

primary hostname:ct6602

standby ip:192.108.56.121

standby hostname:ct6604

----以下内容在primary DB上放在一个文本下,oracle用户下sh执行即可:

#!/bin/bash

mkdir /u03/archivelog/ct6602

sqlplus  / as sysdba << EOF

shutdown immediate;

startup mount;

alter database archivelog;

alter system set log_archive_dest_1='LOCATION=/u03/archivelog/ct6602 VALID_FOR=(ALL_LOGFILES,ALL_ROLES) db_unique_name=ct6602';

alter database open;

alter database force logging;

alter system set log_archive_config='DG_CONFIG=(ct6602,ct6602sb)';

alter system set LOG_ARCHIVE_DEST_2='SERVICE=ct6602sb LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,primary_ROLE) DB_UNIQUE_NAME=ct6602sb';

alter system set FAL_SERVER='ct6602sb';

alter system set FAL_CLIENT='ct6602';

alter system set db_file_name_convert='ct6602sb','ct6602' scope=spfile;

alter system set log_file_name_convert='ct6602sb','ct6602' scope=spfile;

alter system set standby_file_management=auto;

create pfile from spfile;

exit

EOF

mkdir /home/oracle/sbbackup

rman target / <

backup database format '/home/oracle/sbbackup/full_db_%U.dbfbk' plus archivelog format '/home/oracle/sbbackup/full_log_%U.logbk';

backup current controlfile for standby format '/home/oracle/sbbackup/sbctl.ctl';

exit

EOF

cat >> /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora << EOF

CT6602SB =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.108.56.121)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = ct6602sb)

)

)

EOF

cat > /home/oracle/scpbackup.sh <

set timeout -1

spawn scp -r /home/oracle/sbbackup  oracle@192.108.56.121:/home/oracle/

expect "password:"

send "system\r"

interact

set timeout -1

spawn scp -r /u01/app/oracle/product/11.2.0/db_1/dbs/orapwct6602  oracle@192.108.56.121:/home/oracle/orapwct6602

expect "password:"

send "system\r"

interact

set timeout -1

spawn scp -r /u01/app/oracle/product/11.2.0/db_1/dbs/initct6602.ora oracle@192.108.56.121:/home/oracle/initct6602.ora

expect "password:"

send "system\r"

interact

EOF

expect /home/oracle/scpbackup.sh

----以下内容在standby DB上放在一个文本下,oracle用户下sh执行即可:

#!/bin/bash

mv /home/oracle/orapwct6602 /u01/app/oracle/product/11.2.0/db_1/dbs/orapwct6602sb

mv /home/oracle/initct6602.ora $ORACLE_HOME/dbs/initct6602sb.ora

cp $ORACLE_HOME/dbs/initct6602sb.ora $ORACLE_HOME/dbs/initct6602sb.ora.bak

cat >> /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora << EOF

CT6602 =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.108.56.119)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = ct6602)

)

)

EOF

sed -i 's/ct6602sb/selectshen/g' $ORACLE_HOME/dbs/initct6602sb.ora

sed -i 's/ct6602/ct6602sb/g' $ORACLE_HOME/dbs/initct6602sb.ora

sed -i 's/selectshen/ct6602/g' $ORACLE_HOME/dbs/initct6602sb.ora

sed -i "s/db_name='ct6602sb'/db_name='ct6602'/" $ORACLE_HOME/dbs/initct6602sb.ora

echo "*.db_unique_name=ct6602sb" >> $ORACLE_HOME/dbs/initct6602sb.ora

mkdir -p /u01/app/oracle/admin/ct6602sb/adump /u02/oradata/ct6602sb /u01/app/oracle/fast_recovery_area/ct6602sb /u03/archivelog/ct6602sb

ORACLE_SID=ct6602sb

sqlplus / as sysdba <

create spfile from pfile;

startup nomount;

exit

EOF

rman target / <

restore standby controlfile from '/home/oracle/sbbackup/sbctl.ctl';

sql 'alter database mount';

restore database;

recover database;

exit;

EOF

sqlplus / as sysdba <

alter database open;

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE disconnect;

select process,thread#,sequence#,status from v\$managed_standby;

exit;

EOF

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值