Linux安装和配置ogg单向数据复制支持DDLWord文档格式.docx
《Linux安装和配置ogg单向数据复制支持DDLWord文档格式.docx》由会员分享,可在线阅读,更多相关《Linux安装和配置ogg单向数据复制支持DDLWord文档格式.docx(23页珍藏版)》请在冰点文库上搜索。
![Linux安装和配置ogg单向数据复制支持DDLWord文档格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/4/f4b4a705-4de0-482f-84e3-deba3ceea149/f4b4a705-4de0-482f-84e3-deba3ceea1491.gif)
如果ggsci无启动,说明环境就是没有配置好或对应的版本不对。
二、源端配置
1.数据库开启归档
确认数据库是否处于归档模式:
Selectlog_modefromv$database;
如果不是,开启归档模式:
指定归档目录altersystemsetlog_archive_dest_1="
location=+ASM_DATA"
scope=both;
shutdownimmediate;
startupmount;
alterdatabasearchivelog;
alterdatabaseopen;
2.开启数据库的附加日志
通过以下sql语句检查数据库附加日志的打开状况:
SelectSUPPLEMENTAL_LOG_DATA_MINfromv$database;
返回值yes为打开。
如果没有开启,请执行如下命令打开
alterdatabaseaddsupplementallogdata;
altersystemswitchlogfile;
3.开启数据库强制日志模式
通过以下sql语句检查数据库是否开启强制日志模式:
Selectforce_loggingfromv$database;
alterdatabaseforcelogging;
4.配置管理进程
在/goldengate目录下运行GGS命令行控制界面:
确认参数文件中的端口没有被占用
netstat–a|grep7809
编辑参数,在ggsci下执行
editparamsmgr
PORT7809
AUTOSTARTER*
AUTORESTARTEXTRACT*,RETRIES100,WAITMINUTES2
PURGEOLDEXTRACTS./dirdat/*,USECHECKPOINTS,MINKEEPDAYS3
LAGREPORTHOURS1
LAGINFOMINUTES30
LAGCRITICALMINUTES45
SYSLOGERROR,WARN
各参数解释
5.新建goldengate用户、表空间及赋予权限
SQL>
createtablespacetbs_oggdatafile'
/u01/app/oracle/oradata/mydb/tbs_ogg.dbf'
size100Mautoextendon;
Tablespacecreated.
createusergoldengateidentifiedbygoldengatedefaulttablespacetbs_ogg;
Usercreated.
grantdba,connect,resourcetogoldengate;
Grantsucceeded.
6.增加同步表的附加日志
本实验使用ogg同步SCOTT用户下的所有表
如果SCOTT用户被锁定使用以下命令解锁
alteruserscottaccountunlock;
alteruserscottidentifiedby"
123456"
;
SCOTT用户下有四张表
selecttable_namefromuser_tables;
TABLE_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADE
GGSCI(rhel5)1>
dbloginuseridgoldengatepasswordgoldengate
Successfullyloggedintodatabase.
删除原有同步表的附加日志,如果以后配置过ogg的执行
GGSCI(rhel5)2>
deletetrandatascott.*
LoggingofsupplementalredologdataisalreadydisabledfortableSCOTT.BONUS.
LoggingofsupplementalredologdataisalreadydisabledfortableSCOTT.DEPT.
LoggingofsupplementalredologdataisalreadydisabledfortableSCOTT.EMP.
LoggingofsupplementalredologdataisalreadydisabledfortableSCOTT.SALGRADE.
增加同步表的附加日志
GGSCI(rhel5)3>
addtrandatascott.*
2016-06-1911:
49:
35WARNINGOGG-00869NouniquekeyisdefinedfortableBONUS.Allviablecolumnswillbeusedtorepresentthekey,butmaynotguaranteeuniqueness.KEYCOLSmaybeusedtodefinethekey.
LoggingofsupplementalredodataenabledfortableSCOTT.BONUS.
LoggingofsupplementalredodataenabledfortableSCOTT.DEPT.
LoggingofsupplementalredodataenabledfortableSCOTT.EMP.
35WARNINGOGG-00869NouniquekeyisdefinedfortableSALGRADE.Allviablecolumnswillbeusedtorepresentthekey,butmaynotguaranteeuniqueness.KEYCOLSmaybeusedtodefinethekey.
LoggingofsupplementalredodataenabledfortableSCOTT.SALGRADE.
WARNINGOGG-00869NouniquekeyisdefinedfortableBONUS.Allviablecolumnswillbeusedtorepresentthekey,butmaynotguaranteeuniqueness.KEYCOLSmaybeusedtodefinethekey.
可以使用在参数文件中加入KEYCOLS手动指定主键,语法为tabletable_name,KEYCOLS(col_name[,col_name,…]);
也可以为表添加主键本实验不做添加,没有主键可能会使ogg会造成数据不同步。
7.抽取进程配置文件
增加配置文件exttab.prm,加入如下内容后保存,也可以在本地创建exttab.prm然后加入内容后通过FTP工具上传到OGG安装目录的dirprm目录下,注意根据实际情况标红部分:
GGSCI>
editparamsexttab
exttab.prm内容
EXTRACTEXTTAB
DYNAMICRESOLUTION
SETENV(NLS_LANG="
AMERICAN_AMERICA.ZHS16GBK"
)
SETENV(ORACLE_HOME="
/u01/app/oracle/product/10.2.0/db1"
SETENV(ORACLE_SID="
mydb"
USERIDgoldengate,PASSWORDgoldengate
DISCARDFILE./dirrpt/exttab.dsc,APPEND,MEGABYTES1024
TRANLOGOPTIONSASMUSERSYS@ASM,ASMPASSWORD123456--访问ASM读取日志
EXTTRAIL./dirdat/tl
tablescott.*
各参数解释:
如果主机上存在多个数据库实例,需要设置:
Setenv(ORACLE_SID=sid_name)
NLS_LANG需要设置和数据库语言环境一至
(select*fromnls_database_parameters查询当前数据库字符集)
(如果需要排除某些表,可以添加TABLEEXCLUDETEST.TEST1,必须添加在TABLETEST.*前面)
如果RedoLog存储在ASM中,设置CatpureASM连接方式如下:
Oracle10.2.0.5或11.2.0.2之前版本:
TRANLOGOPTIONSASMUSERsys@asminst,asmpasswordoracle
直接访问ASM的方式需要配置ASM的监听,在tnsname.ora目录下添加
ASM=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.120)(PORT=1521))
)
(CONNECT_DATA=
(SERVICE_NAME=+ASM)
(INSTANCE_NAME=+ASM)
(SERVER=DEDICATED)
(UR=A)
Oracle10.2.0.5、11.2.0.2或之以后版本,GoldenGate为11g或以后版本:
TRANLOGOPTIONSDBLOGREADER
如果在AIX或HPUX平台数据库的redolog使用的是RAW,则可能需要设置参数:
TRANLOGOPTIONSRAWDEVICEOFFSET,设置此参数:
TRANLOGOPTIONSRAWDEVICEOFFSET0
--仅限于AIX平台下使用裸设备时使用,其它平台或非裸设备均不需要
--需要在Aix操作系统中去查有没有偏移量,如果有偏移量的话,该参数不需要进行设置,goldengate的默认就可以了;
--如果没有偏移量,则需要设置为0;
8.传输进程配置文件
增加给目标库传输进程配置文件dp_tab.prm,加入如下内容后保存,也可以在本地创建dp_tab.prm然后加入内容后通过FTP工具上传到OGG安装目录的dirprm目录下,注意根据实际情况替换标红部分:
editparamsdp_tab
dp_tab.prm内容:
EXTRACTDP_TAB
PASSTHRU
RMTHOST192.168.56.201,mgrport7809,compress
RMTTRAIL./dirdat/tl
tablescott.*;
9.配置OGG抽取进程和传输进程
增加抽取进程,只有源端数据库为RAC情况才需要“,threadsn”
addextractexttab,tranlog,beginnow[,threadsn]
建立抽取进程和队列文件关联关系
addexttrail./dirdat/tl,extractexttab,megabytes200
增加传输进程组
addextractdp_tab,exttrailsource./dirdat/tl
建立传输进程和目标端队列文件关联关系
addrmttrail./dirdat/tl,extractdp_tab,megabytes200
启动抽取进程和传输进程
startexttab
startdp_tab
infoall
注:
启动抽取进程和传输进程前需要启动管理进程
三、目标端操作
1.创建goldengate用户、表空间及赋予权限
createtablespacetab_oggdatafile'
/u01/app/oracle/oradata/mydb/tab_ogg.dbf'
createusergoldengateidentifiedbygoldengatedefaulttablespacetab_ogg;
本实验要把数据同步到一个ogg用户下,需要先创建该用户,本步非必需。
createuseroggidentifiedby123456defaulttablespaceusers;
grantresource,connect,dbatoogg;
2.GLOBALS配置
在ggsci下执行
editparams./GLOBALS
CHECKPOINTTABLEgoldengate.checkpoint;
退出ggsci
3.创建checkpoint表
dbloginuseridgoldengate,passwordgoldengate
addcheckpointtable
AUTORESTARTEXTRACT*,RETRIES5,WAITMINUTES3
PURGEOLDEXTRACTS./dirdat/*,usecheckpoints,minkeepdays3
5.启动管理进程
startmgr
到/goldengate/dirdat目录下查看有没有队列文件tl*传过来
6.复制进程配置文件
增加到目标库复制进程的配置文件reptab.prm,加入如下内容后保存,也可以在本地创建reptab.prm然后加入内容后通过FTP工具上传到OGG安装目录的dirprm目录下,注意根据实际情况替换标红部分:
editparamsreptab
reptab.prm内容(其中环境变量NLS_LANG与源端保持一致):
replicatreptab
useridgoldengate,passwordgoldengate
reperrordefault,discard
discardfile/goldengate/dirrpt/reptab.dsc,append,megabytes1024
dynamicresolution
ASSUMETARGETDEFS
mapscott.*,targetogg.*;
IntheReplicatparamPleasetryASSUMETARGETDEFS,ifsourceandtargethavesametablestructure..
ifboththestructuresaredifferent,generatethesourcedefinitionanduseSOURCEDEFSinReplicateParam.
7.配置OGG复制进程
增加到目标库的复制进程
addreplicatreptab,exttrail./dirdat/mo,checkpointtableogg.checkpoint
配完后暂时不要启动进程
四、数据初始化
OGG进程正式运行前必须确保源端和目标端的数据是一致的,所以必须进行数据初始化。
以下数据初始化采用数据泵的方式执行,在数据初始化前,必须确保源端抽取进程为运行状态,目标端复制进程为停止状态(源端传输进程无要求)。
1.源端导出数据
以下命令注意根据实际情况替换标红部分:
使用oracle用户登录源端系统,进入OGG安装目录/goldengate下,创建导出数据文件目录,如:
expdp_data,
$mkdirexpdp_data
$sqlplus/nolog
conn/assysdba
select*fromdba_directories;
创建数据导出目录和赋权
createdirectoryogg_dump_diras'
/goldengate/expdp_data'
grantread,writeondirectoryogg_dump_dirtoscott;
查询当前数据库的SCN号,并记录下来,下一步要用到
selectcurrent_scnfromv$database;
CURRENT_SCN
-----------
631836
exit
导出数据文件
expdpscott/tigerdirectory=ogg_dump_dirdumpfile=scott_20151230.dmptables=EMP,DEPT,BONUS,SALGRADElogfile=scott.logflashback_scn=631836
如果tables参数过长,也可以使用parfile=scott_tab.par
scott_tab.par文件内容如下
tables=EMP,DEPT,BONUS,SALGRADE
将生成的DMP文件复制到目标端的/goldengate/impdp_data(如果不存在,需先创建此目录)目录下,也可通过FTP工具先下载到本地再上传到目标端相应目录
scpscott_20151230.dmporacle@192.168.56.201:
/goldengate/impdp_data
2.目标端导入数据
使用oracle用户登录目标端系统,进入OGG安装目录下,创建导入数据文件目录,如:
/impdp_data,
[oracle@jlptgwdbgoldengate]$mkdirimpdp_data
[oracle@jlptgwdbgoldengate]$sqlplus/nolog
创建数据导入目录和赋权
createdirectoryogg_dump_diras'
/goldengate/impdp_data'
grantread,writeondirectoryogg_dump_dirtoogg;
如果导出数据使用的用户名和表空间与目标端不同,请在导入impdp命令中加入REMAP_SCHEMA参数和REMAP_TABLESPACE参数
$impdpogg/123456directory=ogg_dump_dirdumpfile=scott_20151230.dmplogfile=table.logtable_exists_action=replaceremap_schema=scott:
oggremap_tablespace=users:
tbs1
3.启动复制进程
此处SCN号为导出数据时查询的SCN号
startreptab,aftercsn631836
ogg配置完成,可以进行测试
五、添加DDL复制支持
1.源端配置
进入goldengate安装目录,以sysdba角色进入sqlplus
[oracle@primarygoldengate]$sqlplus/assysdba
关闭数据库回收站(11G以后可以不用关)
altersystemsetrecyclebin=offscope=both;
清空回收站
purgerecyclebin
运行goldengateDDL支持配置脚本,顺序必须一致
@marker_setup.sql
@ddl_setup.sql
@role_setup.sql
Markersetupscript
YouwillbepromptedforthenameofaschemafortheGoldenGatedatab