LoginSignup
9
4

More than 5 years have passed since last update.

GoldenGate布教活動② ~GoldenGateのインストール~

Last updated at Posted at 2018-12-06

このエントリは Oracle Database or GoldenGate Advent Calendar 2018 Day 6 の記事です!

今回のエントリではOracleR Fusion Middleware Oracle GoldenGateのインストール 12c (12.3.0.1)にそって実際にGoldenGateをインストールしていく手順をお届けしたいと思います

OS要件とかは各自個別に確認してね!

ソフトウェアはここからダウンロードします

ライセンスの規約についてもしっかり各自で確認してね!

今回は下記のような環境で構築します
・Oracle Database 12.2.0.1
・Oracle GoldenGate 12.3.0.1.4
・Red Hat Enterprise Linux Server release 6.9(x86-64)

ちなみにお使いのDatabaseをサポートするGoldenGateのバージョンを知りたい場合はCertification Matrixをご使用ください!

今回はGoldenGate 12.3.0.1を使用するので、「Oracle Fusion Middleware 12c Certifications > System Requirements and Supported Platforms for Oracle GoldenGate 12c (12.3.*)」ですね

では早速ソフトウェアのDLからやっていきたいと思います

GoldenGateインストール

1.ライセンス同意

ライセンス規約をよく読んでOKであれば同意
WS000000.png

2.ソフトウェアダウンロード

今回はLinux x86-64なので適したプラットフォームのソフトウェアを選択
WS000001.png

ダウンロードできたら早速構築先のサーバーに転送しましょう
今回はTeratermで転送します

3.ソフトウェア転送

ダウンロードしたソフトウェアをTeratermのSSH SCPで転送
WS000002.png

4.転送確認

転送完了したら確認

[oracle@test01 ~]$ ls /home/oracle/work/123014_fbo_ggs_Linux_x64_shiphome.zip
/home/oracle/work/123014_fbo_ggs_Linux_x64_shiphome.zip

5.インストール用の一時ディレクトリ作成

テンポラリのインストールディレクトリを作成します

[oracle@test01 ~]$ mkdir /home/oracle/work/gg_inst
[oracle@test01 ~]$ ls /home/oracle/work/gg_inst
[oracle@test01 ~]$ cd /home/oracle/work/gg_inst

6.ソフトウェア展開(UNZIP)

インストールディレクトリに移動してUNZIPしましょう

[oracle@test01 gg_inst]$ unzip ../123014_fbo_ggs_Linux_x64_shiphome.zip
Archive:  ../123014_fbo_ggs_Linux_x64_shiphome.zip
   creating: fbo_ggs_Linux_x64_shiphome/
   creating: fbo_ggs_Linux_x64_shiphome/Disk1/
   creating: fbo_ggs_Linux_x64_shiphome/Disk1/install/
  inflating: fbo_ggs_Linux_x64_shiphome/Disk1/install/.oui
  inflating: fbo_ggs_Linux_x64_shiphome/Disk1/install/attachHome.sh
  inflating: fbo_ggs_Linux_x64_shiphome/Disk1/install/clusterparam.ini
(省略)

[oracle@test01 gg_inst]$ ls
fbo_ggs_Linux_x64_shiphome  OGG_WinUnix_Rel_Notes_12.3.0.1.4.pdf
OGG-12.3.0.1.4-README.txt

fbo_ggs_Linux_x64_shiphomeというフォルダが作成されていますね!
ここにrunInstallerが入っています

[oracle@test01 gg_inst]$ ls fbo_ggs_Linux_x64_shiphome/Disk1/
install  response  runInstaller  stage

今回はOracle Universal Installer(以下、OUI)を使用して対話型(インストール場所どこにするとか選択しながら)で設定していきます
現在Teratermから接続しているのでSSH転送とXmingを使用して、サーバーからクライアント(今構築に使っているPC)にOUIの画面を飛ばします
ここらへんの手順は下記を参考にしてください!
Xming + Teraterm で画面転送

ではrunInstallerを実行していきます!

7.runInstaller実行

