(以下为作业内容)

1.配置一个基于归档日志的RAC到单节点standby的data guard,贴出主要的配置操作。

2.分别从RAC的两个节点切换日志,让归档传到standby,在standby上观察它是如何应用来自两个节点的归档日志的,
贴出观察到的结果。

=========================================================================
1. RAC+单实例DATAGUARD  配置情况:

RAC 两节点:
192.168.10.81    ract1    
192.168.10.82    ract2

存储:ASM
DB_UNIQUE_NAME= tdb
实例:tdb1; tdb2;

DG:
192.168.10.85   racdg3    
存储 :本地文件目录存储

数据库名: tdb
DB_UNIQUE_NAME=tdg;

一、RAC状态 (已配置完成)

1.ract1  /etc/hosts
    --------------------------

#public ip
    192.168.10.81    ract1    
    192.168.10.82    ract2

#priv ip
    192.168.0.81     ract1-private
    192.168.0.82     ract2-private

#vip ip
    192.168.10.83      ract1-vip
    192.168.10.84      ract2-vip

#scan ip
    192.168.10.80      ract-scan

192.168.10.85   racdg3

2.RAC状态:
    [root@ract1 ~]# /opt/app/grid/bin/crs_stat -t
    Name           Type           Target    State     Host        
    ------------------------------------------------------------
    ora.CRS.dg     ora....up.type ONLINE    ONLINE    ract1       
    ora.DATA.dg    ora....up.type ONLINE    ONLINE    ract1       
    ora....ER.lsnr ora....er.type ONLINE    ONLINE    ract1       
    ora....N1.lsnr ora....er.type ONLINE    ONLINE    ract1       
    ora....VERY.dg ora....up.type ONLINE    ONLINE    ract1       
    ora.asm        ora.asm.type   ONLINE    ONLINE    ract1       
    ora.eons       ora.eons.type  ONLINE    ONLINE    ract1       
    ora.gsd        ora.gsd.type   OFFLINE   OFFLINE               
    ora....network ora....rk.type ONLINE    ONLINE    ract1       
    ora.oc4j       ora.oc4j.type  OFFLINE   OFFLINE               
    ora.ons        ora.ons.type   ONLINE    ONLINE    ract1       
    ora....SM1.asm application    ONLINE    ONLINE    ract1       
    ora....T1.lsnr application    ONLINE    ONLINE    ract1       
    ora.ract1.gsd  application    OFFLINE   OFFLINE               
    ora.ract1.ons  application    ONLINE    ONLINE    ract1       
    ora.ract1.vip  ora....t1.type ONLINE    ONLINE    ract1       
    ora....SM2.asm application    ONLINE    ONLINE    ract2       
    ora....T2.lsnr application    ONLINE    ONLINE    ract2       
    ora.ract2.gsd  application    OFFLINE   OFFLINE               
    ora.ract2.ons  application    ONLINE    ONLINE    ract2       
    ora.ract2.vip  ora....t1.type ONLINE    ONLINE    ract2       
    ora....ry.acfs ora....fs.type ONLINE    ONLINE    ract1       
    ora.scan1.vip  ora....ip.type ONLINE    ONLINE    ract1       
    ora.tdb.db     ora....se.type ONLINE    ONLINE    ract1

---------------------------------------------------------
    2.#STANDBY listener.ora

# listener.ora Network Configuration File: /opt/app/oracle/product/11.2.0/network/admin/listener.ora
    # Generated by Oracle configuration tools.

SID_LIST_LISTENER =
    (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = tdg)
          (ORACLE_HOME = /opt/app/oracle/product/11.2.0)
          (SID_NAME = tdg)
        )
    )

LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.85)(PORT = 1521))
        )
      )

#STANDBY 端的 SID_NAME,SID_NAME 设置和PRIMARY 端的 一致。
    -----------------------------------------------------------------------
    3. tnsnames.ora

[oracle@ractdg3 dbs]$ cat ../network/admin/tnsnames.ora
    # tnsnames.ora Network Configuration File: /opt/app/oracle/product/11.2.0/network/admin/tnsnames.ora
    # Generated by Oracle configuration tools.

tdb =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.81)(PORT = 1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.82)(PORT = 1521))
          (LOAD_BALANCE = yes)
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = tdb)
          (FAILOVER_MODE =
        (TYPE = session)
        (METHOD = basic)
        (RETRIES = 180)
        (DELAY = 5)
          )
        )
      )

