Oracle 10G RAC与10G RAC Physical DG 的测试-1

Oracle 10G RAC与10G RAC Physical DG安装测试
环境准备如下
Primary RAC已经安装好数据库软件,创建好监听,ASM实例,并创建好RDBMS实例,开启归档,并开启force logging.
数据库名:RDPSDB
实例名:RDPSDB1,RDPSDB2
db_unique_name:RDPSDB
192.168.25.154  rac1
192.168.25.155  rac2
10.0.0.154      rac1-priv
10.0.0.155      rac2-priv
192.168.25.130  rac1-vip
192.168.25.131  rac2-vip

Standby RAC安装好数据库软件,仅创建好监听,ASM实例.
数据库名:RDPSDB
实例名:RDPSDB1,RDPSDB2
db_unique_name:RDPSDBST
192.168.25.211  vmrac1
192.168.25.212  vmrac2
10.10.10.11     vmrac1-priv

10.10.10.12     vmrac2-priv
192.168.25.213  vmrac1-vip
192.168.25.214  vmrac2-vip

1,配置主备库的tnsname.ora文件
主库节点tnsnames.ora
RDPSDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip)(PORT = 1521))
    (LOAD_BALANCE = yes)
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = RDPSDB)
    )
  )

RDPSDB2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = RDPSDB)
      (INSTANCE_NAME = RDPSDB2)
    )
  )

RDPSDB1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = RDPSDB)
      (INSTANCE_NAME = RDPSDB1)
    )
  )

LISTENERS_RDPSDB =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip)(PORT = 1521))
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )
# Added for config dataguard
RDPSDBST =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = vmrac1-vip)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = vmrac2-vip)(PORT = 1521))
    (LOAD_BALANCE = yes)
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = RDPSDB)
    )
  )

备库节点tnsnames.ora,根据主库的配置进行修改

RDPSDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = vmrac1-vip)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = vmrac2-vip)(PORT = 1521))
    (LOAD_BALANCE = yes)
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = RDPSDB)
    )
  )

RDPSDB2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = vmrac2-vip)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = RDPSDB)
      (INSTANCE_NAME = RDPSDB2)
    )
  )

RDPSDB1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = vmrac1-vip)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = RDPSDB)
      (INSTANCE_NAME = RDPSDB1)
    )
  )

LISTENERS_RDPSDB =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = vmrac1-vip)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = vmrac2-vip)(PORT = 1521))
  )
 
# Added for config dataguard
RDPSDBST =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip)(PORT = 1521))
    (LOAD_BALANCE = yes)
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = RDPSDB)
    )
  )

注意2点:
1),这里配置备库的instance_name和主库一样,我们也可以设置不一样,参见单机DG的配置例子.
2),备库上RDPSDBST上HOST设置的是主库的主机名(IP).


2,修改主备库的pfile
主库:保持原主库的pfile不变,另外添加
db_unique_name='RDPSDB'
service_names='RDPSDB'
log_archive_config='dg_config=(RDPSDB,RDPSDBST)'
log_archive_dest_2='service=RDPSDBST valid_for=(online_logfiles,primary_role) db_unique_name=RDPSDBST'//注意:这里的service=RDPSDBST对应的是备库vmrac1,vmrac2,与前面tnsnames.ora文件对应的RDPSDBST配置一致.
db_file_name_convert='+DATA/RDPSDBST','+DATA/RDPSDB'
log_file_name_convert='+DATA/RDPSDBST','+DATA/RDPSDB'
standby_file_management='AUTO'
fal_server='RDPSDBST'
fal_client='RDPSDB'

备库:保持原主库pfile不变,在原主库的pfile中添加
db_unique_name='RDPSDBST'
service_names='RDPSDB'
log_archive_config='dg_config=(RDPSDB,RDPSDBST)'
log_archive_dest_2='service=RDPSDBST valid_for=(online_logfiles,primary_role) db_unique_name=RDPSDB'//注意:这里的service=RDPSDBST对应的是相对而言的备库(原主库)rac1,rac2,与前面tnsnames.ora文件对应的RDPSDBST配置一致.
db_file_name_convert='+DATA/RDPSDB','+DATA/RDPSDBST'
log_file_name_convert='+DATA/RDPSDB','+DATA/RDPSDBST'
standby_file_management='AUTO'
fal_server='RDPSDBST'
fal_client='RDPSDB'

