2. 利用duplicate配置容灾端

1.配置容灾端oracle用户的环境变量,这里以192.166.1.61为例。

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=/opt/oracle/product/11gR2/db

export GRID_HOME=/opt/oracrs/product/11gR2/grid

export ORACLE_SID=ipccs1

export ORACLE_TERM=xterm

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$ORACLE_HOME/rdbms/lib

export LD_LIBRARY_PATH

SHLIB_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib

export SHLIB_PATH

# Set shell search paths:

export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH:/usr/local/bin

# CLASSPATH must include the following JRE locations:

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

export CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib

export NLS_LANG=AMERICAN_AMERICA.UTF8

export PATH=$ORACLE_HOME/OPatch:$PATH

export NLS_DATE_FORMAT="MM/DD/YYYY HH24:MI:SS"

2.在生产端192.166.1.191产生初始化参数文件:

SQL> create pfile='$ORACLE_HOME/dbs/pfilebackup1017.ora' from SPFILE='+DG_ORA/ipccp/spfileipccp.ora';

其中SPFILE='+DG_ORA/ipccp/spfileipccp.ora'是从$ORACLE_HOME/dbs下的initipccp1.ora里拷贝出来的。

3.将上一步骤中产生的初始化参数文件拷贝到容灾端192.166.1.61对应路径上,在192.166.1.61上检查该文件并修改属主:

oracle@DB1:/opt/oracle/product/11gR2/db/dbs> sudo scp pfilebackup1017.ora root@192.166.1.61:/opt/oracle/product/11gR2/db/dbs

oracle@DB1:/opt/oracle/product/11gR2/db/dbs> ls –la

-rw-------  1 root   root         3022 2013-10-17 17:40 pfilebackup1017.ora

oracle@dbfs1:/opt/oracle/product/11gR2/db/dbs> sudo chown oracle:oinstall pfilebackup1017.ora

4.在容灾端节点192.166.1.61上修改pfilebackup1017.ora文件,使得以下参数等于对应的参数值(包括参数值的一对’是在更改时也要加上):

DB_UNIQUE_NAME : ‘ipccs’

CONTROL_FILES : ‘+DG_ORA(CONTROLFILE)/ipccs/ora_ctl01’, ‘+DG_ORA(CONTROLFILE)/ipccs/ora_ctl02’, ‘+DG_ORA(CONTROLFILE)/ipccs/ora_ctl03’

LOG_ARCHIVE_DEST_2 : ‘service="ipccp" LGWR ASYNC NOAFFIRM delay=0 optional compression=disable max_failure=0 max_connections=1 reopen=300 db_unique_name="ipccp" net_timeout=30 valid_for=(all_logfiles, primary_role)’

FAL_SERVER : ‘ipccp’

DB_FILE_NAME_CONVERT : ‘+DG_DATA’, ‘+DG_DATA’

LOG_FILE_NAME_CONVERT : ‘+DG_ORA/ipccp’, ‘+DG_ORA/ipccs’

& 说明:

  • 数据库参数db_file_name_convert和log_file_name_convert这两个参数里的路径对里,前者必须是对端的路径,后者必须是本端的路径。
  • LOG_ARCHIVE_CONFIG : ‘dg_config=(ipccp,ipccs)’里的ipccp和ipccs均为db_uniqe_name参数值。
  • LOG_ARCHIVE_DEST_2 里‘service="ipccp"的ipccp是容灾端tnsnames.ora里的用于连接生产端的连接字符串别名。
  • FAL_SERVER 里’ipccp’的ipccp是容灾端tnsnames.ora里的用于连接生产端的连接字符串别名。

5. 利用上一步骤产生的pfilebackup1017.ora生成spfile:

以oracle用户登录192.166.1.61,根据$ORACLE_HOME/dbs/initipccs1.ora的内容获得spfile文件:SPFILE='+DG_ORA/ipccs/spfileipccs.ora'。

 

