• Dataguad RAC配置【一】


    Data Guard配置步骤

    生产端配置步骤

    1.关闭一个实例。

    用oracle用户登录192.166.1.190,执行以下SQL关闭其上的实例:

    SQL>shutdown immediate;

    2.检查另一个实例以确保它是打开的。

    用oracle用户登录192.166.1.191,用以下SQL确保其上的实例是打开状态:

    SQL> select status from v$instance;

    STATUS

    ------------------------------------

    OPEN

    3.在192.166.1.191上用show parameter<parameter name>;检查以下参数是否正确配置(<parameter name>用以下:左边的参数名替换,包括参数值的一对’是为步骤4所用,检查参数值时可以忽略):

     

    DB_NAME : ‘ipcc’

    DB_UNIQUE_NAME : ‘ipccp’

    LOG_ARCHIVE_CONFIG : ‘dg_config=(ipccp,ipccs)’

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

    LOG_ARCHIVE_DEST_1 : ‘LOCATION=+DG_BACKUP valid_for=                                                         (ALL_LOGFILES,ALL_ROLES)’

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

    LOG_ARCHIVE_DEST_STATE_1 : enable

    LOG_ARCHIVE_DEST_STATE_2 : enable

    REMOTE_LOGIN_PASSWORDFILE : ‘EXCLUSIVE’

    LOG_ARCHIVE_FORMAT : ‘%t_%s_%r.dbf’

    LOG_ARCHIVE_MAX_PROCESSES : 30

    FAL_SERVER : ‘ipccs’

    DB_FILE_NAME_CONVERT : ‘+DG_DATA’, ‘+DG_DATA’

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

    STANDBY_FILE_MANAGEMENT : ‘AUTO’

    & 说明:

    • 数据库参数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="ipccs"的ipccs是生产端tnsnames.ora里的用于连接容灾端的连接字符串别名。
    • FAL_SERVER 里‘ipccs’的ipccs是生产端tnsnames.ora里的用于连接容灾端的连接字符串别名。

    4.如果以上检查结果与规划不一致,在生产端节点192.166.1.191上按照以下方法对这些参数进行修改,然后重启实例使其生效(<parameter name>用步骤3里:前的参数名替换,<parameter value>用步骤3里:后的参数值替换):

    SQL>alter system set <parameter name>=<parameter value> scope=spfile;

    利用以上语句修改了所有参数之后,执行以下语句使其生效:

    SQL>shutdown immediate;

    SQL>startup;

    5.配置生产端所有节点的监听:

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

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

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

    & 说明:

    • 如果生产端已经配置了监听,则不需要执行srvctl add listener命令直接执行以下步骤。另外,如果生产端的监听是在oracle用户下配置的,则以下关于监听的配置均在oracle用户下进行,而不是grid用户下进行。

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

    SID_LIST_LISTENER_DB2 =

      (SID_LIST =

        (SID_DESC =

          (GLOBAL_DBNAME = ipccp)

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

          (SID_NAME = ipccp1)

        )

      )

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

    oracle@DB1:/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.104)(PORT=1526))))' scope=both sid=’ipccp1’;

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

    grid@DB1:~> srvctl stop listener -l listener_db2

    grid@DB1:~> srvctl start listener -l listener_db2

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

    SID_LIST_LISTENER_DB2 =

      (SID_LIST =

        (SID_DESC =

          (GLOBAL_DBNAME = ipccp)

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

          (SID_NAME = ipccp2)

        )

    )

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

    oracle@DB1:/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.105)(PORT=1526))))' scope=both sid=’ipccp2’;

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

    grid@DB1:~> srvctl stop listener -l listener_db2

    grid@DB1:~> srvctl start listener -l listener_db2

    & 说明:

    • 上面所用的/opt/oracle/product/11gR2/db是oracle用户下echo $ORACLE_HOME的返回值。
    • GLOBAL_DBNAME = ipccp里的ipccp是生产端的db_unique_name参数值。

    6.配置生产端所有节点的tnsnames.ora:

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

    ipccs =

      (DESCRIPTION =

        (ADDRESS_LIST =

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

       )

       (CONNECT_DATA =

         (SERVER = DEDICATED)

         (SERVICE_NAME = ipccs)

       )

    )

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

    ipccs =

      (DESCRIPTION =

        (ADDRESS_LIST =

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

       )

       (CONNECT_DATA =

         (SERVER = DEDICATED)

         (SERVICE_NAME = ipccs)

       )

    )

    7.在生产端节点192.166.1.191添加容灾日志组:

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

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

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

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

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

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

    & 说明:

    • 容灾日志组用于容灾端的REDO应用。因为生产端在switchover或failover之后也会变为容灾端,所以生产端也必须配置容灾日志组。
    • 生产端容灾日志组必须要比容灾端对应thread的重做日志组的组数至少大于一,如容灾端两个thread的重做日志组均为3,则生产端的两个thread的容灾日志组必须至少均为4。容灾日志组大小必须和重做日志一样。

    可以利用生产端的备份集配置容灾端,也可用RMAN的duplicate命令配置容灾端。这里对这两种方法分别介绍。

  • 相关阅读:
    MySql中启用InnoDB数据引擎的方法
    云说的到底对不对,京东到底行不行?
    hibernate HQL查询的参数绑定
    MySQL到底能支持多大的数据量?
    C# RSA和Java RSA互通
    Log4j 2使用教程
    Log4j.properties配置详解
    JMX 基础Demo
    iBatis缓存实现源码分析-FIFO,LUR实现方法
    SqlMapClient 创建过程之SqlMapConfigParser源码走读
  • 原文地址:https://www.cnblogs.com/unixshell/p/3651416.html
Copyright © 2020-2023  润新知