同时修改control_files目录和log_archive_dest_1归档路径
*.control_files='+DATA/RDPSDBST/controlfile/current.272.774628713','+RECOVERY/RDPSDBST/controlfile/current.256.774628715'
*.log_archive_dest_1='location=+RECOVERY/RDPSDBST'

同时查看备库其他目录是否和主库保持一致,如果不一致,则需在备库两个节点另外创建,并修改相应的目录参数,如
[oracle@vmrac1 RDPSDB]$ pwd
/u01/app/oracle/admin/RDPSDB
[oracle@vmrac1 RDPSDB]$ ll
total 56
drwxr-xr-x  2 oracle dba 4096 Feb 10 15:40 adump
drwxr-xr-x  2 oracle dba 4096 Feb 10 15:40 bdump
drwxr-xr-x  2 oracle dba 4096 Feb 10 15:40 cdump
drwxr-xr-x  2 oracle dba 4096 Feb 10 15:40 dpdump
drwxr-xr-x  2 oracle dba 4096 Feb 10 15:40 hdump
drwxr-xr-x  2 oracle dba 4096 Feb 10 15:41 pfile
drwxr-xr-x  2 oracle dba 4096 Feb 10 15:40 udump

3,备份主库和控制文件,并拷贝至备库的相同备份目录下
RMAN> backup device type disk format '/home/oracle/%U' database plus archivelog;
RMAN> backup device type disk format '/home/oracle/%U' current controlfile for standby;
4,恢复

[oracle@vmrac1 ~]$ rman target auxiliary /

Recovery Manager: Release 10.2.0.1.0 - Production on Fri Feb 10 15:55:41 2012

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

connected to target database: RDPSDB (DBID=1598052841)
connected to auxiliary database: RDPSDB (not mounted)

RMAN> duplicate target database for standby;

Starting Duplicate Db at 10-FEB-12
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: sid=151 instance=RDPSDB1 devtype=DISK

contents of Memory Script:
{
   restore clone standby controlfile;
   sql clone 'alter database mount standby database';
}
executing Memory Script

Starting restore at 10-FEB-12
using channel ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: starting datafile backupset restore
channel ORA_AUX_DISK_1: restoring control file
channel ORA_AUX_DISK_1: reading from backup piece /home/oracle/03n2vqru_1_1
channel ORA_AUX_DISK_1: restored backup piece 1
piece handle=/home/oracle/03n2vqru_1_1 tag=TAG20120210T155334
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:23
output filename=+DATA/rdpsdbst/controlfile/current.257.774892559
output filename=+RECOVERY/rdpsdbst/controlfile/backup.256.774892565
Finished restore at 10-FEB-12

sql statement: alter database mount standby database
released channel: ORA_AUX_DISK_1

contents of Memory Script:
{
   set newname for tempfile  1 to
 "+DATA/rdpsdbst/tempfile/temp.275.774628745";
   switch clone tempfile all;
   set newname for datafile  1 to
 "+DATA/rdpsdbst/datafile/system.268.774628557";
   set newname for datafile  2 to
 "+DATA/rdpsdbst/datafile/undotbs1.270.774628559";
   set newname for datafile  3 to
 "+DATA/rdpsdbst/datafile/sysaux.269.774628557";
   set newname for datafile  4 to
 "+DATA/rdpsdbst/datafile/users.271.774628559";
   set newname for datafile  5 to
 "+DATA/rdpsdbst/datafile/example.276.774628751";
   set newname for datafile  6 to
 "+DATA/rdpsdbst/datafile/undotbs2.277.774628893";
   restore
   check readonly
   clone database
   ;
}
executing Memory Script

executing command: SET NEWNAME

renamed temporary file 1 to +DATA/rdpsdbst/tempfile/temp.275.774628745 in control file

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting restore at 10-FEB-12
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: sid=151 instance=RDPSDB1 devtype=DISK

channel ORA_AUX_DISK_1: starting datafile backupset restore
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
restoring datafile 00001 to +DATA/rdpsdbst/datafile/system.268.774628557
restoring datafile 00002 to +DATA/rdpsdbst/datafile/undotbs1.270.774628559
restoring datafile 00003 to +DATA/rdpsdbst/datafile/sysaux.269.774628557
restoring datafile 00004 to +DATA/rdpsdbst/datafile/users.271.774628559
restoring datafile 00005 to +DATA/rdpsdbst/datafile/example.276.774628751
restoring datafile 00006 to +DATA/rdpsdbst/datafile/undotbs2.277.774628893
channel ORA_AUX_DISK_1: reading from backup piece /home/oracle/01n2vnqp_1_1

