タスク3: TimesTenデータベースでの静的読取り専用キャッシュ・グループの作成

TimesTenデータベースで、自動リフレッシュを指定した静的読取り専用キャッシュ・グループを作成します。

  1. TimesTenキャッシュ管理ユーザーとして、CREATE READONLY CACHE GROUP SQL文を使用してTimesTenデータベースに静的読取り専用キャッシュ・グループを作成します。一意の索引列を主キー定義として使用します。

    次の例は、Oracleデータベースのsales customers表およびorders表をcustomer_ordersというキャッシュ・グループにキャッシュする方法を示しています。

    % ttIsql "DSN=cache1;UID=cacheadmin;PwdWallet=/wallets/cacheadminwallet"
    Command> CREATE READONLY CACHE GROUP customer_orders
    AUTOREFRESH
    FROM sales.customers
     (cust_num NUMBER(6) NOT NULL,
      region   VARCHAR2(10),
      name     VARCHAR2(50),
      PRIMARY KEY(cust_num)),
    sales.orders
     (ord_num      NUMBER(10) NOT NULL,
      cust_num     NUMBER(6) NOT NULL,
      when_placed  DATE NOT NULL,
      when_shipped DATE NOT NULL,
      PRIMARY KEY(ord_num),
      FOREIGN KEY(cust_num) REFERENCES sales.customers(cust_num));

    ノート:

    このSQL文は、キャッシュ・グループとキャッシュ表をTimesTenデータベースに作成します。読取り専用キャッシュ・グループには、デフォルトで自動リフレッシュが追加されます。自動リフレッシュはデフォルトにより、5分ごとに実行される増分自動リフレッシュに設定されます。

    TimesTenキャッシュ表の列に対してデータ型を選択する場合は、Oracle Database表の列のデータ型を考慮し、キャッシュ表の列に対して同等または互換性のあるデータ型を選択してください。「Oracle Databaseデータ型とTimesTenデータ型の間のマッピング」を参照してください

  2. TimesTenキャッシュ管理ユーザーとして接続されているttIsqlユーティリティを終了します。次に、ttIsqlユーティリティを再起動し、インスタンス管理者としてcache1 DSNに接続します。

    sales.customersおよびsales.ordersキャッシュ表に対するSELECT権限をTimesTenキャッシュ管理ユーザーに付与して、このユーザーがこれらの表に対してSELECT問合せを発行できるようにします。

    Command> exit;
    Disconnecting...
    Done.
    % ttIsql cache1
    Command> GRANT SELECT ON sales.customers TO cacheadmin;
    Command> GRANT SELECT ON sales.orders TO cacheadmin;
    Command> exit;
    Disconnecting...
    Done.