ogg安装

源端 GoldenGate 软件版本:19.1.0.0.4
源端 GoldenGate 软件安装介质:191004_fbo_ggs_Linux_x64_shiphome.zip
 
源端
目标端
主机 IP 地址
10.8.98.247
10.8.98.248
操作系统类型
Linux
Linux
操作系统版本
Red Hat Enterprise Linux Server release 7.9
Red Hat Enterprise Linux Server release 7.9
GoldenGate 版本
19.1.0.0.4
19.1.0.0.4
GoldenGate 管理端口
7809
7809
GoldenGate 动态端口
7810-7820,7830
7810-7820,7830
 
1、创建软件目录及目录授权
mkdir /data001/ogg/ggs -p
mkdir /data001/soft -p
chown oracle:oinstall /data001/ -R chmod -R 775 /data001/ogg/ggs su - oracle unzip -d /data001/ogg/ggs /data001/soft/191004_fbo_ggs_Linux_x64_shiphome.zip
2、配置 GoldenGate 软件环境变量
su - oracle
cp ~/.bash_profile ~/.bash_profile_19c.20241108
vi ~/.bash_profile
export OGG_HOME=/data001/ogg/ggs
PATH=$ORACLE_HOME/bin:$OGG_HOME:$PATH; export PATH
source ~/.bash_profile

 

3、安装 GoldenGate 软件(图形安装)

[oracle@server247 Disk1]$ pwd
/data001/ogg/ggs/fbo_ggs_Linux_x64_shiphome/Disk1

 

3、安装ogg(静默安装)

配置静默安装响应文件 oggcore.rsp,
oggcore.rsp 一般位于软件解压目录 fbo_ggs_Linux_x64_shiphome/Disk1/response/
 

[oracle@server247 response]$ cat oggcore.rsp | grep -v "^#" | grep -v ^$
oracle.install.responseFileVersion=/oracle/install/rspfmt_ogginstall_response_schema_v19_1_0
INSTALL_OPTION=ORA19c
SOFTWARE_LOCATION=/data001/ogg/ggs
START_MANAGER=false
MANAGER_PORT=
DATABASE_LOCATION=
INVENTORY_LOCATION=
UNIX_GROUP_NAME=
[oracle@server247 response]$

 

[oracle@server247 response]$ pwd
/data001/ogg/ggs/fbo_ggs_Linux_x64_shiphome/Disk1/response
[oracle@server247 response]$ ls
oggcore.rsp
[oracle@server247 response]$ cd ..
[oracle@server247 Disk1]$ ls
install response runInstaller stage
[oracle@server247 Disk1]$ ./runInstaller -silent -responseFile /data001/ogg/ggs/fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore.rsp
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 120 MB. Actual 177497 MB Passed
Checking swap space: must be greater than 150 MB. Actual 8183 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2024-11-19_09-58-29AM. Please wait ...[oracle@server247 Disk1]$ [WARNING] [INS-75003] The specified directory /data001/ogg/ggs is not empty.
CAUSE: The directory specified /data001/ogg/ggs contains files.
ACTION: Clean up the specified directory or enter a new directory location.
You can find the log of this install session at:
/u01/oraInventory/logs/installActions2024-11-19_09-58-29AM.log
WARNING:OUI-10030:You have specified a non-empty directory to install this product. It is recommended to specify either an empty or a non-existent directory. You may, however, choose to ignore this message if the directory contains Operating System generated files or subdirectories like lost+found.
Do you want to proceed with installation in this Oracle Home?
Successfully Setup Software.
The installation of Oracle GoldenGate Core was successful.
Please check '/u01/oraInventory/logs/silentInstall2024-11-19_09-58-29AM.log' for more details.

[oracle@server247 Disk1]$


 

 

 

 

4、验证 GoldenGate 软件是否安装成功

 

[oracle@server247 ~]$ ggsci

