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

来源:互联网 发布:淘宝可以买凤楼信息吗 编辑:程序博客网 时间:2024/06/07 19:48

10G RAC与10G Physical DG 的测试

测试环境
前期准备与规划,主要的数据文件放在+DATA,归档日志放在+RECOVERY,默认RMAN备份集文件放在+RECOVERY.
10G RAC为两节点,Oracle版本10.2.0.5.0,OS Linux AS4U7,配置好RAC,并启用归档,并且主库启用强制归档。
10G Physical DG为Oracle版本10.2.0.5.0,OS Linux AS4U7,安装好与RAC完全相同版本的Oracle数据库文件,不要创建数据库实例,监听服务也不需要用netca额外创建。

vmrac3
pub 192.168.119.11/24 (NAT)
vip  192.168.119.13/24 (NAT)
private 10.10.10.11/24 (HOST)

vmrac4
pub 192.168.119.12/24 (NAT)
vip 192.168.119.14/24 (NAT)
private 10.10.10.12/24 (HOST)

vmrac34dg
192.168.119.25 (NAT)

RAC
SID:JTPROD1,JTPROD2
DB_NAME:JTPROD
DG  SID:JTPRODSB
DB_NAME:JTPROD

请注意:DG的SID可以与主库一样,也可以不用一样,为了区分,我选择与主库不一样进行配置,以免混淆.
这里有5个名称需要注意service_name,sid_name,global_name,db_unique_name,db_name,其中除db_name我们保持与主库一致使用JTPROD,其他另外4个名称我们均使用JTPRODSB,而这4个名称为了能够不混淆,建议名称统一.

配置步骤

1,hosts文件准备:有必要将主备库的hosts文件统一,以便使用hostname进行网络访问,内容如下.
/etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost.localdomain localhost
192.168.119.25  vmrac34dg
192.168.119.21  vmrac3
192.168.119.22  vmrac4
10.10.10.21     vmrac3-priv
10.10.10.22     vmrac4-priv
192.168.119.23  vmrac3-vip
192.168.119.24  vmrac4-vip

2,网络文件tnsname.ora
修改主备库两边所有机器的tnsnames.ora文件,使得双方主机之间可以实现网络访问,配置完毕后可以通过tnsping测试,内容如下.
/u01/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
LISTENERS_JTPROD =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = vmrac3-vip)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = vmrac4-vip)(PORT = 1521))
  )

JTPROD2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = vmrac4-vip)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = JTPROD)
      (INSTANCE_NAME = JTPROD2)
    )
  )

JTPROD1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = vmrac3-vip)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = JTPROD)
      (INSTANCE_NAME = JTPROD1)
    )
  )

JTPROD =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = vmrac3-vip)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = vmrac4-vip)(PORT = 1521))
    (LOAD_BALANCE = yes)
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = JTPROD)
    )
  )

JTPRODSB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = vmrac34dg)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = JTPRODSB)
    )   
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

3,监听文件listener.ora
仅修改库的,内容如下.
/u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
SID_LIST_LISTENER =
    (SID_LIST =
        (SID_DESC =
        (GLOBAL_NAME = JTPRODSB)
        (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
        (SID_NAME = JTPRODSB))
)

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = vmrac34dg)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

4,参数文件init$ORACLE_SID.ora
主备库均要修改,备库原本没有参数文件,通过修改主库实现.
由主库的参数文件SQL>create pfile='/home/oracle/init.JTPROD.ora' from spfile;
对上述文件进行修改得到备库initJTPRODSB.ora的参数文件.

