Standalone复制
3.1 目标概述
在Vmware虚拟机模拟环境下利用GoldenGate实现数据同步,GoldenGate可以复制DML和DDL操作。
(1)Oracle RAC环境见表3-1。
表3-1
节点1 节点2
操作系统:Red Hat Linux 5.4 操作系统:Red Hat Linux 5.4
数据库:Oracle 10g 数据库:Oracle 10g
IP地址:
eth0:192.168.0.101
eth1:10.10.17.201 IP地址:
eth0:192.168.0.102
eth1:10.10.17.202
网关:192.168.0.168 网关:192.168.0.168
DNS:192.168.0.168 DNS:192.168.0.168
内存:512G 内存:512G
网卡:2块 网卡:2块
存储管理: Oracle ASM
(2)Oracle Standalone 环境见表3-2。
表3-2
操作系统: Red Hat Linux 5.4
数据库: Oracle 10g
IP地址: 192.168.0.104
网关: 192.168.0.168
DNS: 192.168.0.168
内存: 512G
网卡: 1块
3.2 GoldenGate在Linux平台的安装
3.2.1 安装前准备工作
首先,我们需要下载GoldenGate For Linux版本,比如到 http://edelivery.oracle.com。
1.创建GoldenGate操作系统用户
这里直接使用Oracle用户安装GoldenGate,而不创建新的用户。
2.准备集群文件系统
这里把GoldenGate安装到每一个RAC节点,GoldenGate在每一个节点使用相同的目录结构,然后把checkpoint文件和trail files放到ASM文件系统来实现高可用性。
3.创建安装目录分配存储空间
/ggs目录为GoldenGate的安装目录。
4.设置GoldenGate用户的环境变量
在两个RAC节点,GoldenGate用户的.bash_profile文件分别加入,把GoldenGate的目录加入到PATH中,另外输出PATH和LD_LIBRARY_PATH这两个环境变量,如图3-1 所示。
图3-1
5.安装GoldenGate
把适合操作系统版本的GoldenGate上传到每个RAC节点,使用unzip命令解压,这样得到一个tar包如图3-2所示。
图3-2
使用命令tar -xvof <filename>.tar 解压GoldenGate可以看到很多文件如图3-3所示。
图3-3
在一个新的目录运行GGSCI会出现图3-4的界面,这里在/u01/ggs目录运行。
图3-4
输入命令create subdirs创建GoldenGate的工作目录如图3-5所示。
图3-5
6.创建GoldenGate数据库用户ggs及授dba权限
创建Golden Gate数据库用户ggs及授dba权限,如图3-6所示。
图3-6
7.配置ASM的连通性
如果使用Oracle的ASM作为存储管理软件,那么就需要确保GoldenGate能够同样也能连接到ASM实例:
(1)确保ASM实例已经添加到tnsnames.ora 文件。
(2)确保监听可以监听到连接ASM实例的请求,listener.ora需要加入如下的内容:
示例3-1:
SID_LIST_LISTENER_DARAN =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/10.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(ORACLE_HOME = /u01/app/oracle/product/10.0/db_1)
(SID_NAME = +ASM1)
)
)
确保goldengate能够连接到数据库的ASM实例
RAC中所有节点都要配置
在源端TNSNAMES.ORA中配置ASM实例信息
vi $ORACLE_HOME/network/admin/tnsnames.ora
ORADB_ASM =
(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 = +ASM)
)
)
在源端LISTENER.ORA中配置ASM实例的相关信息
vi $ORACLE_HOME/network/admin/listener.ora
SID_LIST_LISTENER_RAC1 =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = oradb)
(ORACLE_HOME = /opt/app/oracle/product/10.2.0/db_1)
(SID_NAME = oradb1)
)
(SID_DESC =
(GLOBAL_DBNAME = +ASM)
(ORACLE_HOME = /opt/app/oracle/product/10.2.0/db_1)
(SID_NAME = +ASM1)
)
)
上面是rac1中的配置,rac2中的SID_LIST_LISTENER_xxx 和SID_NAME要相应修改
重启监听
lsnrctl reload
通过sqlplus sys/xxx@oradb_asm as sysdba来连接asm实例,能连上则说明配置成功
3.2.2 使用Oracle clusterware管理GoldenGate
1.添加一个应用程序VIP资源
人们可以通过使用CRS来管理GoldenGate的资源组,并且使用RAC的vip连接到GoldenGate,一旦数据库的某一个节点宕掉,Oracle clusterware将自动切换到另一个可用的节点。
下面是创建应用程序vip资源的步骤:
(1)使用安装GoldenGate的用户登录。
(2)为GoldenGate VIP资源创建一个profile:
示例3-2:
$ORA_CRS_HOME/bin/crs_profile create ggatevip \\\\
-t application \\\\
-a $ORA_CRS_HOME/bin/usrvip \\\\
-o oi=eth0,ov=192.168.0.23,on=255.255.255.0
命令解析:
$ORA_CRS_HOME :是clusterware的HOME目录。
Ggatevip :是你创建的应用程序vip的名字。
oi=eth0 :是制定公用网卡为eth0。
ov=192.168.0.23 :设置虚拟IP为192.168.0.23。
on=255.255.255.0 :设置虚拟IP的子网掩码为255.255.255.0,需要和公网IP的子网 掩码相同。
你还可以设置更多的参数,详情请查看Oracle clusterware文档,如图3-7所示。
图3-7
(3)把这个资源注册到CRS,运行命令:$ORA_CRS_HOME/bin/crs_register ggatevip,如图3-8所示。
图3-8
(4)把vip的所有权给root,执行命令,在root下执行,[root@node1 bin]# ./crs_setperm ggatevip -o root,如图3-9所示。
图3-9
(5)为Oracle用户分配启动这个资源的权限,如图3-10所示。
图3-10
(6)通过Oracle用户启动这个资源,如图3-11所示。
图3-11
(7)查看这个资源的状态,比如运行状态以及在哪个节点上运行,如图3-12所示。