序号 | 项目 | 建议值 | 实际值 | 备注 |
1 | cpu | N/A | N/A | 根据环境判断 |
2 | 内存 | >=4G | 6G | 根据归档日志的大小确认 |
3 | 存储 | >=100G | 10G | 测试用系统 |
序号 | 项目 | 版本 | 备注 |
1 | GlodenGate | 122022_fbo_ggs_Linux_x64_shiphome | 对应操作系统 |
序号 | 项目 | 源端 | 目标端 |
1 | 安装目录 | /ogg/app/ogg | /data1/app/ogg |
2 | tail文件目录 | /ogg/app/ogg/dirdat | /data1/app/ogg/dirdat |
3 | 安装用户 | oracle | oracle |
4 | 端口号 | 7809 | 7809 |
5 | 管理用户 | ggadm | ggadm |
1) 开启归档,--如未开启,重新开启需要重启实例,在mount状态下
SQL>Alter database archivelog
2) 开启Force logging
SQL>Alter database force logging
3) 开启supplemental logging
SQL>Alter databaseadd supplemental log data;
4) 设置数据库GoldenGate参数
SQL> show parameter enable_goldengate_replication;
SQL> alter system set enable_goldengate_replication=true scope=both ; --RAC的所有实例也需要设置
5) 创建OGG表空间
SQL>create tablespace ogg_tbs datafile '+DATA/xxxxxx/datafile/ogg_tbs_01.dbf' size 5G AUTOEXTEND on extent management local segment space management auto ;
--如要启用DDL功能,OGG用户需要独立的表空间。
SQL>create user ggadm identified by goldengate123 default tablespace ogg_tbs;
7) 给OGG账号赋权
--源端:无DDL,不使用DBA权限的情况: ---For 集成模式,db 11.2.0.4.0
--The following privileges apply to Oracle versions 11.2.0.4 or later.
--源端:Extract Classic Mode :
SQL>grant connect, resource,CREATE SESSION to ggadm;
SQL>exec dbms_goldengate_auth.grant_admin_privilege('ggadm');
SQL>exec dbms_goldengate_auth.grant_admin_privilege(grantee=>'ggadm');
SQL>grant select any dictionary to ggadm;
SQL>commit;
vi $ORACLE_HOME/network/admin/tnsnames.ora
OGGSource =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.101)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = mydb)
)
)
9) 检测tnsping 和相关网络是否联通
$ sqlplus ggadm/goldengate123@oggsource
/home/oracle/122022_fbo_ggs_Linux_x64_shiphome.zip
2) 解压缩安装包
unzip /home/oracle/122022_fbo_ggs_Linux_x64_shiphome.zip
3) 检查服务器是否安装oracle客户端(如果不是在中间服务器安装,此步可以跳过)
如果是在oracle库上安装OGG,那么可以跳过此步,如果是在中间服务器安装,需要安装oracle客户端程序。
如果是在中间服务器上安装OGG注意:
a)中间服务器请保持和源库操作系统一致;
b)安装客户端程序通过图形界面可以完成安装,注意版本和源端尽量一致;
4) 安装必要依赖包,(如果不是在中间服务器安装,此步可以跳过)
---------------------For RHEL 6 x86_64 (64-bit) ----------------
yum -y install binutils* compat-libcap1* compat-libstdc++*.x86_64 compat-libstdc++*.i686 gcc* gcc-c++* libgcc-*.x86_64 libgcc-*.i686 libstdc++-*.x86_64 libstdc++-*.i686 libaio-*.x86_64 libaio-*.i686 make* sysstat glibc-*.x86_64 glibc-*.i686 elfutils-* unixODBC*
5) 修改安装用户环境变量,这里是oracle,注意红色部分
export ORACLE_BASE=/data1/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/client_1
export GG_HOME=/ogg/app/ogg ----ogg安装目录
export PATH=$JAVA_HOME/bin:$GG_HOME:$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GG_HOME:$ORACLE_HOME/lib:/lib:/usr/lib:$GG_ADAPTER_HOME
1) 修改response响应参数文件
cd /home/oracle/fbo_ggs_Linux_x64_shiphome /Disk1/response
2) 编辑参数
vi oggcore.rsp ----修改两个地方的参数
INSTALL_OPTION=ORA11g ----11g数据库选择ORA11g,12C选择ORA12c
SOFTWARE_LOCATION=/ogg/app/ogg ----ogg安装目录
3) 开始安装
/home/oracle/ fbo_ggs_Linux_x64_shiphome /Disk1/runInstaller -silent -nowait -responseFile /home/oracle/fbo_ggs_Linux_x64_shiphome/Disk1/response/ oggcore.rsp
4) 检测是否正常安装
注意安装过程是否有报错,检查动态链接库是否正常
[oracle@target ogg]$cd /ogg/app/ogg/
[oracle@target ogg]$ ldd ggsci
linux-vdso.so.1 => (0x00007fff8a1fe000)
librt.so.1 => /lib64/librt.so.1 (0x00007fc592b40000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fc59293b000)
libgglog.so => /u01/app/ogg/./libgglog.so (0x00007fc592517000)
libggrepo.so => /u01/app/ogg/./libggrepo.so (0x00007fc5922a5000)
libdb-6.1.so => /u01/app/ogg/./libdb-6.1.so (0x00007fc591ec0000)
libggperf.so => /u01/app/ogg/./libggperf.so (0x00007fc591c90000)
libggparam.so => /u01/app/ogg/./libggparam.so (0x00007fc590b86000)
libicui18n.so.48 => /u01/app/ogg/./libicui18n.so.48 (0x00007fc590796000)
libicuuc.so.48 => /u01/app/ogg/./libicuuc.so.48 (0x00007fc590415000)
libicudata.so.48 => /u01/app/ogg/./libicudata.so.48 (0x00007fc58ec50000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fc58ea33000)
libxerces-c.so.28 => /u01/app/ogg/./libxerces-c.so.28 (0x00007fc58e46d000)
libantlr3c.so => /u01/app/ogg/./libantlr3c.so (0x00007fc58e254000)
libnnz11.so => /u01/app/oracle/product/12.1.0/db_1/lib/libnnz11.so (0x00007fc58de86000)
libclntsh.so.11.1 => /u01/app/oracle/product/12.1.0/db_1/lib/libclntsh.so.11.1 (0x00007fc58b41c000)
libggnnzitp.so => /u01/app/ogg/./libggnnzitp.so (0x00007fc58acc5000)
libm.so.6 => /lib64/libm.so.6 (0x00007fc58a9c2000)
libc.so.6 => /lib64/libc.so.6 (0x00007fc58a603000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc592d51000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fc58a2fb000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fc58a0e5000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00007fc589ecb000)
libaio.so.1 => /lib64/libaio.so.1 (0x00007fc589cc9000)
5) 创建参数文件、数据文件、日志文件等的子目录
[oracle@target ogg] $ ./ggsci
GGSCI > create subdirs
GGSCI > show
Parameter settings:
SET SUBDIRS ON
SET DEBUG OFF
Current directory: /ogg/app/ogg
Using subdirectories for all process files
Editor: vi
Reports (.rpt) /ogg/app/ogg/dirrpt
Parameters (.prm) /ogg/app/ogg/dirprm
Replicat Checkpoints (.cpr) /ogg/app/ogg/dirchk
Extract Checkpoints (.cpe) /ogg/app/ogg/dirchk
Process Status (.pcs) /ogg/app/ogg/dirpcs
SQL Scripts (.sql) /ogg/app/ogg/dirsql
Database Definitions (.def) /ogg/app/ogg/dirdef
Dump files (.dmp) /ogg/app/ogg/dirdmp
Masterkey wallet files (.wlt) /ogg/app/ogg/dirwlt
Credential store files (.crd) /ogg/app/ogg/dircrd
1) 安装过程中如果可以使用图形界面建议使用图形界面安装;
2) 安装过程中注意配置好环境变量,使用oracle用户安装;
3) 如果用户无法提供oracle用户安装,建议安装用户必须要有oracle的所有组权限;
4) 静默安装时注意仅需要编辑两个参数,MGR可以在安装完毕后配置,如果需要配置DATABASE_LOCATION,该参数应为$ORACLE_HOME;
5) 建议安装过程中如有报错需要及时处理,如果静默模式安装失败,建议完全卸载或者更换安装目录。
1) 创建credential store
GGSCI > add credentialstore --把用户凭证加入Credentialstore里
2) 把用户凭证加入Credentialstore
GGSCI >alter credentialstore add user ggadm@OGGSource,password goldengate123 alias oggsourceadm
3) 测试是否可以免密登录
GGSCI > dblogin useridalias oggsourceadm
Successfully logged into database.
4) 配置抽取表
登录成功后,将要抽取的表加入trandata
GGSCI (oggsourceadm)>add trandata schema.tablename,allcols
5) 查看配置情况
GGSCI (oggsourceadm)>info trandata schema.tablename
6) 创建checkpoint表
GGSCI (oggsourceadm)>add checkpointtable ggadm.checkpoint
1) 配置全局参数
GGSCI > edit params ./GLOBALS--注意:对于UNIX/Linux 平台,此步骤做完后,需要到目录下检查,文件名一定要大写,不能是globals
--For Performance Monitor:
--ENABLEMONITORING
CHECKPOINTTABLE ggadm.checkpoint
-- For DDL :
GGSCHEMA ggadm
2) 配置MGR进程
GGSCI>edit param mgr
PORT 7809
DYNAMICPORTLIST 7810-7820
--AUTOSTART ER *
--AUTORESTART ER *,RETRIES 5,WAITMINUTES 7, RESETMINUTES 60
PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 7
--------------------
--For ddl MGR
--userid ggadm, password goldengate123
--useridalias oggsourceadm
--PURGEDDLHISTORY MINKEEPDAYS 7, MAXKEEPDAYS 10
--PURGEMARKERHISTORY MINKEEPDAYS 7, MAXKEEPDAYS 10
--------------------
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
3) 管理MGR进程
GGSCI> START MGR
GGSCI> info MGR
GGSCI> stop MGR
1) 管理Extract进程和Extract目录
添加GGSCI>ADD EXTRACT e1, TRANLOG,BEGIN now,threads 2 —RAC为节点数
GGSCI>ADD EXTTRAIL ./dirdat/e1, EXTRACT e1
查看
GGSCI>info EXTTRAIL
GGSCI>info EXTRACT e1
删除
GGSCI>delete EXTTRAIL ./dirdat/e1, EXTRACT e1
GGSCI>delete EXTRACT e1
2) 编辑Extract参数
GGSCI > edit params e1
EXTRACT E1
setenv (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
USERIDALIAS oggsourceadm
--USERIDALIAS pmsprod
TRANLOGOPTIONS DBLOGREADER
FETCHOPTIONS NOUSESNAPSHOT
GETTRUNCATES
EXTTRAIL ./dirdat/e1
DISCARDFILE ./dirrpt/e1.dsc, APPEND, MEGABYTES 4000
WARNLONGTRANS 1H, CHECKINTERVAL 5M
CACHEMGR CACHESIZE 1024MB, CACHEDIRECTORY ./dirtmp
LOGALLSUPCOLS
NOCOMPRESSUPDATES
UPDATERECORDFORMAT FULL
REPORTCOUNT EVERY 2 SECONDS, RATE
table schema.tablename
;--该步骤可包含转换过程详见附件
GGSCI > start extract e1 –启动e1进程
GGSCI > stop extract e1 –关闭e1进程
GGSCI > kill extract e1 --强制停止e1进程
GGSCI > info e1 --查看进程参数信息
GGSCI > stats e1 --查看进程运行信息
GGSCI > view report e1 ---查看运行报告
--其中extract可以不用
1) 管理pump进程和pump目录
添加
GGSCI> ADD EXTRACT p1 EXTTRAILSOURCE ./dirdat/e1, BEGIN NOW
GGSCI>ADD RMTTRAIL /data1/app/ogg/dirdat/tx, EXTRACT p1
查看
GGSCI>info RMTTRAIL
GGSCI>info EXTRACT p1
删除
GGSCI>delete RMTTRAIL /data1/app/ogg/dirdat/tx, EXTRACT p1
GGSCI> delete EXTRACT p1
2) 编辑PUMP参数
GGSCI > edit params p1
EXTRACT p1
--setenv (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
--For ogg 12.2 DYNAMICRESOLUTION is deprecated
--DYNAMICRESOLUTION
--USERIDALIAS ggadm
--USERIDALIAS oggsourceadm
discardfile ./dirrpt/p1.dsc,append,megabytes 4000
rmthost 192.168..56.101 mgrport 7809
rmttrail /data1/app/ogg/dirdat/tx
PASSTHRU
TABLE PMS_GXGL.*;
3) 管理PUMP进程
GGSCI > start extract p1 –启动e1进程
GGSCI > stop extract p1 –关闭e1进程
GGSCI > kill extract p1 --强制停止e1进程
GGSCI > info p1 --查看进程参数信息
GGSCI > stats p1 --查看进程运行信息
GGSCI > view report p1 ---查看运行报告
--其中extract可以不用
常见的OGG报错及处理方法如下表所示:
序号 |
错误代码 |
处理方法 |
备注 |
1 |
OGG-00446 |
将缺失的归档日志从备份中恢复出来,如果依旧找不到所需归档日志,那么只能重新实时数据初始化 |
|
2 |
OGG-001161 |
对照源端和目标段的这张表的表结构,如果目标端的表缺少一列,则在目标端登陆数据库,增加这一列,然后启动复制进程 |
|
3 |
OGG-01154 |
数据库中该表空间已满,需要对该表空间进行扩容 |
|
4 |
OGG-00664 |
启动数据库的监听器 |
|
5 |
OGG-00665 |
在没有关闭OGG进程的情况下,提前关闭了数据库,导致OGG进程出现异常。如果是发现了这个错误提示,应该马上关闭OGG进程,注意数据库的归档日志情况,保证归档日志不会缺失,然后等待数据库启动成功后,马上启动OGG进程 |
|
6 |
OGG-00199 |
查看源端抽取进程的参数,DDL复制参数是否配对,针对这张表重新实施数据初始化 |
|