原始/home/oracle/initJTPROD.ora
JTPROD1.__db_cache_size=104857600
JTPROD2.__db_cache_size=121634816
JTPROD1.__java_pool_size=4194304
JTPROD2.__java_pool_size=4194304
JTPROD1.__large_pool_size=4194304
JTPROD2.__large_pool_size=4194304
JTPROD1.__shared_pool_size=100663296
JTPROD2.__shared_pool_size=83886080
JTPROD1.__streams_pool_size=0
JTPROD2.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/JTPROD/adump'
*.background_dump_dest='/u01/app/oracle/admin/JTPROD/bdump'
*.cluster_database_instances=2
*.cluster_database=true
*.compatible='10.2.0.5.0'
*.control_files='+DATA/JTPROD/control01.ctl','+DATA/JTPROD/control02.ctl','+DATA/JTPROD/control03.ctl'
*.core_dump_dest='/u01/app/oracle/admin/JTPROD/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='JTPROD'
*.db_recovery_file_dest='+RECOVERY'
*.db_recovery_file_dest_size=107374182400
*.dispatchers='(PROTOCOL=TCP) (SERVICE=JTPRODXDB)'
JTPROD1.instance_number=1
JTPROD2.instance_number=2
*.job_queue_processes=10
*.log_archive_dest_1=''
JTPROD1.log_archive_dest_1='location=+RECOVERY/JTPROD'
JTPROD2.log_archive_dest_1='location=+RECOVERY/JTPROD'
*.log_archive_local_first=TRUE
*.open_cursors=300
*.pga_aggregate_target=71303168
*.processes=150
*.remote_listener='LISTENERS_JTPROD'
*.remote_login_passwordfile='exclusive'
*.sga_target=216006656
JTPROD2.thread=2
JTPROD1.thread=1
*.undo_management='AUTO'
JTPROD2.undo_tablespace='UNDOTBS2'
JTPROD1.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/app/oracle/admin/JTPROD/udump'

经过删除非*号开头和有cluster字眼的部分行,添加或修改下面蓝色部分,修改后为standby最后的参数文件
initJTPRODSB.ora
control_files='/u01/oradata/control01.ctl','/u01/oradata/control02.ctl','/u01/oradata/control03.ctl'
log_archive_config='dg_config=(JTPROD,JTPRODSB)'
log_archive_dest_1='location=/u01/oradata valid_for=(all_logfiles,all_roles) db_unique_name=JTPRODSB'
log_archive_dest_2='service=JTPROD valid_for=(online_logfiles,primary_role) db_unique_name=JTPROD'
db_file_name_convert='+DATA/JTPROD','/u01/oradata','+DATA/JTPROD','/u01/oradata'
log_file_name_convert='+DATA/JTPROD','/u01/oradata'
standby_file_management='AUTO'
fal_server='JTPROD1','JTPROD2'
fal_client=JTPRODSB
thread=1
undo_tablespace='UNDOTBS1'
db_unique_name='JTPRODSB'
*.audit_file_dest='/u01/app/oracle/admin/JTPRODSB/adump'
*.background_dump_dest='/u01/app/oracle/admin/JTPRODSB/bdump'
*.compatible='10.2.0.5.0'
*.core_dump_dest='/u01/app/oracle/admin/JTPRODSB/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='JTPROD'
*.db_recovery_file_dest='/u01/oradata'
*.db_recovery_file_dest_size=10240000000
*.dispatchers='(PROTOCOL=TCP) (SERVICE=JTPRODXDB)'
*.job_queue_processes=10
*.log_archive_dest_1=''
*.log_archive_local_first=TRUE
*.open_cursors=300
*.pga_aggregate_target=71303168
*.processes=150
*.remote_login_passwordfile='exclusive'
*.sga_target=216006656
*.undo_management='AUTO'
*.user_dump_dest='/u01/app/oracle/admin/JTPRODSB/udump'

至此standby参数搞定,下面通过语句直接修改主库的参数文件.

库在任意RAC节点上修改即可.
SQL> alter system setlog_archive_config='dg_config=(JTPROD,JTPRODSB)' scope=spfile sid='*';
System altered.
SQL> alter system setlog_archive_dest_2='service=JTPRODSB valid_for=(online_logfiles,primary_role) db_unique_name=JTPRODSB';
System altered.
SQL> ALTER SYSTEM SETdb_file_name_convert='/u01/oradata','+DATA/JTPROD','/u01/oradata','+DATA/JTPROD' scope=spfile sid='*';
System altered.
SQL> alter system setlog_file_name_convert='/u01/oradata','+DATA/JTPROD' scope=spfile sid='*';
System altered.
SQL> ALTER SYSTEM SETstandby_file_management='AUTO';
System altered.
SQL> alter system setfal_server=JTPRODSB scope=spfile sid='*';
System altered.
SQL> ALTER SYSTEM SETfal_client=JTPROD scope=spfile sid='*';
System altered.

5,密码文件orapwJTPRODSB.ora
仅在库,拷贝主库或重新创建均可orapwd file=/$ORACLE_HOME/dbs/orapwJTPRODSB password=amaxgs,注意这个密码要和主库一致.


接下来...
见10G RAC与10G Physical DG 的测试-2


原创粉丝点击