Oracle GoldenGate Command Interpreter for Oracle
Version 19.1.0.0.4 OGGCORE_19.1.0.0.0_PLATFORMS_191017.1054_FBO
Linux, x64, 64bit (optimized), Oracle 19c on Oct 17 2019 21:16:29
Operating system character set identified as UTF-8.

Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.



GGSCI (server247) 1>
安装成功

 

5、初始化 GoldenGate 软件目录(图形界面安装这一步可以省略,已经创建了)

GGSCI (server247) 1> create subdirs

Creating subdirectories under current directory /home/oracle

Parameter file                 /data001/ogg/ggs/dirprm: already exists.
Report file                    /data001/ogg/ggs/dirrpt: already exists.
Checkpoint file                /data001/ogg/ggs/dirchk: already exists.
Process status files           /data001/ogg/ggs/dirpcs: already exists.
SQL script files               /data001/ogg/ggs/dirsql: already exists.
Database definitions files     /data001/ogg/ggs/dirdef: already exists.
Extract data files             /data001/ogg/ggs/dirdat: already exists.
Temporary files                /data001/ogg/ggs/dirtmp: already exists.
Credential store files         /data001/ogg/ggs/dircrd: already exists.
Masterkey wallet files         /data001/ogg/ggs/dirwlt: already exists.
Dump files                     /data001/ogg/ggs/dirdmp: already exists.


GGSCI (server247) 2>

 

 6、在源端数据库创建 GoldenGate 连接用户并授权

 

创建 ogg 用户的独立表空间
create tablespace tbs_ogg datafile '/u01/app/oracle/oradata/PROD247/tbs_ogg.dbf' size 5G;
create temporary tablespace tbs_ogg_temp tempfile '/u01/app/oracle/oradata/PROD247/temp_ogg.dbf' size 2G;
创建 ogg 用户及授权
SQL> create user ogg identified by "Passw0rd123456" default tablespace tbs_ogg temporary tablespace tbs_ogg_temp;
SQL> grant connect,resource,dba to ogg;
SQL> alter system set enable_goldengate_replication=true scope=both;
这是后面配置抽取进程,启动报错补回的!

目标端类似
创建 ogg 用户的独立表空间
create tablespace tbs_ogg datafile '/u01/app/oracle/oradata/PROD248/tbs_ogg.dbf' size 5G;
create temporary tablespace tbs_ogg_temp tempfile '/u01/app/oracle/oradata/PROD248/temp_ogg.dbf' size 2G;
创建 ogg 用户及授权
SQL> create user ogg identified by "Passw0rd123456" default tablespace tbs_ogg temporary tablespace tbs_ogg_temp;
SQL> grant connect,resource,dba to ogg;
SQL> alter system set enable_goldengate_replication=true scope=both;
 

 

7、开启数据库最小附加日志

数据库必须是归档模式,否则需要打开归档模式。
打开附加日志并切换日志(保证 Online redo log 和 Archive log 一致)
SQL> alter database force logging;
SQL>alter database add supplemental log data ;
SQL>alter database add supplemental log data (primary key, unique,foreign key) columns;
SQL>alter system switch logfile;

 

8、源端创建一个测试表

create user test001 identified by test001 default tablespace users;
grant dba to test001;
conn test001;
create table test001(id int primary key, name varchar2(10));


目标端也需要创建
create user test001 identified by test001 default tablespace users;
grant dba to test001;
conn test001;
create table test001(id int primary key, name varchar2(10));

 

9、开启需要同步的数据表的附加日志

[oracle@server247 response]$ ggsci

Oracle GoldenGate Command Interpreter for Oracle
Version 19.1.0.0.4 OGGCORE_19.1.0.0.0_PLATFORMS_191017.1054_FBO
Linux, x64, 64bit (optimized), Oracle 19c on Oct 17 2019 21:16:29
Operating system character set identified as UTF-8.

Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.



