と言いたいところですが、私が尊敬するOracle ACEのWさんが機能の説明をブログに記載していました。
今更、私のような低レベルの人間が同じことを紹介しても。。。(泣)
私の愛してやまないOracleGoldenGateを絡めて動作を確認してみました。
10分程度で動作を確認しただけなので、細かいオペレーションを行っていませんがその結果を記載します。
結論から言うと何の問題もなく成功しました。
Invisible Columnsを12c⇒11gという意地悪な連携をするとどうなるか気になります。
(OracleGoldenGateが制御するか・・・ABENDするか・・・要望が多ければ試してみます)
**************************************************************
***OracleGoldenGate超簡単な解説
**************************************************************
<超簡単な用語解説>
1.Manager:OracleGoldenGateを管理するプロセス
2.Extract:データ抽出を行うプロセス
3.Replicat:データ反映を行うプロセス
4.TRAILファイル:OracleDatabaseでいうところのREDOに相当。
データベースの変更情報を
<超簡単な処理順序>
[1]データ転送元:テーブルのデータを1行追加
[2]データ転送元:Extractが変更を認識してログからTRAILファイルを抽出
[3]データ転送元:データ転送先へTRAILファイルを送信
[4]データ転送先:ReplicatがTRAILファイルを受信
[5]データ転送先:テーブルのデータを1行追加
<超簡単なManagerの役割>
ExtractやReplicatが頑張っているのにManagerは給料泥棒!
と叫ぶ方もいるかもしれません。。。
でも、そんなことはないんですよ。
一生懸命、ExtractやReplicatを監視してくれている大事な方です。
ちなみにManagerが起動していないとExtractやReplicatは起動できません!
***環境概要
**************************************************************
<データ転送元(from)>
サーバ:test05DB:OracleDatabase12c
GoldenGate:OracleGoldenGate12c
ユーザ:ogguser
テーブル:ic
Invisible Columns対象列:INVCOL
<データ転送先(to)>
サーバ:test06DB:OracleDatabase12c
GoldenGate:OracleGoldenGate12c
ユーザ:ogguser
テーブル:ic
Invisible Columns対象列:INVCOL
テーブル:ic
Invisible Columns対象列:INVCOL
**************************************************************
***環境詳細
**************************************************************
<データ転送元(from)>
[oracle@test05 ogg3]$ /u01/app/oracle/product/12.1.0/db_1/OPatch/opatch lsinventory
...
Oracle Database 12c 12.1.0.1.0
...
Patch description: "Database Patch Set Update : 12.1.0.1.2 (17552800)"
...
OPatch succeeded.
[oracle@test05 ogg3]$ /u01/app/oracle/ogg3/OPatch/opatch lsinventory
...
Oracle GoldenGate Core 12.1.2.0.0このOracleホームには1の製品がインストールされています。
...
このOracleホームには仮パッチがインストールされていません。
...
OPatch succeeded.
<データ転送先(to)>
[oracle@test06 ogg3]$ /u01/app/oracle/product/12.1.0/db_1/OPatch/opatch lsinventory
...
Oracle Database 12c 12.1.0.1.0
...
Patch description: "Database Patch Set Update : 12.1.0.1.2 (17552800)"
...
OPatch succeeded.
[oracle@test06 ogg3]$ /u01/app/oracle/ogg3/OPatch/opatch lsinventory
...
Oracle GoldenGate Core 12.1.2.0.0このOracleホームには1の製品がインストールされています。
...
このOracleホームには仮パッチがインストールされていません。
...
OPatch succeeded.
**************************************************************
***動作検証
**************************************************************
<データ転送元(GoldenGateプロセス確認)>
[oracle@test05 ogg3]$ ggsci
GGSCI (test05) 1> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING ESALESAA 00:00:00 00:00:03
EXTRACT RUNNING PSALESAB 00:00:00 00:00:02
<データ転送先(GoldenGateプロセス確認)>
[oracle@test06 ogg3]$ ggsci
GGSCI (test06) 1> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING RSALESAB 00:00:00 00:00:05
<データ転送元(テーブル作成&データ登録)>
[oracle@test05 ogg3]$ sqlplus ogguser/oracle
SQL> create table ic(no number primary key,name varchar2(10),invcol number invisible,biko varchar2(10));
表が作成されました。
SQL> insert into ic(no,name,biko) values(1,'name1','biko1');
1行が作成されました。
SQL> commit;
コミットが完了しました。
SQL> select * from ic;
NO NAME BIKO
---------- ------------------------------ ------------------------------
1 name1 biko1
SQL>
SQL>
SQL> desc ic
名前 NULL? 型
----------------------------------------- -------- ----------------------------
NO NOT NULL NUMBER
NAME VARCHAR2(10)
BIKO VARCHAR2(10)
SQL> set colinvisible on
SQL> desc ic
名前 NULL? 型
----------------------------------------- -------- ----------------------------
NO NOT NULL NUMBER
NAME VARCHAR2(10)
BIKO VARCHAR2(10)
INVCOL (INVISIBLE) NUMBER
<データ転送先(テーブル確認&データ確認)>
[oracle@test06 ogg3]$ sqlplus ogguser/oracle
SQL> select * from ic;
NO NAME BIKO
---------- ------------------------------ ------------------------------
1 name1 biko1
SQL> desc ic
名前 NULL? 型
----------------------------------------- -------- ----------------------------
NO NOT NULL NUMBER
NAME VARCHAR2(10)
BIKO VARCHAR2(10)
SQL> set colinvisible on
SQL> desc ic
名前 NULL? 型
----------------------------------------- -------- ----------------------------
NO NOT NULL NUMBER
NAME VARCHAR2(10)
BIKO VARCHAR2(10)
INVCOL (INVISIBLE) NUMBER
<データ転送元(GoldenGateログ確認) trailのパージログを記載してしまいました・・・>
[oracle@test05 ogg3]$ cat /u01/app/oracle/ogg*/ggserr.log
2014-03-06 22:33:55 INFO OGG-00957 Oracle GoldenGate Manager for Oracle, mgr.prm: Purged old extract file /u01/app/oracle/ogg3/dirdat/aa000001, applying UseCheckPoints purge rule: Oldest Chkpt Seqno 2 > 1.
<データ転送先(GoldenGateログ確認) trailのパージログを記載してしまいました・・・>
[oracle@test06 ogg3]$ cat /u01/app/oracle/ogg*/ggserr.log
2014-03-06 22:34:07 INFO OGG-00957 Oracle GoldenGate Manager for Oracle, mgr.prm: Purged old extract file /u01/app/oracle/ogg3/dirdat/ab000002, applying UseCheckPoints purge rule: Oldest Chkpt Seqno 4 > 2.
2014-03-06 22:34:07 INFO OGG-00957 Oracle GoldenGate Manager for Oracle, mgr.prm: Purged old extract file /u01/app/oracle/ogg3/dirdat/ab000003, applying UseCheckPoints purge rule: Oldest Chkpt Seqno 4 > 3.
0 件のコメント:
コメントを投稿