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

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

  1. 引き続きTimesTenキャッシュ管理ユーザーとして、CREATE DYNAMIC READONLY CACHE GROUP SQL文を使用して自動リフレッシュを指定した動的読取り専用キャッシュ・グループを作成します。一意の索引列を主キー定義として使用します。読取り専用キャッシュ・グループには、デフォルトで自動リフレッシュが構成されることに注意してください。

    Command> CREATE DYNAMIC 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));
    Command> exit;
    Disconnecting...
    Done.

    ノート:

    このSQL文は、キャッシュ・グループとキャッシュ表をTimesTenデータベースに作成します。

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

  2. ttIsqlユーティリティを起動して、cache1 DSNにインスタンス管理者として接続します。

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

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

これは自動リフレッシュを指定した動的読取り専用キャッシュ・グループであるため、Oracleデータベースのすべての変更は、デフォルトの間隔で自動的にキャッシュ・グループにリフレッシュされます。修飾SQL文を使用して、キャッシュに存在しないデータを動的にリクエストできます。DML文は、TimesTenデータベース内の読取り専用キャッシュ表に対して直接実行しないでください。