GGSCI (server247) 1> dblogin userid ogg password Passw0rd123456
Successfully logged into database.

GGSCI (server247 as ogg@prod247) 85> add trandata test001.test001


2024-11-14 11:38:07 INFO OGG-15132 Logging of supplemental redo data enabled for table TEST001.TEST001.


2024-11-14 11:38:07 INFO OGG-15133 TRANDATA for scheduling columns has been added on table TEST001.TEST001.


2024-11-14 11:38:07 INFO OGG-15135 TRANDATA for instantiation CSN has been added on table TEST001.TEST001.


2024-11-14 11:38:08 INFO OGG-10471 ***** Oracle Goldengate support information on table TEST001.TEST001 *****
Oracle Goldengate support native capture on table TEST001.TEST001.
Oracle Goldengate marked following column as key columns on table TEST001.TEST001: ID.


 

 

 

10、源端配置 GLOBALS 参数(目标端同样需要配置)

GGSCI (server247 as ogg@prod247) 3> edit param ./GLOBALS

GGSCI (server247 as ogg@prod247) 4>

GGSCI (server247 as ogg@prod247) 4> view param ./GLOBALS

GGSCHEMA ogg



目标端

GGSCI (server248) 2> dblogin userid ogg password Passw0rd123456
Successfully logged into database.


GGSCI (server248 as ogg@prod248) 3> edit param ./GLOBALS

 GGSCI (server248 as ogg@prod248) 4>

 GGSCI (server248 as ogg@prod248) 4>

GGSCI (server248 as ogg@prod248) 4>
GGSCI (server248 as ogg@prod248) 4> view param ./GLOBALS
GGSCHEMA ogg

 

11、源端配置 MANAGER 管理进程(目标端同样)

GGSCI (server247 as ogg@prod247) 7> edit param mgr


GGSCI (server247 as ogg@prod247) 8> view param mgr