如果没有initipccs1.ora,可以在对应目录创建一个,并将SPFILE='+DG_ORA/ipccs/spfileipccs.ora'拷贝到该文件,容灾端两个节点都需要初始化参数文件,192.166.1.61上文件名为initipccs1.ora,192.166.1.60上文件名为initipccs2.ora。

执行以下命令生成spfile:

oracle@dbfs1:/opt/oracle/product/11gR2/db/dbs> sqlplus / as sysdba

SQL>create SPFILE='+DG_ORA/ipccs/spfileipccs.ora' from pfile=’$ORACLE_HOME/dbs/ pfilebackup1017.ora’

6. 在生产端192.166.1.191上将密码文件拷贝到容灾端所有节点,并在每个容灾端节点对属主和文件名进行必要修改:

oracle@DB1:/opt/oracle/product/11gR2/db/dbs> sudo scp orapwipccp1 root@192.166.1.61:/opt/oracle/product/11gR2/db/dbs

oracle@DB1:/opt/oracle/product/11gR2/db/dbs> sudo scp orapwipccp1 root@192.166.1.60:/opt/oracle/product/11gR2/db/dbs

在192.166.1.61上修改密码文件的属主和文件名:

oracle@dbfs1:/opt/oracle/product/11gR2/db/dbs>sudo chown oracle:oinstall orapwipccp1

oracle@dbfs1:/opt/oracle/product/11gR2/db/dbs> mv orapwipccp1 orapwipccs1

在192.166.1.60上修改密码文件的属主和文件名:

oracle@dbfs2:/opt/oracle/product/11gR2/db/dbs>sudo chown oracle:oinstall orapwipccp1

oracle@dbfs2:/opt/oracle/product/11gR2/db/dbs> mv orapwipccp1 orapwipccs2

7. 将容灾端启动到nomount状态,并使用duplicate将数据文件从生产端拷贝到容灾端。

在192.166.1.61上执行以下SQL将数据库实例启动到nomount状态:

oracle@dbfs1:~> sqlplus / as sysdba

SQL>startup nomount;

在192.166.1.191上执行以下命令数据文件从生产端拷贝到容灾端:

rman target / auxiliary sys/SYS@192.166.1.61:1526/ipccs

RMAN> run {

allocate channel primary1 type disk;

allocate auxiliary channel standby1 type disk;

duplicate target database for standby from active database nofilenamecheck;

}

8.在容灾端节点添加重做日志组:

SQL> alter database add logfile thread 1 group 1 ' +DG_ORA/ipcca/ora_redo01_1' size 524288000;

SQL> alter database add logfile thread 1 group 2 ' +DG_ORA/ipcca/ora_redo02_1' size 524288000;

SQL> alter database add logfile thread 2 group 3 ' +DG_ORA/ipcca/ora_redo03_1' size 524288000;

SQL> alter database add logfile thread 2 group 4 ' +DG_ORA/ipcca/ora_redo04_1' size 524288000;

9.在容灾端节点添加容灾日志组:

SQL> alter database add standby logfile thread 1 group 5 '+DG_ORA/ipccs/ora_sdb05_1' size 524288000;

SQL> alter database add standby logfile thread 1 group 6 '+DG_ORA/ipccs/ora_sdb06_1' size 524288000;

SQL> alter database add standby logfile thread 1 group 7 '+DG_ORA/ipccs/ora_sdb07_1' size 524288000;

SQL> alter database add standby logfile thread 2 group 8 '+DG_ORA/ipccs/ora_sdb08_1' size 524288000;

SQL> alter database add standby logfile thread 2 group 9 '+DG_ORA/ipccs/ora_sdb09_1' size 524288000;

SQL> alter database add standby logfile thread 2 group 10 '+DG_ORA/ipccs/ora_sdb010_1' size 524288000;

& 说明:

  • 容灾端容灾日志组必须要比生产端对应thread的重做日志组的组数至少大于一,如生产端两个thread的重做日志组均为3,则容灾端的两个thread的容灾日志组必须至少均为4。
  • 容灾日志组大小必须和重做日志一样。

