设为首页 加入收藏

TOP

使用dataguard将单实例数据库转换为rac数据库(一)
2015-11-21 01:51:26 来源: 作者: 【 】 浏览:4
Tags:使用 dataguard 实例 数据库 转换 rac

我们经常将oracle rac数据库通过dataguard容灾到一个单实例数据库中,当生产库出现故障后可以将生产库切换到dg服务器上。而当生产库rac修复完成后,我们同样可以通过dg将数据回切到生产库中。

此次测试将单实例数据库通过dg转换为rac数据库,这个单实例是刚创建的,并不是由rac通过dg生成的。

在做dg之前需要安装完成grid,不需要创建数据库实例。在日志应用的时候必须只能是一个实例应用。

具体环境如下:

单实例库:

数据库版本:11.2.0.4.0

sid:suq

db_unique_name=suq

ip:192.168.56.35

hostname:11g1

rac数据库:

?

数据库版本:11.2.0.4.0

sid:suq1、suq2

db_unique_name=suq1

ip地址规划:

#PUBLIC
192.168.56.110 suq1
192.168.56.112 suq2
#VIP
192.168.56.111 suq1-vip
192.168.56.113 suq2-vip
#PRIV
172.168.1.21 suq1-priv
172.168.1.23 suq2-priv
#SCAN
192.168.56.25 suq-cluster-scan

具体步骤如下:

1.配置一些rac和dg的基本参数,包括:

修改主库force logging、创建standby logfile、创建密码文件并且拷贝到rac下、添加主库和备库的服务命名:

?

alter database force logging;

alter database add standby logfile group 4 ('/opt/oracle/oradata/suq/stand_redo04.log') size 50m;

alter database add standby logfile group 5 ('/opt/oracle/oradata/suq/stand_redo05.log') size 50m;

alter database add standby logfile group 6 ('/opt/oracle/oradata/suq/stand_redo06.log') size 50m;

alter database add standby logfile group 7 ('/opt/oracle/oradata/suq/stand_redo07.log') size 50m;


##
primary=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.35)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = suq)
    )
  )

standby=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.111)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = suq1)
      (UR = A)
    )
  )
  

注意:standby端即rac端的ip地址写的是suq1的vip地址,而且需要加上(UR=A)选项,否则通过sqlplus连接不到rac实例。

?

2.生成standby端的oracle 参数文件,这一步参数里面的内容及其重要,必须写正确,特别是rac和dg的参数,目前我的rac有三个磁盘组

?

[grid@suq2 ~]$ asmcmd lsdg
State    Type    Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512   4096  1048576      3435     3329                0            3329              0             N  BACKUP/
MOUNTED  EXTERN  N         512   4096  1048576      4305     1988                0            1988              0             N  DATADG/
MOUNTED  EXTERN  N         512   4096  1048576      1458     1058                0            1058              0             Y  SYSTEMDG/

?

下面是我写好的一个参数文件:

?

suq.__db_cache_size=335544320
suq.__java_pool_size=4194304
suq.__large_pool_size=4194304
suq.__oracle_base='/u01/app'
suq.__pga_aggregate_target=335544320
suq.__sga_target=503316480
suq.__shared_io_pool_size=0
suq.__shared_pool_size=146800640
suq.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/suq'
*.audit_trail='none'
*.compatible='11.2.0.4.0'
*.control_files='+DATADG/suq/control.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='suq'
*.db_recovery_file_dest='+BACKUP'
*.db_recovery_file_dest_size=5218762752
*.diagnostic_dest='/u01/app/oracle'
*.memory_target=838860800
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
#### rac parameter 
suq1.local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.111)(PORT=1521))'
suq2.local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.113)(PORT=1521))'
suq1.undo_tablespace='UNDOTBS1'
suq2.undo_tablespace='UNDOTBS2'
suq1.remote_listener='suq-cluster-scan:1521'
suq2.remote_listener='suq-cluster-scan:1521'
suq1.instance_name=suq1
suq2.instance_name=suq2
suq1.instance_number=1
suq2.instance_number=2
*.cluster_database=true
*.cluster_database_instances
首页 上一页 1 2 3 4 5 6 下一页 尾页 1/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇oracle获取某时间段内的年份、月.. 下一篇oracle10g不支持continue解决方法

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: