如何安装使用goldengate
一.环境:
OS:linux CentOS_Final_5.5(64bit)
DB:oracle11gR2(单机模式)
goldengate: ggs_Linux_x64_ora11g_64bit_v11_1_1_0_0_078.tar
网络:局域网,源端IP 192.168.128.100 镜像端IP 192.168.128.101
二.目标:
实现源端到镜像端的数据同步(单向)
三.源端数据库实施:
1数据库准备
1.1开启数据库归档日志
查看数据库当前日志模式
archive log list;
更改为归档模式
shutdown immediate;
start mount;
alter database archivelog;
alter database open;
开启第二归档路径(可选)
alter system set log_archive_dest_2=’location=/archive_2OPTIONAL’ scope=spfile;
alter system archive log start tolog_archive_dest_2;
查看第二归档日志是否生效(重启数据库)
show parameter archive;
1.2开启supplemental logging和force logging
查看当前数据库是否开启supplementallogging
select SUPPLEMENTAL_LOG_DATA_MIN fromv$database;
开启数据库级别的最小supplementallogging
alter database add supplemental log data;
查看当前数据库forcelogging的状态
select force_logging from v$database;
开启forcelogging
alter database force logging;
1.3创建goldengate管理用户,并赋予相关权限
创建管理用户的表空间
create tablespace tbs_ggmgr datafiel ‘/u01/app/oracle/goldengate/ggmgr.dbf’size 50M autoextend on;
创建goldengate管理用户
create user ggmgr identified by oracledefault tablespace tbs_ggmgr temporary tablespace TEMP quota unlimited ontbs_ggmgr;
赋予ggmgr相关权限(想简单的话,可以赋予DBA权限)
grant CONNECT,RESOURCE to ggmgr;
grant CREATE SESSION,ALTER SESSION toggmgr;
grant SELECT ANY DICTIONARY,SELECT ANYTABLE to ggmgr;
grant CREATE TABLE,ALTER ANY TABLE to ggmgr;
1.4创建测试用户和表
create user test identified by test;
conn test/test;
create table test(
stuid number(8),
stuname varchar2(20),
stupasswd varchar2(20)
);
insert into test values(1,’test1’,’test1);
insert into test values(2,’test2’,’test2’);
commit;
2goldengate安装及参数设置
2.1设置goldengate运行所需的环境变量
编辑oracle的home目录下.bash_profile文件
vi .bash_profile
添加如下内容
exportLD_LIBRARY_PATH=$ORACLE_BASE/goldengate:$ORACLE_HOME/lib
2.2创建goldengate安装目录
通常将goldengate安装在ORACLE_BASE目录下
mkdir –p /u01/app/oracle/goldengate/
2.3解压并初始化goldengate
将goldengate压缩文件解压到goldengate得安装目录
tar vxf ggs_Linux_x64_ora11g_64bit_v11_1_1_0_0_078.tar
执行./ggsci进入GGSCI
创建目录结构
create subdirs --只在第一次启动执行
2.4 添加trandata
在GGSCI中
dbloign userid ggmgr,password oracle
对要进行复制的表添加表级supplemental logging
add trandata test.*
查看
info trandata test.*
2.5添加并配置mgr进程
edit param mgr
添加如下内容
port 7809
purgeoldextracts ./dirdat/*,usecheckpoints, minkeepfiles 20
2.6添加并配置extract进程
添加一个extract进程
add extract exts100,tranlog,begin now
给extract进程指定trail文件
add exttrail ./dirdat/s1,extract exts100,megabytes 100
配置extract的参数
edit param exts100
添加如下内容(开启第二归档的情况下)
extract exts100
userid ggmgr,password oracle
tranlogoptions archivedlogonly
tranlogoptions altarchivelogdest instanceorcl /archive_2
tranlogoptions altarchivedlogformat%t_%s_%r.dbf
gettruncates
reportcount every 30 minutes,rate
discardfile./dirrpt/exts100.dsc,APPEND,MEGABYTES 100
exttail ./dirdat/s1
table TEST.TEST;
2.7添加并配置pump进程
add extract dps100 exttrailsource./dirdat/s1
add rmttrail ./dirdat/t1,extract dps100
配置pump进程参数
edit param dps100
extract dps100
userid ggmgr,password oracle
rmthost 192.168.128.101,mgrport7809,compress
numfiles 5000
DYNAMICRESOLUTION
rmttrail ./dirdat/t1
table TEST.TEST;
2.8检查进程是否能够成功启动
start <进程名>
start mgr
start exts100
start dps100
查看进程状态
info all
四.镜像端数据库的初始化
1.从源端数据库导出相关的数据和表结构(需要相关权限,可以使用有DBA权限的用户)
exp username/password file=test_1203013.dmpowner=test triggers=n indexes=n log=test_120313.log;
2.将导出的数据文件传到镜像端
可以使用ftp
3.在镜像端创建和源端对应的用户和表空间,要保持表空间的名字一致
create user test identified by test;
4.在镜像端导入数据文件(需要相关权限,可以使用有DBA权限的用户)
imp username/password file=test_120313.dmpfromuser=test touser=test log=test_120313.log;
查看数据是否导入成功
五.镜像端数据库实施
1数据库准备
创建管理用户的表空间
create tablespace tbs_ggmgr datafiel ‘/u01/app/oracle/goldengate/ggmgr.dbf’size 50M autoextend on;
创建goldengate管理用户
create user ggmgr identified by oracledefault tablespace tbs_ggmgr temporary tablespace TEMP quota unlimited ontbs_ggmgr;
赋予ggmgr相关权限(想简单的话,可以赋予DBA权限)
grant CONNECT,RESOURCE to ggmgr;
grant CREATE SESSION,ALTER SESSION toggmgr;
grant SELECT ANY DICTIONARY,SELECT ANYTABLE to ggmgr;
grant CREATE TABLE to ggmgr;
2goldengate安装及参数设置
2.1.设置goldengate运行所需的环境变量
编辑oracle的home目录下.bash_profile文件
vi .bash_profile
添加如下内容
exportLD_LIBRARY_PATH=$ORACLE_BASE/goldengate:$ORACLE_HOME/lib
2.2.创建goldengate安装目录
通常将goldengate安装在ORACLE_BASE目录下
mkdir –p /u01/app/oracle/goldengate/
2.3.解压并初始化goldengate
将goldengate压缩文件解压到goldengate得安装目录
tar vxf ggs_Linux_x64_ora11g_64bit_v11_1_1_0_0_078.tar
执行./ggsci进入GGSCI
创建目录结构
create subdirs --只在第一次启动执行
2.4编辑全局参数文件
dblogin userid ggmgr,password oracle
edit params ./GLOBALS
添加如下内容
checkpointtable ggmgr.ogg_checkpointtable
添加检查点表
add checkpointtableggmgr.ogg_checkpointtable
2.5.添加并配置mgr进程
edit param mgr
添加如下内容
port 7809
(这里没有加入清除trail文件的设置)
2.6.添加并配置replicat进程
add replicat rept101,exttrail ./dirdat/t1
编辑replicat进程的参数文件
edit param rept101
添加如下内容
replicat rept101
userid ggmgr,password oracle
ASSUMETARGETDEFS
DISCARDFILE ./dirrpt/rept101.dsc,PURGE
MAP TEST.TEST, TARGET TEST.TEST;
2.7检查进程能否成功启动
start <进程名>
start mgr
start rept101
查看进程状态
info all
六.测试
1.在源端数据库插入数据
insert into test values(3,’test3,’test3’);
commit;
2.生成归档日志
alter system switch logfile;
3.查看镜像端数据库
select * from test;