タスク4: 初期データのロード
キャッシュ・グループをロードします。
-
TimesTenキャッシュ管理ユーザーとして再接続します。次のように
ttIsql
cachegroups
コマンドを使用して、customer_orders
キャッシュ・グループの定義を表示します。% ttIsql "DSN=cache1;UID=cacheadmin;PwdWallet=/wallets/cacheadminwallet" Command> cachegroups; Cache Group CACHEADMIN.CUSTOMER_ORDERS: Cache Group Type: Read Only Autorefresh: Yes Autorefresh Mode: Incremental Autorefresh State: Paused Autorefresh Interval: 5 Minutes Autorefresh Status: ok Aging: No aging defined Root Table: SALES.CUSTOMERS Table Type: Read Only Child Table: SALES.ORDERS Table Type: Read Only 1 cache group found.
『Oracle TimesTen In-Memory Databaseリファレンス』のttIsqlを参照してください。
前述の出力では、自動リフレッシュ操作の状態は現在、作成したすべてのキャッシュ・グループに対して
Paused
です。Autorefresh State: Paused
デフォルトでは、増分自動リフレッシュで定義されたすべての読取り専用キャッシュ・グループは一時停止として開始されます(デフォルトの間隔値は5分です)。
-
読取り専用キャッシュ・グループの最初のロードに対して
LOAD CACHE GROUP
文でキャッシュ・グループをロードします。LOAD CACHE GROUP
はキャッシュ表を移入し(初期状態ではキャッシュ表は空)、自動リフレッシュ状態をPAUSED
からON
に変更します。次の例では、キャッシュ表が空であるため、
customer_orders
読取り専用キャッシュ・グループの最初のロードに対してLOAD CACHE GROUP
文を実行します。この場合、この例ではロードをより効率的にするために3つのパラレル・スレッドが指定され、ロード操作中に256行ごとにコミットが発行されます。LOAD CACHE GROUP customer_orders COMMIT EVERY 256 ROWS PARALLEL 3; 2 cache instances affected.
『Oracle TimesTen In-Memory Database SQLリファレンス』のLOAD CACHE GROUPを参照してください。
-
次のように
ttIsql
cachegroups
コマンドを再度使用して、自動リフレッシュの状態がcustomer_orders
キャッシュ・グループに対してOn
になったことを確認します。Command> cachegroups; Cache Group CACHEADMIN.CUSTOMER_ORDERS: Cache Group Type: Read Only Autorefresh: Yes Autorefresh Mode: Incremental Autorefresh State: On Autorefresh Interval: 5 Minutes Autorefresh Status: ok Aging: No aging defined Root Table: SALES.CUSTOMERS Table Type: Read Only Child Table: SALES.ORDERS Table Type: Read Only 1 cache group found.
-
sales.customers
キャッシュ表の内容を問い合せます。Command> SELECT * FROM sales.customers; 122, West, Jim Johnston 663, MidWest, Pat Reed 2 rows found.
これは自動リフレッシュを指定した静的読取り専用キャッシュ・グループであるため、Oracleデータベースのすべての変更は、デフォルトの間隔で自動的にキャッシュ・グループにリフレッシュされます。これらはTimesTenの読取り専用キャッシュ表であるため、それらに対して実行されるDML文は失敗します。