GoldenGateをインストールしてDB間のレプリケーション環境を構築する
GoldenGateを使用してOracle Database間のレプリケーションを構築します。
レプリケーションまでのステップは下記の通りですが、本記事だと「1.」と「2.」を対象にしています。
-
GoldenGateインストール
-
GoldenGate環境設定
-
データ伝搬
環境構成
マシンスペックの関係で同一マシン内に2DBを作成しています。この2DBをGoldenGateを使用してレプリケーション環境を作成します。
ソース | ターゲット | |
---|---|---|
DBバージョン | 11.2.0.4 | 18c |
GoldenGateバージョン | 12.2.0.1 | 18.1.0.0.0 |
DB名 | db112s | db18s |
PDB名 | - | db18p1 |
GoldenGate用DBユーザ | ggs | c##ggs |
伝搬用ユーザ | ggtest | ggtest |
GoldenGateインストール先 | /gg/gg1 | /gg/gg2 |
Captureプロセス | c11 | - |
Data Pumpプロセス | d11 | - |
Replicatプロセス | - | r11 |
Captureプロセスのモード | 統合モード(Integrated Capture) | - |
Replicatプロセスのモード | - | 統合モード(Integrated Replicat) |
その他 | シングル構成 |
前提事項
- 既にソースDBとターゲットDBがインストールされていること
- GoldenGateのメディアファイルを事前にダウンロードしていること
GoldenGateインストール
GG_HOMEの作成
今回はCUIベースでのインストールを行います。GUIでインストールしたい場合は下記qiitaの記事をご参照ください。
GoldenGate布教活動② ~GoldenGateのインストール~ - Qiita https://qiita.com/ch0c0bana0/items/a57debf29a8d907e9feb
su -
mkdir -p /gg/gg1
mkdir -p /gg/gg2
chmod -R 755 /gg
chown -R oracle:oinstall /gg
exit
GoldenGate12cR2(12.2.0.1)のインストール
メディア・ファイルの解凍
#コマンド
cd /home/oracle/software/goldengate/12.2.0.1/V100692-01
ls -l
unzip V100692-01.zip
#実行結果
[oracle@dbvgg V100692-01]$
[oracle@dbvgg V100692-01]$ cd /home/oracle/software/goldengate/12.2.0.1/V100692-01
[oracle@dbvgg V100692-01]$ ls -l
合計 464468
-rwxr-xr-x 1 oracle oinstall 475611228 7月 7 19:15 2017 V100692-01.zip
[oracle@dbvgg V100692-01]$ unzip V100692-01.zip
Archive: V100692-01.zip
creating: fbo_ggs_Linux_x64_shiphome/
creating: fbo_ggs_Linux_x64_shiphome/Disk1/
~中略~
creating: fbo_ggs_Linux_x64_shiphome/Disk1/response/
inflating: fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore.rsp
inflating: OGG-12.2.0.1-README.txt
inflating: OGG-12.2.0.1.1-ReleaseNotes.pdf
[oracle@dbvgg V100692-01]$
サイレントインストール用のレスポンスファイルの修正
★部分が修正箇所になります。環境に合わせて修正する必要があります。
cd ./fbo_ggs_Linux_x64_shiphome/Disk1/response
ls -l
vi oggcore.rsp
#oggcore.rspの修正内容
####################################################################
## Copyright(c) Oracle Corporation 2014. All rights reserved. ##
## ##
## Specify values for the variables listed below to customize ##
## your installation. ##
## ##
## Each variable is associated with a comment. The comment ##
## can help to populate the variables with the appropriate ##
## values. ##
## ##
## IMPORTANT NOTE: This file should be secured to have read ##
## permission only by the oracle user or an administrator who ##
## own this installation to protect any sensitive input values. ##
## ##
####################################################################
#-------------------------------------------------------------------------------
# Do not change the following system generated value.
#-------------------------------------------------------------------------------
oracle.install.responseFileVersion=/oracle/install/rspfmt_ogginstall_response_schema_v12_1_2
################################################################################
## ##
## Oracle GoldenGate installation option and details ##
## ##
################################################################################
#-------------------------------------------------------------------------------
# Specify the installation option.
# Specify ORA12c for installing Oracle GoldenGate for Oracle Database 12c and
# ORA11g for installing Oracle GoldenGate for Oracle Database 11g
#-------------------------------------------------------------------------------
INSTALL_OPTION=ORA11g ★←
#-------------------------------------------------------------------------------
# Specify a location to install Oracle GoldenGate
#-------------------------------------------------------------------------------
SOFTWARE_LOCATION=/gg/gg1 ★←
#-------------------------------------------------------------------------------
# Specify true to start the manager after installation.
#-------------------------------------------------------------------------------
START_MANAGER=false ★←
#-------------------------------------------------------------------------------
# Specify a free port within the valid range for the manager process.
# Required only if START_MANAGER is true.
#-------------------------------------------------------------------------------
MANAGER_PORT=
#-------------------------------------------------------------------------------
# Specify the location of the Oracle Database.
# Required only if START_MANAGER is true.
#-------------------------------------------------------------------------------
DATABASE_LOCATION=
################################################################################
## ##
## Specify details to Create inventory for Oracle installs ##
## Required only for the first Oracle product install on a system. ##
## ##
################################################################################
#-------------------------------------------------------------------------------
# Specify the location which holds the install inventory files.
# This is an optional parameter if installing on
# Windows based Operating System.
#-------------------------------------------------------------------------------
INVENTORY_LOCATION=
#-------------------------------------------------------------------------------
# Unix group to be set for the inventory directory.
# This parameter is not applicable if installing on
# Windows based Operating System.
#-------------------------------------------------------------------------------
UNIX_GROUP_NAME=
GoldenGateインストール
cd /home/oracle/software/goldengate/12.2.0.1/V100692-01/fbo_ggs_Linux_x64_shiphome/Disk1
./runInstaller -silent -nowait -responseFile /home/oracle/software/goldengate/12.2.0.1/V100692-01/fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore.rsp
#実行結果
[oracle@dbvgg Disk1]$ ./runInstaller -silent -nowait -responseFile /home/oracle/software/goldengate/12.2.0.1/V100692-01/fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore.rsp
Oracle Universal Installerを起動中です...
一時領域の確認中: 120MBを超えている必要があります. 実際 28028MB 問題なし
スワップ領域の確認中: 150MBを超えている必要があります. 実際 7855MB 問題なし
Oracle Universal Installerの起動を準備中 /tmp/OraInstall2019-03-29_05-24-01PM. お待ちください...
このインストール・セッションのログは次の場所にあります:
/u01/app/oraInventory/logs/installActions2019-03-29_05-24-01PM.log
Oracle GoldenGate Coreのインストールが成功しました。
詳細は'/u01/app/oraInventory/logs/silentInstall2019-03-29_05-24-01PM.log'を確認してください。
Successfully Setup Software.
[oracle@dbvgg Disk1]$
OPatch更新
#OPatch更新
cd /home/oracle/software/goldengate/12.2.0.1/p6880880
unzip p6880880_112000_Linux-x86-64.zip
cp -Rp ./OPatch/* /gg/gg1/OPatch/
/gg/gg1/OPatch/opatch version
#実行結果
[oracle@dbvgg p6880880]$ /gg/gg1/OPatch/opatch version
OPatch Version: 11.2.0.3.19
OPatch succeeded.
[oracle@dbvgg p6880880]$
GoldenGate用のPatch更新
#OPatch更新
export ORACLE_HOME=/gg/gg1
export PATH=$ORACLE_HOME/OPatch:$PATH
cd /home/oracle/software/goldengate/12.2.0.1/p26849940
unzip p26849940_12201170919_Linux-x86-64.zip
cd 26849940/
/gg/gg1/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
$ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME
$ORACLE_HOME/OPatch/opatch lspatches
$ORACLE_HOME/OPatch/opatch lsinventory
#実行結果
[oracle@dbvgg 26849940]$ $ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME
Oracle Interim Patch Installerバージョン11.2.0.3.19
Copyright (c) 2019, Oracle Corporation. All rights reserved。
Oracle Home : /gg/gg1
Central Inventory : /u01/app/oraInventory
from : /gg/gg1/oraInst.loc
OPatch version : 11.2.0.3.19
OUI version : 11.2.0.3.0
Log file location : /gg/gg1/cfgtoollogs/opatch/opatch2019-03-29_17-36-23午後_1.log
Verifying environment and performing prerequisite checks...
OPatch continues with these patches: 26849940
続行しますか。[y|n]
y
User Responded with: Y
All checks passed.
セキュリティの問題について通知を受ける電子メール・アドレスを指定し、Oracle Configuration
Managerをインストールして開始してください。My Oracle Supportの電子メール・アドレス/ユーザー名を使用すればより簡単です。
詳細はhttp://www.oracle.com/support/policies.htmlにアクセスしてください。
電子メール・アドレス/ユーザー名:
セキュリティの問題について通知を受け取るための電子メール・アドレスが指定されていません。
セキュリティの問題に関する通知を今後も受け取りませんか([Y]はい, [N]いいえ) [N]: y
ローカル・システムのこのORACLE_HOME以外で実行しているOracleインスタンスを停止してください。
(Oracleホーム = '/gg/gg1')
ローカル・システムにパッチを適用する準備ができましたか。 [y|n]
y
User Responded with: Y
Backing up files...
Applying interim patch '26849940' to OH '/gg/gg1'
コンポーネントoracle.oggcore.ora11g, 12.2.0.0.0にパッチを適用中...
Patch 26849940 successfully applied.
Log file location: /gg/gg1/cfgtoollogs/opatch/opatch2019-03-29_17-36-23午後_1.log
OPatch succeeded.
[oracle@dbvgg 26849940]$
[oracle@dbvgg 26849940]$ $ORACLE_HOME/OPatch/opatch lspatches
26849940;
OPatch succeeded.
[oracle@dbvgg 26849940]$
[oracle@dbvgg 26849940]$ $ORACLE_HOME/OPatch/opatch lsinventory
Oracle Interim Patch Installerバージョン11.2.0.3.19
Copyright (c) 2019, Oracle Corporation. All rights reserved。
Oracle Home : /gg/gg1
Central Inventory : /u01/app/oraInventory
from : /gg/gg1/oraInst.loc
OPatch version : 11.2.0.3.19
OUI version : 11.2.0.3.0
Log file location : /gg/gg1/cfgtoollogs/opatch/opatch2019-03-29_17-38-37午後_1.log
Lsinventory Output file location : /gg/gg1/cfgtoollogs/opatch/lsinv/lsinventory2019-03-29_17-38-37午後.txt
--------------------------------------------------------------------------------
Local Machine Information::
Hostname: dbvgg.jp.oracle.com
ARU platform id: 226
ARU platform description:: Linux x86-64
インストールされた最上位製品(1):
Oracle GoldenGate Core 12.2.0.0.0
このOracleホームには1の製品がインストールされています。
仮パッチ(1) :
Patch 26849940 : applied on Fri Mar 29 17:37:09 JST 2019
Unique Patch ID: 21947835
Created on 13 Feb 2018, 15:29:18 hrs PST8PDT
Bugs fixed:
26112114, 21254311, 22628312, 25256300, 24339776, 22466155, 21562399
22910007, 22642576, 25096792, 25252388, 26122243, 25031466, 24826961
24804392, 22912874, 24312736, 24302758, 24414523, 23733399, 22959377
23514258, 25369310, 21548970, 23642240, 22266611, 23058710, 24744349
25918872, 24598011, 25797611, 23755469, 25667779, 21131090, 22202129
22478792, 25814949, 22830589, 22295723, 22993705, 25213169, 23102612
22458470, 23750747, 21888279, 23267559, 22295940, 22730188, 25674499
23712604, 25137084, 25350730, 22811754, 26127417, 20822775, 24439762
23661056, 23607346, 23641740, 23499047, 22352402, 23751229, 25439681
24345528, 22514172, 25927416, 25463128, 23478103, 23587474, 23763062
21425179, 23067041, 24359320, 22046726, 21763449, 23479013, 23275654
25231249, 23133585, 22004485, 23608765, 25087704, 26000622, 24752349
23108041, 22455149, 25462009, 26253307, 22103949, 24310901, 21452073
23580290, 25414758, 23040154, 22257964, 26159982, 22888353, 24751551
21805148, 21481506, 22553129, 23328064, 20656312
--------------------------------------------------------------------------------
OPatch succeeded.
[oracle@dbvgg 26849940]$
GoldenGate18c(18.1.0.0.0)のインストール
メディア・ファイルの解凍
#コマンド
cd /home/oracle/software/goldengate/18.1.0.0/V980002-01
ls -l
unzip V980002-01.zip
#実行結果
[oracle@dbvgg V980002-01]$ cd /home/oracle/software/goldengate/18.1.0.0/V980002-01
[oracle@dbvgg V980002-01]$
[oracle@dbvgg V980002-01]$ ll
合計 383516
-rwxr-xr-x 1 oracle oinstall 392717701 10月 19 11:16 2018 V980002-01.zip
[oracle@dbvgg V980002-01]$
[oracle@dbvgg V980002-01]$
[oracle@dbvgg V980002-01]$ unzip V980002-01.zip
Archive: V980002-01.zip
creating: fbo_ggs_Linux_x64_shiphome/
~中略~
inflating: fbo_ggs_Linux_x64_shiphome/Disk1/stage/sizes/oracle.oggcore.top18.1.0.0.0ora18c.sizes.properties
inflating: OGG-18.1.0.0-README.txt
inflating: OGG_WinUnix_Rel_Notes_18.1.0.0.0.pdf
[oracle@dbvgg V980002-01]$
サイレントインストール用のレスポンスファイルの修正
★部分が修正箇所になります。環境に合わせて修正する必要があります。
cd ./fbo_ggs_Linux_x64_shiphome/Disk1/response
ls -l
vi oggcore.rsp
#oggcore.rspの修正内容
####################################################################
## Copyright(c) Oracle Corporation 2018. All rights reserved. ##
## ##
## Specify values for the variables listed below to customize ##
## your installation. ##
## ##
## Each variable is associated with a comment. The comment ##
## can help to populate the variables with the appropriate ##
## values. ##
## ##
## IMPORTANT NOTE: This file should be secured to have read ##
## permission only by the oracle user or an administrator who ##
## own this installation to protect any sensitive input values. ##
## ##
####################################################################
#-------------------------------------------------------------------------------
# Do not change the following system generated value.
#-------------------------------------------------------------------------------
oracle.install.responseFileVersion=/oracle/install/rspfmt_ogginstall_response_schema_v12_1_2
################################################################################
## ##
## Oracle GoldenGate installation option and details ##
## ##
################################################################################
#-------------------------------------------------------------------------------
# Specify the installation option.
# Specify ORA18c for installing Oracle GoldenGate for Oracle Database 18c or
# ORA12c for installing Oracle GoldenGate for Oracle Database 12c or
# ORA11g for installing Oracle GoldenGate for Oracle Database 11g
#-------------------------------------------------------------------------------
INSTALL_OPTION=ORA18c ★←
#-------------------------------------------------------------------------------
# Specify a location to install Oracle GoldenGate
#-------------------------------------------------------------------------------
SOFTWARE_LOCATION=/gg/gg2 ★←
#-------------------------------------------------------------------------------
# Specify true to start the manager after installation.
#-------------------------------------------------------------------------------
START_MANAGER=false ★←
#-------------------------------------------------------------------------------
# Specify a free port within the valid range for the manager process.
# Required only if START_MANAGER is true.
#-------------------------------------------------------------------------------
MANAGER_PORT=
#-------------------------------------------------------------------------------
# Specify the location of the Oracle Database.
# Required only if START_MANAGER is true.
#-------------------------------------------------------------------------------
DATABASE_LOCATION=
################################################################################
## ##
## Specify details to Create inventory for Oracle installs ##
## Required only for the first Oracle product install on a system. ##
## ##
################################################################################
#-------------------------------------------------------------------------------
# Specify the location which holds the install inventory files.
# This is an optional parameter if installing on
# Windows based Operating System.
#-------------------------------------------------------------------------------
INVENTORY_LOCATION=
#-------------------------------------------------------------------------------
# Unix group to be set for the inventory directory.
# This parameter is not applicable if installing on
# Windows based Operating System.
#-------------------------------------------------------------------------------
UNIX_GROUP_NAME=
GoldenGateインストール
cd /home/oracle/software/goldengate/18.1.0.0/V980002-01/fbo_ggs_Linux_x64_shiphome/Disk1
./runInstaller -silent -nowait -responseFile /home/oracle/software/goldengate/18.1.0.0/V980002-01/fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore.rsp
#実行結果
[oracle@dbvgg Disk1]$ ./runInstaller -silent -nowait -responseFile /home/oracle/software/goldengate/18.1.0.0/V980002-01/fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore.rsp
Oracle Universal Installerを起動中です...
一時領域の確認中: 120MBを超えている必要があります. 実際 25219MB 問題なし
スワップ領域の確認中: 150MBを超えている必要があります. 実際 7855MB 問題なし
Oracle Universal Installerの起動を準備中 /tmp/OraInstall2019-03-29_05-44-14PM. お待ちください...
このインストール・セッションのログは次の場所にあります:
/u01/app/oraInventory/logs/installActions2019-03-29_05-44-14PM.log
Oracle GoldenGate Coreのインストールが成功しました。
詳細は'/u01/app/oraInventory/logs/silentInstall2019-03-29_05-44-14PM.log'を確認してください。
Successfully Setup Software.
[oracle@dbvgg Disk1]$
Trailファイル格納ディレクトリの作成
「/gg/gg1/c11」はソース側のCaptureプロセスが生成するLocal Trailの格納ディレクトリ、「/gg/gg2/d11」はData Pumpがターゲット側に生成するRemote Trailの格納ディレクトリとなります。
mkdir -p /gg/gg1/dirdat/c11 #Local Trail用の格納ディレクトリ
mkdir -p /gg/gg2/dirdat/d11 #Remote Trail用の格納ディレクトリ
DB環境変更(ソース側)
表領域の作成
. /home/oracle/.oraenv_db112s --環境変数の読み込み
sqlplus / as sysdba
create tablespace ggdata datafile '/u01/app/oracle/oradata/DB112S/datafile/ggdata.dbf' size 5G;
伝搬対象ユーザ、及びGoldenGate管理ユーザの作成
CREATE USER ggs IDENTIFIED BY oracle DEFAULT TABLESPACE ggdata;
CREATE USER ggtest IDENTIFIED BY oracle DEFAULT TABLESPACE ggdata;
GRANT dba TO ggs;
GRANT dba TO ggtest;
exec dbms_goldengate_auth.grant_admin_privilege('GGS');
初期化パラメータの変更/最小サプリメンタルロギングの設定
-- 事前確認
show parameter enable_goldengate_replication
select name,supplemental_log_data_min from v$database;
select log_mode from v$database;
-- 初期化パラメータの変更
alter system set enable_goldengate_replication=true scope=both;
alter system set streams_pool_size=1250M scope=both SID='*'; -- Integrated Capture要件
-- 最小サプリメンタルロギングの設定
alter database add supplemental log data;
alter system switch logfile;
-- 設定変更確認
show parameter enable_goldengate_replication
select name,supplemental_log_data_min from v$database;
select log_mode from v$database;
exit
-- 実行結果
SQL> show parameter enable_goldengate_replication
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
enable_goldengate_replication boolean FALSE
SQL>
SQL> select name,supplemental_log_data_min from v$database;
NAME SUPPLEME
--------- --------
DB112S NO
SQL> select log_mode from v$database;
LOG_MODE
------------
ARCHIVELOG
SQL>
SQL>
SQL> alter system set enable_goldengate_replication=true scope=both;
システムが変更されました。
SQL> alter system set streams_pool_size=1250M scope=both SID='*';
システムが変更されました。
SQL> alter database add supplemental log data;
データベースが変更されました。
SQL> alter system switch logfile;
システムが変更されました。
SQL> show parameter enable_goldengate_replication
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
enable_goldengate_replication boolean TRUE
SQL> select name,supplemental_log_data_min from v$database;
NAME SUPPLEME
--------- --------
DB112S YES
SQL> select log_mode from v$database;
LOG_MODE
------------
ARCHIVELOG
SQL>
DB環境変更(ターゲット側)
表領域の作成
. /home/oracle/.oraenv_db18s --環境変数の読み込み
sqlplus / as sysdba
create tablespace ggdata datafile '/u01/app/oracle/oradata/DB18S/ggdata.dbf' size 1G;
alter session set container=db18p1;
create tablespace ggdata datafile '/u01/app/oracle/oradata/DB18S/db18p1/ggdata.dbf' size 5G;
伝搬対象ユーザ、及びGoldenGate管理ユーザの作成
alter session set container=cdb$root;
show con_name
CREATE USER c##ggs IDENTIFIED BY oracle DEFAULT TABLESPACE ggdata;
alter session set container=db18p1;
show con_name
CREATE USER ggtest IDENTIFIED BY oracle DEFAULT TABLESPACE ggdata;
alter session set container=cdb$root;
GRANT DBA TO c##ggs container=all;
exec dbms_goldengate_auth.grant_admin_privilege('C##GGS');
alter session set container=db18p1;
GRANT DBA TO ggtest;
exec dbms_goldengate_auth.grant_admin_privilege('C##GGS');
初期化パラメータの変更/最小サプリメンタルロギングの設定
alter session set container=cdb$root;
show con_name
-- 事前確認
show parameter enable_goldengate_replication
select name,supplemental_log_data_min from v$database;
select log_mode from v$database;
-- 初期化パラメータの変更
alter system set enable_goldengate_replication=true scope=both;
alter system set streams_pool_size=1250M scope=both SID='*'; -- Integrated Replicat要件
-- 最小サプリメンタルロギングの設定
alter database add supplemental log data; -- ターゲット側なので本来であれば不要。logminer要件のため設定
alter system switch logfile;
-- 設定変更確認
show parameter enable_goldengate_replication
select name,supplemental_log_data_min from v$database;
select log_mode from v$database;
-- 実行結果
SQL> alter session set container=cdb$root;
セッションが変更されました。
SQL>
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> show parameter enable_goldengate_replication
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
enable_goldengate_replication boolean FALSE
SQL> select name,supplemental_log_data_min from v$database;
NAME SUPPLEME
--------- --------
DB18S NO
SQL> select log_mode from v$database;
LOG_MODE
------------
ARCHIVELOG
SQL> alter system set enable_goldengate_replication=true scope=both;
システムが変更されました。
SQL> alter system set streams_pool_size=1250M scope=both SID='*';
システムが変更されました。
SQL> alter database add supplemental log data;
データベースが変更されました。
SQL> alter system switch logfile;
システムが変更されました。
SQL> show parameter enable_goldengate_replication
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
enable_goldengate_replication boolean TRUE
SQL> select name,supplemental_log_data_min from v$database;
NAME SUPPLEME
--------- --------
DB18S YES
SQL> select log_mode from v$database;
LOG_MODE
------------
ARCHIVELOG
SQL>
GoldenGate環境設定
GG_HOME配下のサブディレクトリ作成
サプリメンタル・ロギングはソース側で実施します。
. /home/oracle/.oraenv_db112s --環境変数の読み込み
cd /gg/gg1
./ggsci
create subdirs
exit
cd /gg/gg2
./ggsci
create subdirs
exit
# 実行結果
[oracle@dbvgg gg1]$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 12.2.0.1.170919 OGGCORE_12.2.0.1.0OGGBP_PLATFORMS_171030.0908_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Oct 30 2017 19:19:45
Operating system character set identified as UTF-8.
Copyright (C) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
GGSCI (dbvgg.jp.oracle.com) 1> create subdirs
Creating subdirectories under current directory /gg/gg1
Parameter files /gg/gg1/dirprm: created
Report files /gg/gg1/dirrpt: created
Checkpoint files /gg/gg1/dirchk: created
Process status files /gg/gg1/dirpcs: created
SQL script files /gg/gg1/dirsql: created
Database definitions files /gg/gg1/dirdef: created
Extract data files /gg/gg1/dirdat: created
Temporary files /gg/gg1/dirtmp: created
Credential store files /gg/gg1/dircrd: created
Masterkey wallet files /gg/gg1/dirwlt: created
Dump files /gg/gg1/dirdmp: created
GGSCI (dbvgg.jp.oracle.com) 2>
GGSCI (dbvgg.jp.oracle.com) 3> exit
[oracle@dbvgg gg1]$ cd /gg/gg2
[oracle@dbvgg gg2]$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 18.1.0.0.0 OGGCORE_18.1.0.0.0_PLATFORMS_180928.0432_FBO
Linux, x64, 64bit (optimized), Oracle 18c on Sep 29 2018 07:21:38
Operating system character set identified as UTF-8.
Copyright (C) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
GGSCI (dbvgg.jp.oracle.com) 1> create subdirs
Creating subdirectories under current directory /gg/gg2
Parameter file /gg/gg2/dirprm: created.
Report file /gg/gg2/dirrpt: created.
Checkpoint file /gg/gg2/dirchk: created.
Process status files /gg/gg2/dirpcs: created.
SQL script files /gg/gg2/dirsql: created.
Database definitions files /gg/gg2/dirdef: created.
Extract data files /gg/gg2/dirdat: created.
Temporary files /gg/gg2/dirtmp: created.
Credential store files /gg/gg2/dircrd: created.
Masterkey wallet files /gg/gg2/dirwlt: created.
Dump files /gg/gg2/dirdmp: created.
GGSCI (dbvgg.jp.oracle.com) 2> exit
[oracle@dbvgg gg2]$
スキーマ・レベルのサプリメンタルロギングの実施
サプリメンタル・ロギングはソース側で実施します。
. /home/oracle/.oraenv_db112s --環境変数の読み込み
cd /gg/gg1
./ggsci
dblogin userid ggs@db112s, password oracle
add schematrandata ggtest
# 実行結果
[oracle@dbvgg gg1]$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 12.2.0.1.170919 OGGCORE_12.2.0.1.0OGGBP_PLATFORMS_171030.0908_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Oct 30 2017 19:19:45
Operating system character set identified as UTF-8.
Copyright (C) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
GGSCI (dbvgg.jp.oracle.com) 1> dblogin userid ggs@db112s, password oracle
Successfully logged into database.
GGSCI (dbvgg.jp.oracle.com as ggs@db112s) 2> add schematrandata ggtest
2019-03-29 17:59:55 INFO OGG-01788 SCHEMATRANDATA has been added on schema ggtest.
2019-03-29 17:59:55 INFO OGG-01976 SCHEMATRANDATA for scheduling columns has been added on schema ggtest.
GGSCI (dbvgg.jp.oracle.com as ggs@db112s) 3>
GGパラメータファイルの作成
GoldenGateのパラメータは各プロセスごとに作成する必要があります。GLOBALS、MGRパラメータはソース、及びターゲット側に存在するので両サイトで作成する必要があります。
GLOBALSパラメータ(ソース側)
. /home/oracle/.oraenv_db112s --環境変数の読み込み
cd /gg/gg1
./ggsci
EDIT PARAMS GLOBALS
#下記をviエディタで指定する
SYSLOG NONE
GGSCHEMA ggs
NODUPMSGSUPPRESSION
view params GLOBALS
MGRパラメータ(ソース側)
. /home/oracle/.oraenv_db112s --環境変数の読み込み
cd /gg/gg1
./ggsci
EDIT PARAMS MGR
# MGRファイルの設定
PORT 7809
AUTOSTART EXTRACT c11
AUTOSTART EXTRACT d11
AUTORESTART EXTRACT c11, RETRIES 2, WAITMINUTES 1, RESETMINUTES 60
AUTORESTART EXTRACT d11, RETRIES 5, WAITMINUTES 1, RESETMINUTES 60
-- Trailファイルのメンテンス設定
PURGEOLDEXTRACTS ./dirdat/c11/*, USECHECKPOINTS, MINKEEPDAYS 1
view params GLOBALS
Captureパラメータ(ソース側)
. /home/oracle/.oraenv_db112s --環境変数の読み込み
cd /gg/gg1
./ggsci
EDIT PARAMS C11
# CAPTUREファイルの設定
EXTRACT c11
USERID ggs@db112s,PASSWORD oracle
EXTTRAIL ./dirdat/c11/lt
CACHEMGR CACHESIZE 4GB
DISCARDFILE ./dirrpt/c11.dsc, APPEND, MEGABYTES 500
DISCARDROLLOVER AT 2:00 ON SUNDAY
REPORTROLLOVER AT 2:00 ON SUNDAY
DDL INCLUDE ALL
DDLOPTIONS CAPTUREGLOBALTEMPTABLE,REPORT
TRANLOGOPTIONS INTEGRATEDPARAMS (MAX_SGA_SIZE 1250, PARALLELISM 2)
TABLE ggtest.* ;
view params MGR
Data Pumpパラメータ(ソース側)
今回は筐体内の2DB間のレプリケーション設定なので、RMTHOSTに「localhost」を設定しています。本来ならばターゲットサーバのhostname、もしくはIPアドレスの指定が必要です。
. /home/oracle/.oraenv_db112s --環境変数の読み込み
cd /gg/gg1
./ggsci
EDIT PARAMS d11
# Data Pumpファイルの設定
EXTRACT d11
PASSTHRU
RMTHOST localhost, MGRPORT 7810
RMTTRAIL ./dirdat/d11/rt
TABLE ggtest.*;
view params c11
GLOBALSパラメータ(ターゲット側)
. /home/oracle/.oraenv_db18s --環境変数の読み込み
cd /gg/gg2
./ggsci
EDIT PARAM GLOBALS
GGSCHEMA c##ggs
NODUPMSGSUPPRESSION
view params GLOBALS
MGRパラメータ(ソース側)
. /home/oracle/.oraenv_db112s --環境変数の読み込み
cd /gg/gg2
./ggsci
EDIT PARAMS MGR
# MGRファイルの設定
PORT 7810
AUTOSTART REPLICAT r11
AUTORESTART REPLICAT r11, RETRIES 2, WAITMINUTES 1, RESETMINUTES 60
-- Trailファイルのメンテンス設定
PURGEOLDEXTRACTS ./dirdat/d11/*, USECHECKPOINTS, MINKEEPDAYS 1
Replicatパラメータ(ターゲット側)
. /home/oracle/.oraenv_db112s --環境変数の読み込み
cd /gg/gg2
./ggsci
EDIT PARAMS R11
REPLICAT r11
USERID c##ggs@db18p1, PASSWORD oracle
DBOPTIONS INTEGRATEDPARAMS(PARALLELISM 4,MAX_PARALLELISM 4)
DISCARDFILE ./dirrpt/r11.dsc, APPEND, MEGABYTES 500
DISCARDROLLOVER AT 2:00 ON SUNDAY
REPORTROLLOVER AT 2:00 ON SUNDAY
DDL INCLUDE ALL
DDLOPTIONS CAPTUREGLOBALTEMPTABLE,REPORT
REPORTCOUNT EVERY 10 MINUTES, RATE
BATCHSQL
MAP ggtest.* ,TARGET db18p1.ggtest.*;
GoldenGateプロセス作成
ソース側のプロセス作成
. /home/oracle/.oraenv_db112s --環境変数の読み込み
cd /gg/gg1
./ggsci
#DBログイン
dblogin userid ggs@db112s,password oracle
#Captuteプロセスの作成・追加
REGISTER EXTRACT c11 DATABASE
add extract c11, integrated,tranlog, begin now
add exttrail ./dirdat/c11/lt, extract c11, megabytes 500
#Data Pumpプロセスの作成・追加
add extract d11, exttrailsource ./dirdat/c11/lt
add rmttrail ./dirdat/d11/rt, extract d11
#確認
info all
# 実行結果
GGSCI (dbvgg.jp.oracle.com) 1> dblogin userid ggs@db112s,password oracle
Successfully logged into database.
GGSCI (dbvgg.jp.oracle.com as ggs@db112s) 2> REGISTER EXTRACT c11 DATABASE
2019-03-29 18:18:00 INFO OGG-02003 Extract C11 successfully registered with database at SCN 1089847.
GGSCI (dbvgg.jp.oracle.com as ggs@db112s) 3> add extract c11, integrated,tranlog, begin now
EXTRACT (Integrated) added.
GGSCI (dbvgg.jp.oracle.com as ggs@db112s) 4> add exttrail ./dirdat/c11/lt, extract c11, megabytes 500
EXTTRAIL added.
GGSCI (dbvgg.jp.oracle.com as ggs@db112s) 5>
GGSCI (dbvgg.jp.oracle.com as ggs@db112s) 5>
GGSCI (dbvgg.jp.oracle.com as ggs@db112s) 5> add extract d11, exttrailsource ./dirdat/c11/lt
EXTRACT added.
GGSCI (dbvgg.jp.oracle.com as ggs@db112s) 6>
GGSCI (dbvgg.jp.oracle.com as ggs@db112s) 6> add rmttrail ./dirdat/d11/rt, extract d11
RMTTRAIL added.
GGSCI (dbvgg.jp.oracle.com as ggs@db112s) 7>
GGSCI (dbvgg.jp.oracle.com as ggs@db112s) 7> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER STOPPED
EXTRACT STOPPED C11 00:00:00 00:00:17
EXTRACT STOPPED D11 00:00:00 00:00:07
GGSCI (dbvgg.jp.oracle.com as ggs@db112s) 8>
ターゲット側のプロセス作成
ReplicatはPDBに対して適用するため、dblogin時に指定する接続記述子はCDB$ROOTではなく適用するPDBへの指定が必要です。
またIntegrated Catptureの場合はregisterコマンドが必要でしたが、Integrated Replicatの場合は不要です。(内部的に発行されています。)
. /home/oracle/.oraenv_db18s --環境変数の読み込み
cd /gg/gg2
./ggsci
#DBログイン
dblogin userid c##ggs@db18p1,password oracle
#Replicatプロセスの作成
ADD REPLICAT r11,integrated EXTTRAIL ./dirdat/d11/rt
#状態確認
info all
# 実行結果
GGSCI (dbvgg.jp.oracle.com) 1> dblogin userid c##ggs@db18p1,password oracle
Successfully logged into database DB18P1.
GGSCI (dbvgg.jp.oracle.com as c##ggs@db18s/DB18P1) 2>
GGSCI (dbvgg.jp.oracle.com as c##ggs@db18s/DB18P1) 2> ADD REPLICAT r11,integrated EXTTRAIL ./dirdat/d11/rt
REPLICAT (Integrated) added.
GGSCI (dbvgg.jp.oracle.com as c##ggs@db18s/DB18P1) 3>
GGSCI (dbvgg.jp.oracle.com as c##ggs@db18s/DB18P1) 3> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER STOPPED
REPLICAT STOPPED R11 00:00:00 00:00:20
GGSCI (dbvgg.jp.oracle.com as c##ggs@db18s/DB18P1) 4>
GoldenGateプロセス起動
ソース側のData Pumpプロセスはターゲット側のMGRプロセスと通信をします。したがって、先にターゲット側のMGRプロセスを起動する必要があるため、ターゲット側から起動を行います。
ターゲット側のプロセス起動
. /home/oracle/.oraenv_db18s --環境変数の読み込み
cd /gg/gg1
./ggsci
#起動コマンド
start mgr
# mgrのパラメータでautostartを設定しているためreplicatプロセスの起動は不要。
#start r11
#状態確認コマンド
info all
# 実行結果
[oracle@dbvgg gg2]$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 18.1.0.0.0 OGGCORE_18.1.0.0.0_PLATFORMS_180928.0432_FBO
Linux, x64, 64bit (optimized), Oracle 18c on Sep 29 2018 07:21:38
Operating system character set identified as UTF-8.
Copyright (C) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
GGSCI (dbvgg.jp.oracle.com) 1> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER STOPPED
REPLICAT STOPPED R11 00:00:00 00:00:49
GGSCI (dbvgg.jp.oracle.com) 2> start mgr
Manager started.
GGSCI (dbvgg.jp.oracle.com) 3> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING R11 00:00:00 00:00:03
GGSCI (dbvgg.jp.oracle.com) 4>
ソース側のプロセス起動
. /home/oracle/.oraenv_db112s --環境変数の読み込み
cd /gg/gg1
./ggsci
#起動コマンド
start mgr
# mgrのパラメータでautostartを設定しているためcapture、data pumpプロセスの起動は不要。
# start c11
# start d11
#状態確認コマンド
info all
# 実行結果
[oracle@dbvgg gg1]$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 12.2.0.1.170919 OGGCORE_12.2.0.1.0OGGBP_PLATFORMS_171030.0908_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Oct 30 2017 19:19:45
Operating system character set identified as UTF-8.
Copyright (C) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
GGSCI (dbvgg.jp.oracle.com) 1> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER STOPPED
EXTRACT STOPPED C11 00:00:02 00:00:30
EXTRACT STOPPED D11 00:00:00 00:00:29
GGSCI (dbvgg.jp.oracle.com) 2> start mgr
Manager started.
GGSCI (dbvgg.jp.oracle.com) 3> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING C11 00:00:10 00:00:07
EXTRACT RUNNING D11 00:00:00 00:00:04
GGSCI (dbvgg.jp.oracle.com) 4>
Appendix
OGG-02912エラー対応
**DB11.2とGG12.2(Integrated Capture)**の組み合わせで初回起動時、OGG-02912が発生し Capture プロセスが ABENDする場合があります。(適用されているPSU/BPに依存します。)
Oracle GoldenGate12.2 からTrailファイルのフォーマットが変更されていることによるエラーです。(データベース側のログマイナーに関するファンクションが対応していない場合に発生します。)
ERROR OGG-02912 Patch 17030189 is required on your Oracle mining database for trail format RELEASE 12.2 or later.
エラーが発生した場合はエラーメッセージにある通り「Patch 17030189」を適用するか、GG_HOME配下にある「prvtlmpg.plb」を実行することでエラーを回避することが出来ます。
. /home/oracle/.oraenv_db112s --環境変数の読み込み
cd /gg/gg1
sqlplus / as sysdba
@prvtlmpg.plb
-- 実行結果
[oracle@dbvgg gg1]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on 金 3月 29 18:22:29 2019
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
に接続されました。
SQL> @prvtlmpg.plb
Oracle GoldenGate Workaround prvtlmpg
This script provides a temporary workaround for bug 17030189.
It is strongly recommended that you apply the official Oracle
Patch for bug 17030189 from My Oracle Support instead of using
this workaround.
This script must be executed in the mining database of Integrated
Capture. You will be prompted for the username of the mining user.
Use a double quoted identifier if the username is case sensitive
or contains special characters. In a CDB environment, this script
must be executed from the CDB$ROOT container and the mining user
must be a common user.
=========================== WARNING ==========================
You MUST stop all Integrated Captures that belong to this mining
user before proceeding!
================================================================
Enter Integrated Capture mining user: ggs
Installing workaround...
エラーはありません。
エラーはありません。
エラーはありません。
Installation completed.
SQL>
SQL> Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing optionsとの接続が切断されました。
[oracle@dbvgg gg1]$
関連しているかもしれない記事
- MERGE文のGoldenGateによる伝搬
- GoldenGate関連プロセスのsession情報を確認する方法
- GoldenGateから実行されたSQLを確認する方法(Integrated Replicat)
- GoldenGateパラメータの定義情報の取得(info paramコマンド)
- TDEで暗号化された表領域をトランスポータブル表領域(TTS)で移行する