[oracle@test01 gg_inst]$ cd fbo_ggs_Linux_x64_shiphome/Disk1/
[oracle@test01 Disk1]$ ./runInstaller
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 12![WS000004.png](https://qiita-image-store.s3.amazonaws.com/0/60220/e299d71f-19b4-87c8-3b13-532c0da7e4ad.png)
0 MB.   Actual 7469 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 6071 MB    Passed
Checking monitor: must be configured to display at least 256 colors.    Actual 16777216    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2018-12-06_11-16-01AM. Please wait ...

OUIの画面が飛んできました!

WS000003.png

8.OUI設定

では設定を行っていきたいと思います

8-1.Database Versionの選択

今回はDatabase 12.2.0.1を使用するので「Oracle GoldenGate for Oracle Database 12c」を選択します

WS000004.png

8-2.GoldenGateソフトウェアロケーションと、Databaseロケーションの指定

GoldenGateソフトウェアロケーション、いわゆるGG_HOMEの設定を行います

WS000006.png

一応マニュアルには下記の記載があるため留意して設定してください

マウントされておらず、割当て制限のないローカル・ディレクトリに変更することをお薦めします。

今回は /u01/app/oracle/product/ 配下にgghome_1という名前で指定しようと思います
またDatabaseロケーションには既にインストール済みのDatabase 12.2.0.1のDB_HOMEを指定します

[oracle@test01 Disk1]$ echo $ORACLE_HOME
/u01/app/oracle/product/12.2.0/dbhome_1/

その他の項目については下記のとおりです
・Start Manager:GoldenGateインストール後にManagerプロセスを起動するか
・Manager Port:Managerプロセスが使用するポート番号
         使用していないポート番号を指定する必要がある
         後ほど変更可能

基本的には上記2項目はデフォルトでいいので下のような設定で次に進みます

WS000007.png

インストールで設定が必要な項目はここまで!

8-3.Summary確認

それではサマリを確認しましょう
入力した下記の項目が正しく反映されていればOKです
・Database Version
・GoldenGateソフトウェアロケーション(GG_HOME)
・Databaseソフトウェアロケーション(既にインストールずみのDBのORACLE_HOME)
・インストールしたあとManagerを起動するか
・Managerが使用するポート

ではインストールしたいと思います

9.インストール

WS000009.png

すすんでますね~
結構サクッと完了すると思います

(5分後)

完了しました!

WS000011.png

インストール自体はかなり簡単だったと思います!!
それでは確認と事後作業を行っていきましょう~

10.確認

10-1.GG_HOME確認

lsで見てみると

[oracle@test01 Disk1]$ ls /u01/app/oracle/product/gghome_1/
archivelog.sql                   ggparam.dat
bcpfmt.tpl                       ggsci
bcrypt.txt                       ggserr.log
cachefiledump                    healthcheck
cfgtoollogs                      help.txt
checkprm                         install
chkpt_ora_create.sql             inventory
convchk                          jdk
convprm                          keygen
crypto                           label.sql
db2cntl.tpl                      libantlr3c.so
db_upgrade                       libboost_system-mt.so.1.58.0
ddl_cleartrace.sql               libdb-6.1.so
ddl_create.sql                   libgglog.so
ddl_ddl2file.sql                 libggnnzitp.so
ddl_disable.sql                  libggparam.so
ddl_enable.sql                   libggperf.so
ddl_filter.sql                   libggrepo.so
ddl_ora10.sql                    libggssl.so
ddl_ora10upCommon.sql            libggutil.so
ddl_ora11.sql                    libicudata.so.56
ddl_ora9.sql                     libicui18n.so.56
ddl_pin.sql                      libicuuc.so.56
ddl_remove.sql                   liblmdb.so
ddl_session1.sql                 libPocoCrypto.so.48
ddl_session.sql                  libPocoFoundation.so.48
ddl_setup.sql                    libPocoJSON.so.48
ddl_status.sql                   libPocoNet.so.48
ddl_staymetadata_off.sql         libPocoNetSSL.so.48
ddl_staymetadata_on.sql          libPocoUtil.so.48
ddl_tracelevel.sql               libPocoXML.so.48
ddl_trace_off.sql                libudt.so
ddl_trace_on.sql                 libxerces-c-3.1.so
defgen                           logdump
deinstall                        marker_remove.sql
demo_more_ora_create.sql         marker_setup.sql
demo_more_ora_insert.sql         marker_status.sql
demo_ora_create.sql              mgr
demo_ora_insert.sql              noop.sql
demo_ora_lob_create.sql          notices.txt
demo_ora_misc.sql                oggerr
demo_ora_pk_befores_create.sql   OPatch
demo_ora_pk_befores_insert.sql   oraInst.loc
demo_ora_pk_befores_updates.sql  oui
diagnostics                      params.sql
dirchk                           pmsrvr
dircrd                           prvtclkm.plb
dirdat                           prvtlmpg.plb
dirdef                           prvtlmpg_uninstall.sql
dirdmp                           remove_seq.sql
diretc                           replicat
dirout                           retrace
dirpcs                           role_setup.sql
dirprm                           sequence.sql
dirrpt                           server
dirsca                           SQLDataTypes.h
dirsql                           sqlldr.tpl
dirtmp                           srvm
dirwlt                           tcperrs
emsclnt                          ucharset.h
extract                          ulg.sql
freeBSD.txt                      UserExitExamples
ggcmd                            usrdecs.h
ggMessage.dat                    zlib.txt

なんかたくさんディレクトリやファイルができていますね!
各コンポーネントの詳細はこちらをご参照ください
6 インストールされるOracle GoldenGateのコンポーネント

10-2.GGSCIでプロセス確認

ではお待ちかねのGoldenGateプロセスを管理する独自のコマンドラインインターフェイス、GGSCIを実行してみましょう

[oracle@test01 gghome_1]$ ./ggsci
./ggsci: error while loading shared libraries: libnnz12.so: cannot open shared object file: No such file or directory

Oops!
ライブラリ変数の設定を忘れていたので怒られてしまいました
libnnz12.soがありませんよ!と行っていますね

Linuxの場合はLD_LIBRARY_PATHという変数にライブラリのパスを通してあげましょう

[oracle@test01 gghome_1]$ export LD_LIBRARY_PATH=/u01/app/oracle/product/12.2.0/dbhome_1/lib/
[oracle@test01 gghome_1]$ echo $LD_LIBRARY_PATH
/u01/app/oracle/product/12.2.0/dbhome_1/lib/

では再度GGSCIを実行

[oracle@test01 gghome_1]$ ./ggsci

Oracle GoldenGate Command Interpreter for Oracle
Version 12.3.0.1.4 OGGCORE_12.3.0.1.0_PLATFORMS_180415.0359_FBO
Linux, x64, 64bit (optimized), Oracle 12c on Apr 16 2018 00:53:30
Operating system character set identified as UTF-8.

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

できましたー♪

ついでにどんなプロセスが上がっているかも見たいと思います
プロセスの一覧を出す場合はGGSCIにてINFO ALLコマンドを実行します

GGSCI (test01.jp.oracle.com) 2> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

まだCapture,Datapump,Replicatを作成していないので、Managerだけ起動していますね!
ちなみにManagerのパラメータファイルも自動的に作成されています

パラメータファイルは$GG_HOME/dirprmにあるのでOSからlsで見てみましょう

[oracle@test01 gghome_1]$ ls dirprm/
mgr.prm

ありました!内容はどんな感じでしょうか

[oracle@test01 gghome_1]$ cat dirprm/mgr.prm
PORT 7809

OUIにて設定したデフォルトポート7809を使用する設定がしっかり書いていますね!

最後にOSプロセスとしてはどのように見えているのでしょうか
psコマンドで./mgrをみてみましょう

[oracle@test01 gghome_1]$ ps -ef | grep ./mgr | grep -v grep
oracle   12440     1  0 11:34 ?        00:00:00 ./mgr PARAMFILE /u01/app/oracle/product/gghome_1/dirprm/mgr.prm REPORTFILE /u01/app/oracle/product/gghome_1/dirrpt/MGR.rpt PROCESSID MGR

元気に動いてそう!
ついでに7809ポートをちゃんと使っているかlsofコマンドで見てみます

[oracle@test01 gghome_1]$ lsof -i | grep mgr
mgr       12440 oracle    7u  IPv6 4431443      0t0  TCP *:7809 (LISTEN)

[oracle@test01 gghome_1]$ lsof -i:7809
COMMAND   PID   USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
mgr     12440 oracle    7u  IPv6 4431443      0t0  TCP *:7809 (LISTEN)

しっかり
指定したポートで可動していますね!

このあとのエントリで解説しますが、Datapumpプロセスがターゲット側とやり取りをする際に、Managerプロセスのポートを意識する必要があります!
もしDatapumpプロセスとManagerプロセスがきちんとやり取りできているか不安になった場合は、意図したポートで稼働しているか確認しましょう!

まとめ

今回もざっくりと書きましたが、GoldenGateのインストールについて記載しました
皆さんも是非一度インストールしてくださいね!

9
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
4