ITPub博客

首页 > 数据库 > Oracle > cent os 6.6 x64 自动配置oracle 11gr2物理standby脚本

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

Oracle 作者:彩伦 时间:2016-06-08 10:29:44 0 删除 编辑
<span style="font-size:16px;"></span><span style="font-size:16px;"><strong><br /> 前提:</strong>测试脚本是根据上一篇<a target="_blank" href="http://blog.itpub.net/28539951/viewspace-1764034/"><u><strong>cent os 6.6 x64 自动静默安装oracle 11gr2</strong></u><span style="font-size:16px;"><u><strong>脚本</strong></u></span></a> 安装的两台db,比较干净,所以配置standby比较简单</span><br /> <span style="font-size:16px;"><br /> os:centos 6.6</span><br /> <span style="font-size:16px;">oracle:11.2.0.4</span><br /> <span style="font-size:16px;">primary ip:192.108.56.119</span><br /> <span style="font-size:16px;">primary hostname:ct6602</span><br /> <span style="font-size:16px;">standby ip:192.108.56.121</span><br /> <span style="font-size:16px;">standby hostname:ct6604<br /> </span><br /> <span style="font-size:16px;"><strong>----以下内容在primary DB上放在一个文本下,oracle用户下sh执行即可:</strong></span><br /> <span style="font-size:16px;">#!/bin/bash</span><br /> <br /> <span style="font-size:16px;">mkdir /u03/archivelog/ct6602</span><br /> <span style="font-size:16px;">sqlplus&nbsp; / as sysdba &lt;&lt; EOF</span><br /> <span style="font-size:16px;">shutdown immediate;</span><br /> <span style="font-size:16px;">startup mount;</span><br /> <span style="font-size:16px;">alter database archivelog;</span><br /> <span style="font-size:16px;">alter system set log_archive_dest_1='LOCATION=/u03/archivelog/ct6602 VALID_FOR=(ALL_LOGFILES,ALL_ROLES) db_unique_name=ct6602';</span><br /> <span style="font-size:16px;">alter database open;</span><br /> <span style="font-size:16px;">alter database force logging;</span><br /> <span style="font-size:16px;">alter system set log_archive_config='DG_CONFIG=(ct6602,ct6602sb)';</span><br /> <span style="font-size:16px;">alter system set LOG_ARCHIVE_DEST_2='SERVICE=ct6602sb LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,primary_ROLE) DB_UNIQUE_NAME=ct6602sb';</span><br /> <span style="font-size:16px;">alter system set FAL_SERVER='ct6602sb';</span><br /> <span style="font-size:16px;">alter system set FAL_CLIENT='ct6602';</span><br /> <span style="font-size:16px;">alter system set db_file_name_convert='ct6602sb','ct6602' scope=spfile;</span><br /> <span style="font-size:16px;">alter system set log_file_name_convert='ct6602sb','ct6602' scope=spfile;</span><br /> <span style="font-size:16px;">alter system set standby_file_management=auto;</span><br /> <span style="font-size:16px;">create pfile from spfile;</span><br /> <span style="font-size:16px;">exit</span><br /> <span style="font-size:16px;">EOF</span><br /> <br /> <span style="font-size:16px;">mkdir /home/oracle/sbbackup</span><br /> <span style="font-size:16px;">rman target / &lt;&lt;EOF</span><br /> <span style="font-size:16px;">backup database format '/home/oracle/sbbackup/full_db_%U.dbfbk' plus archivelog format '/home/oracle/sbbackup/full_log_%U.logbk';</span><br /> <span style="font-size:16px;">backup current controlfile for standby format '/home/oracle/sbbackup/sbctl.ctl';</span><br /> <span style="font-size:16px;">exit</span><br /> <span style="font-size:16px;">EOF</span><br /> <br /> <br /> <span style="font-size:16px;">cat &gt;&gt; /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora &lt;&lt; EOF</span><br /> <span style="font-size:16px;">CT6602SB =</span><br /> <span style="font-size:16px;">&nbsp; (DESCRIPTION =</span><br /> <span style="font-size:16px;">&nbsp;&nbsp;&nbsp; (ADDRESS = (PROTOCOL = TCP)(HOST = 192.108.56.121)(PORT = 1521))</span><br /> <span style="font-size:16px;">&nbsp;&nbsp;&nbsp; (CONNECT_DATA =</span><br /> <span style="font-size:16px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SERVER = DEDICATED)</span><br /> <span style="font-size:16px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SERVICE_NAME = ct6602sb)</span><br /> <span style="font-size:16px;">&nbsp;&nbsp;&nbsp; )</span><br /> <span style="font-size:16px;">&nbsp; )</span><br /> <span style="font-size:16px;">EOF</span><br /> <br /> <span style="font-size:16px;">cat &gt; /home/oracle/scpbackup.sh &lt;&lt;EOF</span><br /> <span style="font-size:16px;">set timeout -1</span><br /> <span style="font-size:16px;">spawn scp -r /home/oracle/sbbackup&nbsp; oracle@192.108.56.121:/home/oracle/</span><br /> <span style="font-size:16px;">expect "password:"</span><br /> <span style="font-size:16px;">send "system\r"</span><br /> <span style="font-size:16px;">interact</span><br /> <span style="font-size:16px;">set timeout -1</span><br /> <span style="font-size:16px;">spawn scp -r /u01/app/oracle/product/11.2.0/db_1/dbs/orapwct6602&nbsp; oracle@192.108.56.121:/home/oracle/orapwct6602</span><br /> <span style="font-size:16px;">expect "password:"</span><br /> <span style="font-size:16px;">send "system\r"</span><br /> <span style="font-size:16px;">interact</span><br /> <span style="font-size:16px;">set timeout -1</span><br /> <span style="font-size:16px;">spawn scp -r /u01/app/oracle/product/11.2.0/db_1/dbs/initct6602.ora oracle@192.108.56.121:/home/oracle/initct6602.ora</span><br /> <span style="font-size:16px;">expect "password:"</span><br /> <span style="font-size:16px;">send "system\r"</span><br /> <span style="font-size:16px;">interact</span><br /> <span style="font-size:16px;">EOF</span><br /> <br /> <span style="font-size:16px;">expect /home/oracle/scpbackup.sh</span><br /> <br /> <br /> <span style="font-size:16px;"><strong>----以下内容在standby DB上放在一个文本下,oracle用户下sh执行即可:</strong></span><br /> <span style="font-size:16px;">#!/bin/bash</span><br /> <br /> <span style="font-size:16px;">mv /home/oracle/orapwct6602 /u01/app/oracle/product/11.2.0/db_1/dbs/orapwct6602sb</span><br /> <span style="font-size:16px;">mv /home/oracle/initct6602.ora $ORACLE_HOME/dbs/initct6602sb.ora</span><br /> <span style="font-size:16px;">cp $ORACLE_HOME/dbs/initct6602sb.ora $ORACLE_HOME/dbs/initct6602sb.ora.bak</span><br /> <br /> <span style="font-size:16px;">cat &gt;&gt; /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora &lt;&lt; EOF</span><br /> <span style="font-size:16px;">CT6602 =</span><br /> <span style="font-size:16px;">&nbsp; (DESCRIPTION =</span><br /> <span style="font-size:16px;">&nbsp;&nbsp;&nbsp; (ADDRESS = (PROTOCOL = TCP)(HOST = 192.108.56.119)(PORT = 1521))</span><br /> <span style="font-size:16px;">&nbsp;&nbsp;&nbsp; (CONNECT_DATA =</span><br /> <span style="font-size:16px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SERVER = DEDICATED)</span><br /> <span style="font-size:16px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SERVICE_NAME = ct6602)</span><br /> <span style="font-size:16px;">&nbsp;&nbsp;&nbsp; )</span><br /> <span style="font-size:16px;">&nbsp; )</span><br /> <span style="font-size:16px;">EOF</span><br /> <br /> <span style="font-size:16px;">sed -i 's/ct6602sb/selectshen/g' $ORACLE_HOME/dbs/initct6602sb.ora</span><br /> <span style="font-size:16px;">sed -i 's/ct6602/ct6602sb/g' $ORACLE_HOME/dbs/initct6602sb.ora</span><br /> <span style="font-size:16px;">sed -i 's/selectshen/ct6602/g' $ORACLE_HOME/dbs/initct6602sb.ora</span><br /> <span style="font-size:16px;">sed -i "s/db_name='ct6602sb'/db_name='ct6602'/" $ORACLE_HOME/dbs/initct6602sb.ora</span><br /> <span style="font-size:16px;">echo "*.db_unique_name=ct6602sb" &gt;&gt; $ORACLE_HOME/dbs/initct6602sb.ora</span><br /> <br /> <br /> <span style="font-size:16px;">mkdir -p /u01/app/oracle/admin/ct6602sb/adump /u02/oradata/ct6602sb /u01/app/oracle/fast_recovery_area/ct6602sb /u03/archivelog/ct6602sb</span><br /> <br /> <span style="font-size:16px;">ORACLE_SID=ct6602sb</span><br /> <span style="font-size:16px;">sqlplus / as sysdba &lt;&lt;EOF</span><br /> <span style="font-size:16px;">create spfile from pfile;</span><br /> <span style="font-size:16px;">startup nomount;</span><br /> <span style="font-size:16px;">exit</span><br /> <span style="font-size:16px;">EOF</span><br /> <span style="font-size:16px;">&nbsp;</span><br /> <span style="font-size:16px;">rman target / &lt;&lt;EOF</span><br /> <span style="font-size:16px;">restore standby controlfile from '/home/oracle/sbbackup/sbctl.ctl';</span><br /> <span style="font-size:16px;">sql 'alter database mount';</span><br /> <span style="font-size:16px;">restore database;</span><br /> <span style="font-size:16px;">recover database;</span><br /> <span style="font-size:16px;">exit;</span><br /> <span style="font-size:16px;">EOF</span><br /> <br /> <span style="font-size:16px;">sqlplus / as sysdba &lt;&lt;EOF</span><br /> <span style="font-size:16px;">alter database open;</span><br /> <span style="font-size:16px;">ALTER DATABASE RECOVER MANAGED STANDBY DATABASE disconnect;</span><br /> <span style="font-size:16px;">select process,thread#,sequence#,status from v\$managed_standby;</span><br /> <span style="font-size:16px;">exit;</span><br /> <span style="font-size:16px;">EOF</span><br /> <br />

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30130773/viewspace-2117264/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: TRUNCATE数据恢复
请登录后发表评论 登录
全部评论

注册时间:2015-02-06

  • 博文量
    138
  • 访问量
    892105