tdb1 =
      (DESCRIPTION=
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.81)(PORT = 1521))
        (CONNECT_DATA =
          (SERVICE_NAME = tdb)
        )
      )

tdb2 =
      (DESCRIPTION=
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.82)(PORT = 1521))
        (CONNECT_DATA =
          (SERVICE_NAME = tdb)
        )
      )

tdg  =
      (DESCRIPTION=
        (ADDRESS=(PROTOCOL=tcp)(HOST= 192.168.10.85)(PORT=1521))
        (CONNECT_DATA =
          (SERVICE_NAME = tdg)
        )
      )
    #STANDBY 端的 SERVICE_NAME 和PRIMARY 设置成一致。
    ---------------------------------------------------------------------

二、配置DATAGUARD相关参数:

2.1.配置参数:
    SQL> alter system set log_archive_config='DG_CONFIG=(tdg,tdb)';

System altered.

SQL> ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=30;

System altered.

SQL> ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE;

System altered.

SQL> ALTER SYSTEM SET FAL_SERVER=tdg;

System altered.

SQL> alter system set FAL_CLIENT=tdb;

System altered.

SQL>

SQL> alter system set standby_file_management=auto;

System altered.

SQL>

ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=tdg LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=tdg';
    ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;

#添加STANDBY LOGFILE:

select group#,THREAD#,l.MEMBERS,l.STATUS from v$log l

alter database add STANDBY logfile thread 1 group 5 ;
     alter database add STANDBY logfile thread 1 group 6 ;
     alter database add STANDBY logfile thread 1 group 7 ;

alter database add STANDBY logfile thread 2 group 8 ;
     alter database add STANDBY logfile thread 2 group 9 ;
     alter database add STANDBY logfile thread 2 group 10 ;

#2.2 生成pfile,并修改。

SQL> create pfile='/tmp/inittdb.ora' from spfile;

File created.

并修改PFILE,添加以下内容:

*.db_file_name_convert='/opt/app/oracle/oradata/tdg','+DATA/tdb/datafile','/opt/app/oracle/oradata/tdg/tempfile','+DATA/tdb/tempfile'
    *.LOG_FILE_NAME_CONVERT='/opt/app/oracle/flash_recovery_area/tdg/onlinelog','+DATA/tdb/onlinelog','/opt/app/oracle/flash_recovery_area/tdg/onlinelog' ,'+RECOVERY/tdb/archivelog'

(注:这里有个错误后面有介绍:'+RECOVERY/tdb/archivelog')

#2.3创建控制文件 :

SQL> alter database create standby controlfile as '/tmp/control01.ctl';

Database altered.

#2.4创建密码文件
    [oracle@ract1 ~]$ orapwd file=/tmp/orapwtdg.ora password=sa force=y ignorecase=y

#2.5把文件拷贝到ractdg3 服务器:
    
    scp /tmp/orapwtdg.ora ractdg3:/opt/app/oracle/product/11.2.0/dbs/orapwtdg.ora
    scp /tmp/inittdb.ora ractdg3:/tmp/inittdb.ora
    scp /tmp/control01.ctl ractdg3:/opt/app/oracle/oradata/tdg/control01.ctl
    scp /tmp/control01.ctl ractdg3:/opt/app/oracle/flash_recovery_area/tdg/control02.ctl
    (拷贝文件 前建立相关目录:/opt/app/oracle/oradata/tdg,/opt/app/oracle/flash_recovery_area/tdg)

#2.6添加以下内容

*.db_file_name_convert='+DATA/tdb/datafile','/opt/app/oracle/oradata/tdg','+DATA/tdb/tempfile','/opt/app/oracle/oradata/tdg/tempfile'

*.LOG_FILE_NAME_CONVERT='+DATA/tdb/onlinelog','/opt/app/oracle/flash_recovery_area/tdg/onlinelog','+RECOVERY/tdb/archivelog','/opt/app/oracle/flash_recovery_area/tdg/onlinelog'

(这里有个错误,因为'+RECOVERY/tdb/archivelog' 这个,搞得RMAN复制数据时,出错了,弄了一天。
    正确为: '+RECOVERY/tdb/onlinelog' 这里同步的是在线重做日志,而不是归档日志。)

修改前PRIMARY 端的pfile

