若要使用 OGG, ORACLE 必须开启归档模式,可以理解为设置 ORACLE 的 REDO LOG 落地, 这样才能让 OGG 拿到所需的日志信息.
1.查询数据库是否处于归档模式, 如果处于归档模式, 则返回结果 ARCHIVELOG
SQL> select log_mode from v$database;
2.如果不处于归档模式,则要开启归档
$> sqlplus /nolog
SQL> conn /as sysdba
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database open;
SQL> archive log list;
- 设置数据库附加日志
开启附加日志主要是为了 UPDATE操作, ORACLE默认日志记录模式, 不会记录 UPDATE操作中没有更新到的数据, 但是 TDT 为了实现同步必须要拿到所有的列数据, 故需要执行此操作
$> sqlplus /nolog
SQL> conn /as sysdba
SQL> alter database add supplemental log data;
SQL> alter database add supplemental log data (all,primary key,unique,foreign key) columns;(按需设置附加日志类别)
SQL> select supplemental_log_data_min min, supplemental_log_data_pk pk, supplemental_log_data_ui ui, supplemental_log_data_fk fk, supplemental_log_data_all allc from v$database;
结果均显示YES
SQL> alter database force logging;
SQL> select force_logging from v$database;
结果显示yes
SQL> select TABLE_NAME,LOGGING from DBA_TABLES where table_name=<TABLE_NAME>;
- 源端OGG配置
- 从附件链接或者OGG 官网下载 Oracle GoldenGate Downloads
源端只能安装在oracle所在的机器上,切换到oracle用户(su - oracle),解压ogg包,进入 fbo_ggs_Linux_x64_shiphome/Disk1 目录, 编辑 response目录下的文件(oggcore.rsp), 注意按照环境设置标红的配置, 其他设置不变
#-------------------------------------------------------------------------------
# Specify the installation option.
# Specify ORA12c for installing Oracle GoldenGate for Oracle Database 12c and
# ORA11g for installing Oracle GoldenGate for Oracle Database 11g
#-------------------------------------------------------------------------------
# 需要与oracle版本对应
INSTALL_OPTION=ORA11g
#-------------------------------------------------------------------------------
# Specify a location to install Oracle GoldenGate
#-------------------------------------------------------------------------------
# ogg 安装目录
SOFTWARE_LOCATION=/root/ogg_12_3
设置完成后, 执行命令 ./runInstaller -silent -nowait -responseFile <path-to-response-file>, 即开始安装.
注意安装日志,如果出现以下情况:
则重新编辑刚刚responce目录下的oggcore.rsp:
#-------------------------------------------------------------------------------
# Specify the location which holds the install inventory files.
# This is an optional parameter if installing on
# Windows based Operating System.
#-------------------------------------------------------------------------------
INVENTORY_LOCATION=<path-to-oraInventory> oraInventory目录的路径
#-------------------------------------------------------------------------------
# Unix group to be set for the inventory directory.
# This parameter is not applicable if installing on
# Windows based Operating System.
#-------------------------------------------------------------------------------
UNIX_GROUP_NAME=dba oraInventory目录所属组
修改之后重新执行./runInstaller -silent -nowait -responseFile <path-to-response-file>进行安装:
出现以上信息说明安装成功,切换到root用户,执行日志提示的命令:/u01/app/oracle/oraInventory/orainstRoot.sh
- 环境变量设置
- OGG 12.3 只支持 JDK 1.8+版本
- 切换到root用户,把以下环境变量设置写入/etc/profile 中,然后执行source /etc/profile使环境变量生效
- 在root和oracle用户下分别执行java -version和echo $OGG_HOME两个命令来看看环境变量是否设置正确
注:启动 OGG MGR进程后, 如果环境变量有改动, 必须要重启 MGR进程才能生效
export OGG_HOME=<path-to-ogg>
export JAVA_HOME=<path-to-java>
export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64:$JAVA_HOME/jre/lib/amd64/server:$JAVA_HOME/jre/lib/amd64/libjsig.so:$JAVA_HOME/jre/lib/amd64/server/libjvm.so:$OGG_HOME:$OGG_HOME/lib:$LD_LIBRARY_PATH
export PATH=$PATH:$JAVA_HOME/bin
设置完成后, 进入 OGG_HOME目录, 运行 ./ggsci , 运行后可能会出现:./ggsci: error while loading shared libraries: libnnz11.so: cannot open shared object file: No such file or directory
解决办法:ggsci: error while loading shared libraries: libnnz11.so - ritchy - 博客园
1、ldd ggsci
2、cd $ORACLE_HOME/lib
3、ls -l libnnz11.so
4、ls -l libclntsh.so.11.1
5、ln -s /u01/app/oracle/product/11.2.0/dbhome_1/lib/libnnz11.so /home/oracle/goldengate/./libnnz11.so
6、ln -s /u01/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1 /home/oracle/goldengate/./libclntsh.so.11.1
执行命令 create subdirs 初始化 OGG 目录, 各目录作用如下
1、dirchk:存放由extract抽取进程和replicat复制进程创建的checkpoint(检查点)文件;
2、dirdat:存放extract进程创建的抽取文件,等待被复制;
3、dirdef:存放生成的源端或目标端数据定义文件;
4、dirrpt:进程报告文件,进程挂查断时,可以查看此文件,找出错误报告,也可在./ggsci下,用view report查看错误日志;
5、dirprm:存放配置参数的文件,修改参数时,可以直接修改本文件,也可以在./ggsci下,用edit param 修改;
6、dirtmp:临时文件目录,用于长事务处理;