PORT 7809
DYNAMICPORTLIST 7810-7820, 7830
AUTOSTART EXTRACT *
AUTORESTART EXTRACT *, RETRIES 4, WAITMINUTES 2 STARTUPVALIDATIONDELAY 5 PURGEOLDEXTRACTS /data001/ogg/ggs/dirdat/*, USECHECKPOINTS, minkeepdays 9 LAGREPORTHOURS 1 LAGINFOMINUTES 30 LAGCRITICALMINUTES 45 ACCESSRULE, PROG *, IPADDR 10.8.*.*, ALLOW GGSCI (server247 as ogg@prod247) 9>

 

12、源端配置 EXTRACT 抽取进程

GGSCI (server247 as ogg@prod247) 9> add extract e_test01,integrated tranlog,begin now                                                                   
EXTRACT (Integrated) added.


GGSCI (server247 as ogg@prod247) 11> add exttrail /data001/ogg/ggs/dirdat/e1,extract e_test01
EXTTRAIL added.

将数据抽取进程注册到源端数据库

GGSCI (server247 as ogg@prod247) 12> register extract e_test01 database

2024-11-11 11:32:06 INFO OGG-02003 Extract EXTRACT1 successfully registered with database at SCN 2824246.

 

#######################################################################

register EXTRACT E_TEST01 database SCN 2237377

add extract e_test01  integrated tranlog scn 2237377

add exttrail /data001/ogg/ggs/dirdat/e1,extract e_test01

 

 

 

 

 

配置抽取进程参数
GGSCI (server247 as ogg@prod247) 14> edit param e_test01

GGSCI (server247 as ogg@prod247) 17> view param e_test01

EXTRACT e_test01
SETENV (ORACLE_SID = "prod247")
SETENV (ORACLE_HOME= /u01/app/oracle/product/19c/db_1)
SETENV (NLS_LANG = "AMERICAN_AMERICA.AL32UTF8")
USERID ogg, PASSWORD Passw0rd123456
-- Log all scheduling columns if using integrated Replicat
LOGALLSUPCOLS
DBOPTIONS ALLOWUNUSEDCOLUMN
WARNLONGTRANS 2h, CHECKINTERVAL 300s
FETCHOPTIONS NOUSESNAPSHOT
REPORTCOUNT EVERY 10 MINUTES, RATE
exttrail /data001/ogg/ggs/dirdat/e1,FORMAT RELEASE 19.1
discardfile /data001/ogg/ggs/dirrpt/e_test01.dsc, append, megabytes 500
table test001.test001;


GGSCI (server247 as ogg@prod247) 18>
 

 

13、源端配置 EXTRACT pump 投递进程

GGSCI (server247 as ogg@prod247) 18> add extract p_test01, exttrailsource /data001/ogg/ggs/dirdat/e1,begin now
EXTRACT added.


GGSCI (server247 as ogg@prod247) 19> add rmttrail /data001/ogg/ggs/dirdat/r1,extract p_test01
RMTTRAIL added.

GGSCI (server247 as ogg@prod247) 20>

配置 pump 投递进程参数

GGSCI (server247 as ogg@prod247) 23> edit param p_test01

 

GGSCI (server247 as ogg@prod247) 24> view param p_test01

EXTRACT p_test01
SETENV (ORACLE_SID = "prod247")
SETENV (ORACLE_HOME= /u01/app/oracle/product/19c/db_1/)
SETENV (NLS_LANG = "AMERICAN_AMERICA.AL32UTF8")
RMTHOST 10.8.98.248, MGRPORT 7809, compress
RMTTRAIL /data001/ogg/ggs/r1,FORMAT RELEASE 19.1

table test001.test001;


GGSCI (server247 as ogg@prod247) 25>

 
源端开启各进程,验证配置是否正确

GGSCI (server247) 3> start *

Sending START request to MANAGER ...
EXTRACT EXTRACT1 starting

Sending START request to MANAGER ...
EXTRACT PUMPE1 starting

GGSCI (server247) 4> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNING
EXTRACT RUNNING EXTRACT1 00:00:00 00:00:04
EXTRACT RUNNING PUMPE1 00:00:00 00:00:05

 

14、目标端配置 REPLICAT 复制进程

如果还没有 checkpoint table,则需要先创建,主要是用于 REPLICAT 复制进程

GGSCI (server248) 3> dblogin USERID ogg, PASSWORD Passw0rd123456
Successfully logged into database.

GGSCI (server248 as ogg@prod248) 6> add checkpointtable ogg.checkpoint

 

ADD REPLICAT r_test01,exttrail /data001/ogg/ggs/dirdat/r1,checkpointtable ogg.checkpoint

GGSCI (server248 as ogg@prod248) 9> view param r1

REPLICAT r_test01
SETENV (ORACLE_SID = "prod248")
SETENV (ORACLE_HOME= /u01/app/oracle/product/19c/db_1)
SETENV (NLS_LANG = "AMERICAN_AMERICA.AL32UTF8")
USERID ogg, PASSWORD Passw0rd123456
--handlecollisions
assumetargetdefs
allownoopupdates
gettruncates
discardfile /data001/ogg/ggs/dirrpt/r1.dsc,append, megabytes 500
DBOPTIONS DEFERREFCONST
REPLACEBADCHAR SPACE
--exttrail /data001/ogg/ggs/dirdat/r1
map test001.test001,target test001.test001;

 

 15、主机端插入数据,验证目标端

SQL> select * from test001;
no rows selected
SQL> insert into test001 values(1,'haifeng');
1 row created.
SQL> commit;
Commit complete.
SQL> insert into test001 values(2,'ttt');
1 row created.
SQL> commit;
Commit complete.
SQL>


目标端

SQL> select * from test001;

ID NAME
---------- ----------
1 haifeng
2 ttt

 

 

 
 
 
 
 
posted @ 2024-11-19 11:38  海和风  阅读(107)  评论(0)    收藏  举报