[oracle@ract1 dbs]$ cat /tmp/inittdb.ora
    tdb1.__db_cache_size=1476395008
    tdb2.__db_cache_size=1476395008
    tdb1.__java_pool_size=16777216
    tdb2.__java_pool_size=16777216
    tdb1.__large_pool_size=16777216
    tdb2.__large_pool_size=16777216
    tdb1.__oracle_base='/opt/app/oracle'#ORACLE_BASE set from environment
    tdb2.__oracle_base='/opt/app/oracle'#ORACLE_BASE set from environment
    tdb1.__pga_aggregate_target=1375731712
    tdb2.__pga_aggregate_target=1375731712
    tdb1.__sga_target=2030043136
    tdb2.__sga_target=2030043136
    tdb1.__shared_io_pool_size=0
    tdb2.__shared_io_pool_size=0
    tdb1.__shared_pool_size=503316480
    tdb2.__shared_pool_size=503316480
    tdb1.__streams_pool_size=0
    tdb2.__streams_pool_size=0
    *.audit_file_dest='/opt/app/oracle/admin/tdb/adump'
    *.audit_trail='db'
    *.cluster_database=true
    *.compatible='11.2.0.0.0'
    *.control_files='+DATA/tdb/controlfile/current.256.823282229','+RECOVERY/tdb/controlfile/current.256.823282237'
    *.db_block_size=8192
    *.db_create_file_dest='+DATA'
    *.db_domain=''
    *.db_file_name_convert='tdg','tdb'
    *.db_name='tdb'
    *.db_recovery_file_dest='+RECOVERY'
    *.db_recovery_file_dest_size=10485760000
    *.diagnostic_dest='/opt/app/oracle'
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=tdbXDB)'
    *.fal_client='tdb'
    *.fal_server='tdg'
    tdb1.instance_number=1
    tdb2.instance_number=2

*.db_file_name_convert='/opt/app/oracle/oradata/tdg','+DATA/tdb/datafile','/opt/app/oracle/oradata/tdg/tempfile','+DATA/tdb/tempfile'
    *.LOG_FILE_NAME_CONVERT='/opt/app/oracle/flash_recovery_area/tdg/onlinelog','+DATA/tdb/onlinelog','/opt/app/oracle/flash_recovery_area/tdg/onlinelog' ,'+RECOVERY/tdb/onlinelog'
    *.log_archive_config='DG_CONFIG=(tdg,tdb)'
    *.log_archive_dest_2='SERVICE=tdg LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=tdg'

*.log_archive_dest_state_2='ENABLE'
    *.log_archive_format='%t_%s_%r.dbf'
    *.log_archive_max_processes=30
    *.log_file_name_convert='tdg','tdb'
    *.memory_target=3401580544
    *.open_cursors=300
    *.processes=150
    *.remote_listener='ract-scan:1521'
    *.remote_login_passwordfile='EXCLUSIVE'
    *.standby_file_management='AUTO'
    tdb2.thread=2
    tdb1.thread=1
    tdb1.undo_tablespace='UNDOTBS1'
    tdb2.undo_tablespace='UNDOTBS2'

修改后STANDBY 端的pfile参数如下:

[oracle@ractdg3 dbs]$ cat /tmp/inittdb.ora
    tdg.__db_cache_size=1476395008
    tdg.__java_pool_size=16777216
    tdg.__large_pool_size=16777216
    tdg.__oracle_base='/opt/app/oracle'#ORACLE_BASE set from environment
    tdg.__pga_aggregate_target=1375731712
    tdg.__sga_target=2030043136
    tdg.__shared_io_pool_size=0
    tdg.__shared_pool_size=503316480
    tdg.__streams_pool_size=0
    *.audit_file_dest='/opt/app/oracle/admin/tdg/adump'
    *.audit_trail='db'
    *.compatible='11.2.0.0.0'
    *.control_files='/opt/app/oracle/oradata/tdg/control01.ctl','/opt/app/oracle/flash_recovery_area/tdg/control02.ctl'
    *.db_block_size=8192
    *.db_create_file_dest='/opt/app/oracle/oradata'
    *.db_domain=''
    *.db_file_name_convert='tdb','tdg'
    *.db_name='tdb'
    *.db_recovery_file_dest='/opt/app/oracle/flash_recovery_area'
    *.db_recovery_file_dest_size=10485760000
    *.diagnostic_dest='/opt/app/oracle'
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=tdbXDB)'
    *.fal_client='tdg'
    *.fal_server='tdb1','tdb2'

