TimesTenデータベース・ユーザーおよび表の作成

TimesTenデータベース・ユーザーおよび表を作成するステップを実行します。

  1. TimesTenインスタンス管理者ユーザーとしてTimesTenデータベースに接続している間に、GoldenGate適用プロセスの専用のGoldenGate適用データベース・ユーザーを作成します。このユーザーは、TimesTenにキャッシュされたすべての表を所有しています。専用GoldenGate適用データベース・ユーザーに、キャッシュされた表に対する必要なすべての権限があることを確認します。

    この例では、cacheadminという専用のGoldenGate適用データベース・ユーザーを作成します。

    CREATE USER cacheadmin IDENTIFIED BY ttpwd;
    GRANT CREATE SESSION, CACHE_MANAGER, CREATE ANY TABLE TO cacheadmin;
  2. アプリケーションは、GoldenGate適用データベース・ユーザーとは異なるユーザーとしてデータベースに接続する必要があります。常に、アプリケーション・ユーザーには、実行に必要な処理と一貫性のある最小限の権限のセットが付与されている必要があります。この例では、oratt1およびoratt2という2つのアプリケーション・ユーザーを作成します:

    CREATE USER oratt1 IDENTIFIED BY ttpwd;
    GRANT CREATE SESSION, CREATE ANY TABLE TO oratt1;
    CREATE USER oratt2 IDENTIFIED BY ttpwd;
    GRANT CREATE SESSION, CREATE ANY TABLE TO oratt2;
  3. Oracle TimesTenのGoldenGateでは、キャッシュ・グループではなくユーザー表へのデータの配信をサポートしています。GoldenGateはキャッシュ・グループのかわりに通常の表を使用するため、TimesTenにキャッシュ・グループ(CREATE READONLY CACHE GROUP文を使用して)としてではなく、(CREATE TABLE文を使用して)通常の表としてキャッシュ表を作成します。

    このステップでは、TimesTenに必要なキャッシュ表を作成します。表の定義がソース・データベース内の対応する表と互換性があることを確認します。orattデータベース・ユーザーが所有する表を作成する必要があります(cacheadminとして、またはADMIN権限を持つ他のユーザーとして接続する必要があります):

    CREATE TABLE oratt1.cachetab1 ( … );
    CREATE TABLE oratt2.cachetab2 ( … );
    …
  4. GoldenGateをキャッシュ・リフレッシュ・メカニズムとして使用する場合、TimesTen内の読取り専用のキャッシュ表は、実際には読取り専用ではありません。アプリケーションで表内のデータを変更できます(表に対して適切なアクセス権限がある場合)。ただし、GoldenGateが新しく変更されたデータをバックエンド・データベースから表にリフレッシュすると、このような変更が上書きされることがあります。これは、アプリケーション・ユーザーがキャッシュ表への読取りアクセス権のみを持つようにすることで緩和できます。これらの表は、GoldenGate適用プロセスで同じ表に書き込めるように、専用のGoldenGate適用データベース・ユーザーなど、アプリケーション・ユーザー以外のユーザーが所有する必要があります。

    アプリケーション・ユーザーにキャッシュ表に対するSELECT (読取り)権限を付与します。

    GRANT SELECT ON oratt1.cachetab1 TO cacheadmin1, cacheadmin2, …;
    GRANT SELECT ON oratt2.cachetab2 TO cacheadmin1, cacheadmin2, …;