OBEY

スクリプトは、cURLおよび管理クライアントで実行するOBEYコマンドとして使用でき、ビジネス・レポート・シナリオをテストできます。次のトピックで使用可能なスクリプトを使用して、次のことができます:
  • データ・レプリケーション環境を追加し、作成されたプロセスをスクリプトが正常に実行された後に表示します。

  • コミットされたDMLおよびDDL操作について、日次、毎時および合計の件数を報告する統計レポートを確認します。

  • データ・レプリケーション環境を削除し、テスト後に環境が削除されたことを確認します。

OBEYファイルを使用したデータ・レプリケーションのカスケード環境の追加

次のOBEYスクリプトをコピーして使用し、インストール済のデータベースにカスケード型のOracle GoldenGateデータ・レプリケーション環境を設定します。

ノート:

サンプル・スクリプトでは、データベース・サーバーの名前と値、パラメータ値、Extract、Replicatおよびその他のプロセスを使用します。このスクリプトを機能させるには、環境に応じてこれらの値を変更する必要があります。
--
-- Add Credentials
--

CONNECT https://north:9001 DEPLOYMENT depl_north AS ggma PASSWORD GGma_23ai !
ALTER CREDENTIALSTORE ADD USER ggadmin@dbnorth ALIAS ggnorth DOMAIN OracleGoldenGate PASSWORD ggadmin

CONNECT https://south:9101 DEPLOYMENT depl_south AS ggma PASSWORD GGma_23ai !
ALTER CREDENTIALSTORE ADD USER ggadmin@dbsouth ALIAS ggsouth DOMAIN OracleGoldenGate PASSWORD ggadmin

CONNECT https://west:9201 DEPLOYMENT depl_west AS ggma PASSWORD GGma_23ai !
ALTER CREDENTIALSTORE ADD USER ggadmin@dbwest ALIAS ggwest  DOMAIN OracleGoldenGate PASSWORD ggadmin
INFO CREDENTIALSTORE

--
-- Add Schematandata, Checkpointtable, and Heartbeattable
--

CONNECT https://north:9001 DEPLOYMENT depl_north AS ggma PASSWORD GGma_23ai !
DBLOGIN USERIDALIAS ggnorth DOMAIN OracleGoldenGate
ADD SCHEMATRANDATA hr
ADD HEARTBEATTABLE

CONNECT https://south:9101 DEPLOYMENT depl_south AS ggma PASSWORD GGma_23ai !
DBLOGIN USERIDALIAS ggsouth DOMAIN OracleGoldenGate
ADD SCHEMATRANDATA hr
ADD CHECKPOINTTABLE ggadmin.ggs_checkpointtable
ADD HEARTBEATTABLE

CONNECT https://west:9201 DEPLOYMENT depl_west AS ggma PASSWORD GGma_23ai !
DBLOGIN USERIDALIAS ggwest DOMAIN OracleGoldenGate
ADD CHECKPOINTTABLE ggadmin.ggs_checkpointtable
ADD HEARTBEATTABLE

--
-- Add Extract and DistPath at source instance
--

CONNECT https://north:9001 DEPLOYMENT depl_north AS ggma PASSWORD GGma_23ai !
DBLOGIN USERIDALIAS ggnorth DOMAIN OracleGoldenGate

ADD EXTRACT extn INTEGRATED TRANLOG BEGIN NOW 
REGISTER EXTRACT extn database
ADD EXTTRAIL north/ea, EXTRACT extn
START EXTRACT extn

ADD DISTPATH dpns SOURCE trail://north:9002/services/v2/sources?trail=north/ea TARGET wss://south:9103/services/v2/targets?trail=north/da !
START DISTPATH dpns

INFO ALL
INFO DISTPATH ALL

--
-- Add Replicat, Extract, and DistPath at intermediate instance
--

CONNECT https://south:9101 DEPLOYMENT depl_south AS ggma PASSWORD GGma_23ai !
DBLOGIN USERIDALIAS ggsouth DOMAIN OracleGoldenGate

ADD REPLICAT repn, PARALLEL, EXTTRAIL north/da, CHECKPOINTTABLE ggadmin.ggs_checkpointtable 
START REPLICAT repn

ADD EXTRACT exts INTEGRATED TRANLOG BEGIN NOW
REGISTER EXTRACT exts database
ADD EXTTRAIL south/ea, EXTRACT exts
START EXTRACT exts

ADD DISTPATH dpsw SOURCE trail://north:9102/services/v2/sources?trail=south/ea TARGET wss://west:9203/services/v2/targets?trail=south/da !
START DISTPATH dpsw

INFO ALL
INFO DISTPATH ALL

--
-- Add Replicat at target instance
--

CONNECT https://west:9201 DEPLOYMENT depl_west AS ggma PASSWORD GGma_23ai !
DBLOGIN USERIDALIAS ggwest DOMAIN OracleGoldenGate

ADD REPLICAT reps, PARALLEL, EXTTRAIL south/da, CHECKPOINTTABLE ggadmin.ggs_checkpointtable
START REPLICAT reps