*.db_file_name_convert='+DATA/tdb/datafile','/opt/app/oracle/oradata/tdg','+DATA/tdb/tempfile','/opt/app/oracle/oradata/tdg/tempfile'
    *.LOG_FILE_NAME_CONVERT='+DATA/tdb/onlinelog','/opt/app/oracle/flash_recovery_area/tdg/onlinelog','+RECOVERY/tdb/onlinelog','/opt/app/oracle/flash_recovery_area/tdg/onlinelog'
    *.log_archive_config='DG_CONFIG=(tdg,tdb)'
    *.log_archive_dest_2='SERVICE=tdg LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=tdg'
    *.log_archive_dest_state_2='ENABLE'
    *.log_archive_format='%t_%s_%r.dbf'
    *.log_archive_max_processes=30
    *.log_file_name_convert='tdg','tdb'
    *.memory_target=3401580544
    *.open_cursors=300
    *.processes=150
    *.remote_listener='ract-scan:1521'
    *.remote_login_passwordfile='EXCLUSIVE'
    *.standby_file_management='AUTO'

thread=1
    undo_tablespace='UNDOTBS1'

#2.7 在STANDBY 端
    SQL> create spfile from pfile='/tmp/inittdb.ora';
    File created.
    SQL> startup nomount;

#2.8复制数据库

[oracle@ract1 dbs]$ rman target sys/sa@tdb auxiliary sys/sa@tdg nocatalog

rman>duplicate target database for standby from active database nofilenamecheck;

#2.9 启动备库

SQL> shutdown immediate;
    ORA-01109: database not open

Database dismounted.
    ORACLE instance shut down.
    SQL> create spfile from pfile='/opt/app/oracle/product/11.2.0/dbs/inittdg.ora';

File created.

SQL> startup nomount;
    ORACLE instance started.

Total System Global Area 2042241024 bytes
    Fixed Size            1337548 bytes
    Variable Size          553649972 bytes
    Database Buffers     1476395008 bytes
    Redo Buffers           10858496 bytes
    SQL> alter database mount standby database;

Database altered.

SQL> alter database recover managed standby database disconnect from session;

Database altered.

# 开启STANDBY 数据库

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE;

#启用STANDBY数据库,进入RECOVER模式:

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

#启动到只读模式:
    alter database open read only;

#转换到REAL-TIME模式下:
    --alter database recover managed standby database cancel;
    --ALTER DATABASE OPEN;
    ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT from session;

#2.10检查状态:

#PRIMARY 端:
    SQL> select sequence#,status from v$log;

SEQUENCE# STATUS
    ---------- ------------------------------------------------
           127 INACTIVE
           128 CURRENT
        29 INACTIVE
        30 CURRENT

SQL>
    #STANDBY 端

SQL> select archived_thread#,archived_seq#,APPLIED_THREAD#,APPLIED_SEQ# from v$archive_dest_status;
    ARCHIVED_THREAD# ARCHIVED_SEQ# APPLIED_THREAD# APPLIED_SEQ#
    ---------------- ------------- --------------- ------------
               0         0             0          0
               0         0             0          0
               0         0             0          0
               0         0             0          0
               0         0             0          0
               0         0             0          0
               0         0             0          0
               0         0             0          0
               0         0             0          0
               1       127             1        127

#RAC PRIMARY 端: 另一个节点插入数据并切换日志:

SQL> insert into test values(5);

1 row created.

SQL> commit;

Commit complete.

SQL> alter system switch logfile;

System altered.

SQL> select sequence#,status from v$log;

SEQUENCE# STATUS
    ---------- ------------------------------------------------
           127 INACTIVE
           128 CURRENT
        31 CURRENT
        30 ACTIVE

SQL> /

#STANDBY 端

SQL> select archived_thread#,archived_seq#,APPLIED_THREAD#,APPLIED_SEQ# from v$archive_dest_status;
    ARCHIVED_THREAD# ARCHIVED_SEQ# APPLIED_THREAD# APPLIED_SEQ#

---------------- ------------- --------------- ------------
               0         0             0          0
               0         0             0          0
               0         0             0          0
               0         0             0          0
               0         0             0          0
               0         0             0          0
               0         0             0          0
               0         0             0          0
               0         0             0          0
               2        30             2         30

