GoldenGateを使用したキャッシュの例

完全なエンドツーエンドの例は、GoldenGateを使用して読取り専用キャッシュを作成する方法を示すのに役立ちます。

この例では、TimesTenデータベースをホストするシステムのFQDNはtthost1.example.comです。

TimesTenデータベースのDSNはcache1です。

TimesTen用のGoldenGateデプロイメント・モードは、直接モード接続を使用したオンボックスです。

前提条件

  • 機能しているOracle Databaseは最新バージョンです。

  • GoldenGateの最新バージョンがOracleデータベース・ホストにインストールされます。

  • 機能しているTimesTenインスタンスはTimesTen 22.1.1.1.0以上を実行しています。

  • GoldenGate 21.3がTimesTenホストにインストールされています。

  • TimesTenキャッシュ・データベースが構成され、作成されています。

  • DatabaseCharacterSetおよびConnectionCharacterSetがTimesTenデータベースで正しく設定されています。

Oracleユーザーおよびソース表

Oracleアプリケーション・スキーマ所有者はorattで、パスワードはttpwdです。

パスワードttpwdのOracleキャッシュ管理ユーザーcacheadminがあり、このユーザーにはキャッシュされる表に対するSELECT権限があります。アプリケーション・スキーマ・ユーザーとキャッシュ管理ユーザーのパスワードは異なる場合があります。

orattユーザーは、TimesTenにキャッシュされる3つの表を所有しています:

CREATE TABLE customer
(
    custid     VARCHAR2(10) NOT NULL,
    firstname  VARCHAR2(20) NOT NULL,
    lastname   VARCHAR2(20) NOT NULL,
    address    VARCHAR2(128) NOT NULL,
    phone      VARCHAR2(16) NOT NULL,
    PRIMARY KEY (custid)
);
Table created.
CREATE TABLE orders
(
    orderid    NUMBER(10,0) NOT NULL,
    custid     VARCHAR2(10) NOT NULL,
    orderdate  DATE NOT NULL,
    priority   CHAR(1),
    amount     NUMBER(12,2) NOT NULL,
    PRIMARY KEY (orderid),
    FOREIGN KEY (custid) REFERENCES customer(custid)
);
Table created.
CREATE TABLE item
(
    itemno     NUMBER(4,0) NOT NULL,
    orderid    NUMBER(10,0) NOT NULL,
    itemcode   VARCHAR2(10) NOT NULL,
    quantity   NUMBER(4,0) NOT NULL,
    price      NUMBER(6,2) NOT NULL,
    totalvalue NUMBER(10,2) NOT NULL,
    PRIMARY KEY (orderid,itemno),
    FOREIGN KEY (orderid) REFERENCES order(orderid)
);
Table created.
INSERT INTO customer VALUES('C000000001', 'Fred', 'Bloggs', 'Nice Villas, 
  Pleasant Town', '+16072321234');
1 row inserted.
INSERT INTO orders VALUES(123456, 'C000000001', '21/10/2021', 'N', 430.46);
1 row inserted.
INSERT INTO item VALUES(1, 123456, 'I000001725', 2, 15.25, 30.50);
1 row inserted.
INSERT INTO item VALUES(2, 123456, 'I000207351', 4, 99.99, 399.96);
1 row inserted.
COMMIT;

この例は、次のステップを実行します。

  1. TimesTenユーザーおよび表の準備
  2. Extractプロセスを実行するためのOracle Databaseの準備
  3. GoldenGateレプリケーション用のTimesTenデータベースの準備
  4. 初期データ・ロードの実行
  5. リアルタイム・レプリケーションの起動
  6. GoldenGateレプリケーションが機能していることの確認