10. 配置容灾端所有节点的监听:

以grid用户登录192.166.1.191,执行以下命令:

grid@dbfs1:/opt/oracrs/product/11gR2/grid/network/admin> srvctl add listener -l listener_dbfs2 -p "TCP:1526"

grid@dbfs1:/opt/oracrs/product/11gR2/grid/network/admin>srvctl start listener -l listener_dbfs2

以grid用户登录192.166.1.61,进入到$ORACLE_HOME/network/admin下,编辑listener.ora添加以下内容:

SID_LIST_LISTENER_DBFS2 =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = ipccs)

(ORACLE_HOME = /opt/oracle/product/11gR2/db)

(SID_NAME = ipccs1)

)

)

以oracle用户登录192.166.1.61上数据库实例,修改LOCAL_LISTENER参数值:

oracle@dbfs1:/opt/oracle/product/11gR2/db/network/admin> sqlplus / as sysdba

SQL>alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.166.1.115)(PORT=1526))))' scope=both sid=’ipccs1’;

以grid用户登录192.166.1.191,重启监听:

grid@dbfs1:~> srvctl stop listener -l listener_dbfs2

grid@dbfs1:~> srvctl start listener -l listener_dbfs2

以grid用户登录192.166.1.60,进入到$ORACLE_HOME/network/admin下,编辑listener.ora添加以下内容:

SID_LIST_LISTENER_DBFS2 =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = ipccs)

(ORACLE_HOME = /opt/oracle/product/11gR2/db)

(SID_NAME = ipccs2)

)

)

以oracle用户登录192.166.1.60上数据库实例,修改LOCAL_LISTENER参数值:

oracle@dbfs2:/opt/oracle/product/11gR2/db/network/admin> sqlplus / as sysdba

SQL>startup;

SQL>alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.166.1.116)(PORT=1526))))' scope=both sid=’ipccs2’;

SQL>shutdown immediate;

以grid用户登录192.166.1.60,重启监听:

grid@dbfs2:~> srvctl stop listener -l listener_dbfs2

grid@dbfs2:~> srvctl start listener -l listener_dbfs2

11. 配置容灾端所有节点的tnsnames.ora:

以oracle用户登录192.166.1.61,进入到$ORACLE_HOME/network/admin下,编辑tnsnames.ora添加以下内容:

ipccp =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.166.1.107)(PORT = 1525))

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = ipccp)

)

)

以oracle用户登录192.166.1.60,进入到$ORACLE_HOME/network/admin下,编辑tnsnames.ora添加以下内容:

ipccp =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.166.1.107)(PORT = 1525))

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = ipccp)

)

)

12.在容灾端节点192.166.1.61上打开日志应用:

SQL>alter database open;

SQL> alter database recover managed standby database using current logfile disconnect from session;

& 说明:

  • 如果执行alter database open;时出现以下错误:

ORA-10458: standby database requires recovery

ORA-01190: control file or data file 1 is from before the last RESETLOGS

ORA-01110: data file 1: '+DG_ORA/ipccp/ora_system'

可以先执行以下命令:

SQL> alter database recover managed standby database using current logfile disconnect from session;

待以上命令执行一会儿,再执行以下命令:

SQL> alter database recover managed standby database cancel;

SQL>alter database open;

SQL> alter database recover managed standby database using current logfile disconnect from session;

13.启动生产端节点192.166.1.190和容灾端节点192.166.1.60上的数据库实例:

SQL> startup;