channel ORA_AUX_DISK_1: restored backup piece 1
piece handle=/home/oracle/01n2vnqp_1_1 tag=TAG20120210T150143
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:16:56
Finished restore at 10-FEB-12

contents of Memory Script:
{
   switch clone datafile all;
}
executing Memory Script

datafile 1 switched to datafile copy
input datafile copy recid=8 stamp=774893599 filename=+DATA/rdpsdbst/datafile/system.258.774892587
datafile 2 switched to datafile copy
input datafile copy recid=9 stamp=774893599 filename=+DATA/rdpsdbst/datafile/undotbs1.261.774892593
datafile 3 switched to datafile copy
input datafile copy recid=10 stamp=774893599 filename=+DATA/rdpsdbst/datafile/sysaux.259.774892591
datafile 4 switched to datafile copy
input datafile copy recid=11 stamp=774893599 filename=+DATA/rdpsdbst/datafile/users.263.774892595
datafile 5 switched to datafile copy
input datafile copy recid=12 stamp=774893599 filename=+DATA/rdpsdbst/datafile/example.260.774892593
datafile 6 switched to datafile copy
input datafile copy recid=13 stamp=774893599 filename=+DATA/rdpsdbst/datafile/undotbs2.262.774892593
Finished Duplicate Db at 10-FEB-12

RMAN>

5,创建standby logfile
在standby的任意节点上

SQL> select status from v$instance;

STATUS
------------
MOUNTED

SQL> select member from v$logfile;    

MEMBER
--------------------------------------------------------------------------------
+DATA/rdpsdbst/onlinelog/group_2.274.774628729
+RECOVERY/rdpsdb/onlinelog/group_2.258.774628737
+DATA/rdpsdbst/onlinelog/group_1.273.774628717
+RECOVERY/rdpsdb/onlinelog/group_1.257.774628723
+DATA/rdpsdbst/onlinelog/group_3.278.774628923
+RECOVERY/rdpsdb/onlinelog/group_3.259.774628929
+DATA/rdpsdbst/onlinelog/group_4.279.774628937
+RECOVERY/rdpsdb/onlinelog/group_4.260.774628943

8 rows selected.

SQL> alter database add standby logfile thread 1 group 5 size 50M;

Database altered.

SQL> alter database add standby logfile thread 1 group 6 size 50M;

Database altered.

SQL> alter database add standby logfile thread 1 group 7 size 50M;

Database altered.

SQL> alter database add standby logfile thread 2 group 8 size 50M;

Database altered.

SQL> alter database add standby logfile thread 2 group 9 size 50M;

Database altered.

SQL> alter database add standby logfile thread 2 group 10 size 50M;

Database altered.

SQL> select member from v$logfile;

MEMBER
--------------------------------------------------------------------------------
+DATA/rdpsdbst/onlinelog/group_2.274.774628729
+RECOVERY/rdpsdb/onlinelog/group_2.258.774628737
+DATA/rdpsdbst/onlinelog/group_1.273.774628717
+RECOVERY/rdpsdb/onlinelog/group_1.257.774628723
+DATA/rdpsdbst/onlinelog/group_3.278.774628923
+RECOVERY/rdpsdb/onlinelog/group_3.259.774628929
+DATA/rdpsdbst/onlinelog/group_4.279.774628937
+RECOVERY/rdpsdb/onlinelog/group_4.260.774628943
+DATA/rdpsdbst/onlinelog/group_5.264.774894019
+RECOVERY/rdpsdbst/onlinelog/group_5.257.774894027
+DATA/rdpsdbst/onlinelog/group_6.265.774894061

MEMBER
--------------------------------------------------------------------------------
+RECOVERY/rdpsdbst/onlinelog/group_6.258.774894069
+DATA/rdpsdbst/onlinelog/group_7.266.774894099
+RECOVERY/rdpsdbst/onlinelog/group_7.259.774894107
+DATA/rdpsdbst/onlinelog/group_8.267.774894163
+RECOVERY/rdpsdbst/onlinelog/group_8.260.774894171
+DATA/rdpsdbst/onlinelog/group_9.268.774894193
+RECOVERY/rdpsdbst/onlinelog/group_9.261.774894205
+DATA/rdpsdbst/onlinelog/group_10.269.774894225
+RECOVERY/rdpsdbst/onlinelog/group_10.262.774894235

20 rows selected.


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值