RAC+单实例DATAGUARD 配置相关推荐

  1. 正式生产库,配置双节点的RAC + 单实例的 DATAGUARD

    正式生产库,配置DATAGUARD RAC+单实例DATAGUARD  配置 RAC 两节点: 192.1.0.101    rac1     192.1.0.102    rac2 存储:ASM D ...

  2. RAC (双节点) + 单实例 DATAGUARD 安装遇到的问题处理

    RAC (双节点) + 单实例 DATAGUARD 安装遇到的问题处理 PRIMARY:  RAC 双节点 ,存储:ASM STANDBY: 单实例          存储: ASM 单实例  数据库 ...

  3. oracle rac实例切换,RAC+单实例DG的切换

    RAC+单实例DG的切换 RAC+单实例DG的搭建过程 之前切换不成功,和参数设置有关.注意的参数是sid=* 之类的,刚搭建好的环境 racdbdg是单实例的,是备库,rac节点是主库. 搭建完毕, ...

  4. oracle 10g rac 配置物理dataguard系列4,配置 Oracle 10g 单实例物理dataguard和逻辑standby...

    rac的结构和单实例结构配置转换方面可能就是逻辑standby在配置时需要注意CLUSTER_DATABASE这个参数,其他都是一样的[@more@] [oracle@yl254-20 ~]$ mor ...

  5. Oracle单实例通过DG迁移至RAC集群(Oracle 11g 超详细文档)

    实验:Oracle单实例通过DG迁移至RAC集群(Oracle 11g 超详细文档) 步骤1:Oracle单实例搭建 1. 系统环境检查 2. 创建用户.组,配置环境变量.安装目录 3. 安装Orac ...

  6. oracle单实例通过dataguard迁移到RAC 转

    原文链接,防止链接过去,内容拷贝如下:http://www.bkjia.com/oracle/949585.html One instance primary to RAC standbyDataGu ...

  7. GoldenGate配置实例:RHEL 4.7下的Oracle 10g RAC到单实例的单向同步(一)

    环境 源端是一个RAC rac1 rac2: RHEL 4u7 + ORACLE 10.2.0.4 + ASM rac1 外网IP 192.168.47.241 虚拟IP 192.168.47.243 ...

  8. GG 单实例10g 到 11g RAC 搭建配置

    GG 单实例10g 到 11g RAC 搭建配置 环境: 10g 单实例  10.2.1    11g  RAC    11.2.3 目标RAC: oracle用户 vim .bash_profile ...

  9. 【Oracle RAC+DG实验】Oracle RAC+ASM+DataGuard配置实验记录+常见问题

    [Oracle RAC+DG实验]Oracle RAC+ASM+DataGuard配置实验记录+常见问题 1.环境规划: ---RAC环境介绍(primary database)            ...

最新文章

  1. CNN可视化最新研究方法进展(附结构、算法)
  2. shell input value from console
  3. 【NLP】一行Python代码中自动化文本处理
  4. OAuth 2.0协议在SAP产品中的应用
  5. 前端学习(2056):初识vue.js
  6. 在unity 中,使用http请求,下载文件到可读可写路径
  7. http与https的有什么不同
  8. ADO.NET与抽水的故事 系列三——抽水机—Command
  9. javascript call 详细解答与实践
  10. Gibbs 采样的应用
  11. 技本功丨呀~我不会写CSS之width:auto!!!
  12. 经典语音降噪方法-谱减法
  13. 淘宝运营 DSR评分太低的影响 用补单的方法具体操作步骤,提高DSR评分
  14. 用.NET开发MSN聊天机器人(转载)
  15. 用计算机计算勾股定理,勾股计算器(勾股定理计算器)
  16. win32 WaitCommEvent
  17. 【6G】基于 Dyncast 的算力网络架构
  18. 软件测试职业生涯规划
  19. 算法进化历程之剪刀石头布
  20. 【Python】 plt.savefig保存图片时一片空白

热门文章

  1. 硬件加速会使电脑黑屏吗?
  2. 下载华为交换机MIB参考文件并使用snmpwalk获取OID信息
  3. leetcode 将包含 n 个元素的数组向右旋转 k 步
  4. Java集合框架上机练习题:用户分别从两个文本框输入学生的姓名和分数.............
  5. Codeforces Round #374 (Div. 2) A. One-dimensional Japanese Crosswor 水题
  6. java-final关键字
  7. 开发时对业务技术框架的理解
  8. C#中的 隐式与显式接口实现
  9. 如何学习Linux性能优化?
  10. Mac下的Mysql无法登陆的问题