Data guard RAC配置【二】的更多相关文章

  1. Oracle Data Guard的配置

    概述 Oracle Data Guard 是针对企业数据库的最有效和最全面的数据可用性.数据保护和灾难恢复解决方案.它提供管理.监视和自动化软件基础架构来创建和维护一个或多个同步备用数据库,从而保护数 ...

  2. Oracle Data Guard 重要配置参数

    Oracle Data Guard主要是通过为生产数据库提供一个或多个备用数据库(是产生数据库的一个副本),以保证在主库不可用或异常时数据不丢失并通过备用数据库继续提供服务.对于Oracle DG的配 ...

  3. Data Guard Physical Standby - RAC Primary to RAC Standby 使用第二个网络 (Doc ID 1349977.1)

    Data Guard Physical Standby - RAC Primary to RAC Standby using a second network (Doc ID 1349977.1) A ...

  4. 【DATAGUARD】物理dg配置客户端无缝切换 (八.1)--Data Guard Broker 的配置

    [DATAGUARD]物理dg配置客户端无缝切换 (八.1)--Data Guard Broker 的配置 一.1  BLOG文档结构图       一.2  前言部分   一.2.1  导读 各位技 ...

  5. OCM_第二十天课程:Section9 —》Data Guard _ DATA GUARD 搭建/DATA GUARD 管理

    注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...

  6. OCM_第十九天课程:Section9 —》Data Guard _ DATA GUARD 原理/DATA GUARD 应用/DATA GUARD 搭建

    注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...

  7. 浅析Oracle 12c中Data Guard新特性

    浅析Oracle 12c中Data Guard新特性   写在前面 无论是做Oracle运维的小伙伴还是老伙伴,想必对Oracle数据库的数据级灾备核心技术—Data Guard是再熟悉不过了!这项从 ...

  8. (转)Oracle Data Guard配置

    data guard配置的条件1.在主库和从库的所有机器上必须安装同一个版本的Oracle企业版.2.主库必须运行在归档模式下.3.主库和从库的操作系统必须一样(允许版本不同),从库可以使用与主库不同 ...

  9. Oracle Data Guard配置

    Oracle Data Guard 的配置在网上有很多资料,但是没有一个完整的,配置下来多少有些问题.在踩了各种坑之后,自己终于配置成功,就想把这过程记录下来. 1   测试环境 主数据库:windo ...

随机推荐

  1. jquery validate.js表单验证的基本用法入门

    这里转载一篇前辈写的文章,在我自己的理解上修改了一下,仅作记录. 先贴一个国内某大公司的代码: 复制代码 代码如下: <script type="text/javascript&quo ...

  2. /dev/tty 与 /dev/pts

     打开3个bash会话窗口  [root@server1 fd]# cd /proc/7489/fd[root@server1 fd]# ll总用量 0lrwx------ 1 root root 6 ...

  3. PureMVC(JS版)源码解析(二):Notification类

    上篇博客,我们已经就PureMVC的设计模式进行的分析,这篇博文主要分析Notification(消息)类的实现. 通过Notification的构造函数可以看出,PureMVC中的Notificat ...

  4. [Eclipse]The type XXX cannot be resolved. It is indirectly referenced from required .class files

    在Eclipse中遇到The type XXX cannot be resolved. It is indirectly referenced from required .class files错误 ...

  5. LAMP网站架构方案分析

    本文引自:http://www.williamlong.info/archives/1908.html LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框 ...

  6. js实现FileUpload选择图片后预览功能

    当asp.net的FileUpload选择一个图片后不需要上传就能显示出图片的预览功能, 代码: <%@ Page Language="C#" AutoEventWireup ...

  7. ITPub 上的一道题,学习下思路

    有意思的,从别处看来的即可为己用--拿来主义 数据库:MS SQL 2000: drop table mytest go create table mytest (   sn      int,    ...

  8. latch:cache buffers chains的优化思路

    数据块在buffer cache存放是以linked list方式存放的.当一个session想要访问/修改buffer cache的block,首先需要通过hash算法检查该block是否存在于bu ...

  9. (五)Struts2 标签

    所有的学习我们必须先搭建好Struts2的环境(1.导入对应的jar包,2.web.xml,3.struts.xml) 第一节:Struts2 标签简介 Struts2 自己封装了一套标签,比JSTL ...

  10. 检查.gitignore语法

    每次配置git的时候,要写gitignore文件,你知道你的.gitignore匹配那些文件吗? 看看.gitignore放过了哪些文件: git ls-files -ocm --exclude-st ...