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;
この例は、次のステップを実行します。