INFO ALL
INFO DISTPATH ALL

DISCONNECT
OBEYファイルを作成したら、管理クライアントで実行するシェル・スクリプトを作成します:
#!/bin/bash

# Clean up environment
/home/oracle/scripts/misc/cleanup.sh > /dev/null

# Copy parameter file (usually edited with EDIT PARAMs)
cp EXTN.prm /u01/app/oracle/deployments/depl_north/conf/ogg
cp REPN.prm /u01/app/oracle/deployments/depl_south/conf/ogg
cp EXTS.prm /u01/app/oracle/deployments/depl_south/conf/ogg
cp REPS.prm /u01/app/oracle/deployments/depl_west/conf/ogg

# Run the GoldenGate Obey script
echo "obey add_replication_cascading.oby" | adminclient

ソースから中間およびターゲット・サーバーへのカスケード環境レプリケーションの確認

次のOBEYスクリプトをコピーして使用し、レプリケートされたデータがソース(dbnorth)から中間(dbsouth)に転送され、中間からターゲット(dbwest)ホストに送信されるかどうかを確認します。

ノート:

サンプル・スクリプトでは、データベース・サーバーの名前と値、パラメータ値、Extract、Replicatおよびその他のプロセスを使用します。このスクリプトを機能させるには、環境に応じてこれらの値を変更する必要があります。
#!/usr/bin/bash

sqlplus -s  /nolog  << EOF

set lines 100
col firstname     format a30
col last_name     format a30
col employee_id   format 9999
col salary        format 999999.99
col department_id format 999

-- Connect to DBNorth
connect  ggadmin/ggadmin@dbnorth

PROMPT
PROMPT Source Database:

select employee_id, first_name, last_name, salary, department_id
  from hr.employees 
  where department_id = 60;

-- Connect to DBSouth
connect  ggadmin/ggadmin@dbsouth

PROMPT Intermediate Database:

select employee_id, first_name, last_name, salary, department_id
  from hr.employees
  where department_id = 60;

-- Connect to DBWest
connect  ggadmin/ggadmin@dbwest

PROMPT Target Database:

select employee_id, first_name, last_name, salary, department_id
  from hr.employees
  where department_id = 60;

EOF
exit

OBEYを使用したカスケード環境設定の削除

ノート:

サンプル・スクリプトでは、データベース・サーバーの名前と値、パラメータ値、Extract、Replicatおよびその他のプロセスを使用します。このスクリプトを機能させるには、環境に応じてこれらの値を変更する必要があります。

--
-- Remove objects from WEST
--

CONNECT https://west:9201 DEPLOYMENT depl_west   AS ggma PASSWORD GGma_23ai !
DBLOGIN USERIDALIAS ggwest DOMAIN OracleGoldenGate

KILL REPLICAT reps
DELETE REPLICAT reps

DELETE CHECKPOINTTABLE ggadmin.ggs_checkpointtable !
DELETE HEARTBEATTABLE !

ALTER CREDENTIALSTORE DELETE USER ggadmin@dbwest ALIAS ggwest DOMAIN OracleGoldenGate

PURGE EXTTRAIL south/da

--
-- Remove objects from SOUTH
--

CONNECT https://south:9101 DEPLOYMENT depl_south AS ggma PASSWORD GGma_23ai !
DBLOGIN USERIDALIAS ggsouth DOMAIN OracleGoldenGate

KILL REPLICAT repn
DELETE REPLICAT repn

STOP DISTPATH dpsw
DELETE DISTPATH dpsw

KILL EXTRACT exts
DELETE  EXTRACT exts

DELETE SCHEMATRANDATA hr
DELETE CHECKPOINTTABLE ggadmin.ggs_checkpointtable !
DELETE HEARTBEATTABLE !

ALTER CREDENTIALSTORE DELETE USER ggadmin@dbsouth ALIAS ggsouth  DOMAIN OracleGoldenGate

PURGE EXTTRAIL north/da
PURGE EXTTRAIL south/ea

--
-- Remove objects from NORTH
--

CONNECT https://north:9001 DEPLOYMENT depl_north AS ggma PASSWORD GGma_23ai !
DBLOGIN USERIDALIAS ggnorth DOMAIN OracleGoldenGate

STOP DISTPATH dpns
DELETE DISTPATH dpns

KILL   EXTRACT extn
DELETE EXTRACT extn

INFO ALL
INFO DISTPATH ALL

DELETE SCHEMATRANDATA hr
DELETE HEARTBEATTABLE !

ALTER CREDENTIALSTORE DELETE USER ggadmin@dbnorth ALIAS ggnorth DOMAIN OracleGoldenGate 

PURGE EXTTRAIL north/ea

DISCONNECT

OBEYファイルを作成したら、管理クライアントで実行するシェル・スクリプトを作成します:
#!/bin/bash

# Run the GoldenGate Obey script
echo "obey delete_replication_cascading.oby" | adminclient

# Clean up environment
/home/oracle/scripts/misc/cleanup.sh > /dev/null