Oracle® SQL Developer

Oracle TimesTen In-Memory Databaseサポート・ユーザーズ・ガイド

リリース4.0

E50146-01(原本部品番号:E39882-02)

2013年12月

Oracle SQL Developer Oracle TimesTen In-Memory Databaseサポート・ユーザーズ・ガイド, リリース4.0

E50146-01

Copyright © 2009, 2013, Oracle and/or its affiliates.All rights reserved.

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントが、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供される場合は、次のNoticeが適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

このソフトウェアまたはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアまたはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用する際、このソフトウェアまたはハードウェアを安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle およびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXはThe Open Groupの登録商標です。

このソフトウェアまたはハードウェアおよびドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。

目次

タイトルおよび著作権情報

はじめに

- 対象読者

- 関連ドキュメント

- 表記規則

- ドキュメントのアクセシビリティについて

- テクニカル・サポート

新機能

- SQL Developerリリース4.0の新機能

- SQL Developerリリース3.1の新機能

1 TimesTenデータベースへの接続

- TimesTenおよびSQL Developerの環境変数の設定

- TimesTenデータベースの名前付き接続の定義

- DSN

- 簡易クライアント/サーバー

- 詳細

- TimesTenデータベースの既存の名前付き接続の使用

- TimesTenデータベースの既存の名前付き接続の切断

2 TimesTenオブジェクトの使用

- TimesTenデータベース・オブジェクトの検索

- LOBデータ型の指定および表示

- 列へのINLINE属性の指定

- 表サイズ情報の表示

- OUTパラメータとしてのREF CURSORの使用

- 表の特性の表示

- 列の表示

- 索引の表示

- エージング属性の表示

- 表定義の表示

- 表での索引の作成

- 主キー制約の作成

- 主キーの属性の変更

- 外部キー制約の作成

- 制約の削除

- 表のエージング・プロパティの変更

- 表へのエージング・ポリシーの追加

- 表からのエージング・ポリシーの削除

- 表のエージング・ポリシーのエージング状態の変更

- メモリー使用量のしきい値およびLRUエージング・サイクルの変更

- 表の時間ベースのエージング・ポリシーの存続期間およびサイクルの変更

- オブジェクト権限の付与と取消し

- データベース・オブジェクトに付与された権限の表示

- 表へのデータのロード

- SQLワークシートでのttIsqlコマンド

3 TimesTen問合せオプティマイザとのインタフェース

- 問合せオプティマイザで使用される表および列の統計の更新

- 表の統計のエクスポート

- 文の実行計画の表示

4 TimesTen索引アドバイザの使用

- 接続レベルでの取得

- SQLワークシート

- Oracle BIサーバーのオプティマイザ・ヒントをSQLワークシートに含める

- SQLワークシートの索引推奨項目の保存

- SQLワークシート・スクリプト

- Oracle BIサーバーのオプティマイザ・ヒントをSQLワークロード・スクリプトに含める

- データベースレベルでの取得

- 索引推奨項目の保存

- TimesTen索引アドバイザの取得状況の表示

5 OracleデータベースからTimesTenデータベースへのデータのロード

- Oracleデータベース表からデータをロード

- Oracleデータベース・スキーマの追加

- Oracleデータベース・スキーマの削除

- Oracleデータベース・スキーマ表へのフィルタの適用

- カスタム問合せ結果のロード

- Oracleデータベース表から既存のTimesTen表へのデータのロード

6 キャッシュ環境の作成およびアクセスの前提条件

- Oracle DatabaseおよびTimesTenデータベースの構成

- キャッシュ管理ユーザーの名前およびパスワードの設定

- キャッシュ・グリッドの構成

- キャッシュ・エージェントの起動および停止

7 キャッシュ・グループの作成

- キャッシュ・グループの作成

- キャッシュ・グループおよびキャッシュ表属性の定義

- ルート表の定義

- キャッシュする列の選択

- 表属性の指定

- エージング・ポリシーの指定

- ルート表定義の検証

- 子表の定義

- キャッシュする列の選択

- 表属性の指定

- 子表の定義の完成

- キャッシュ・グループ定義の検証

- キャッシュ・グループの削除

8 キャッシュ・グループの操作

- キャッシュ・グループのロードまたはリフレッシュ

- キャッシュ・グループのアンロード

- キャッシュ・グループのフラッシュ

9 キャッシュ・グループおよびキャッシュ表の特性

- キャッシュ・グループの特性の表示

- キャッシュ表の表示

- キャッシュ・グループ定義の表示

- エージング属性の表示

- キャッシュ・グループの自動リフレッシュ属性の変更

10 TimesTenレプリケーションとのインタフェース

- レプリケーション・スキームの表示

- TimesTenサブスクライバ・データベースの詳細の表示

- レプリケートされたTimesTenデータベースのストア属性の表示

- レプリケーション・エージェントの起動

11 TimesTenパフォーマンス・メトリックの使用

- スナップショットの作成

- スナップショットの削除

- TimesTenパフォーマンス・メトリック構成の編集

- TimesTenパフォーマンス・メトリック・レポートの作成

- レポートの保存

12 TimesTenレポート

- TimesTenレポートの生成

- データベース情報

- すべてのオブジェクト

- キャッシュ・グループ

- データベース管理

- パフォーマンス

- PLSQL

- セキュリティ

- 表

索引

はじめに

このマニュアルでは、『Oracle SQL Developerユーザーズ・ガイド』に記載されているTimesTen固有の機能について補足しています。Oracle SQL Developerは、データベース開発者が基本的なタスクを実行する際に役立つグラフィカル・ユーザー・インタフェース(GUI)・ツールです。特定のデータベース・オブジェクトの参照、作成、編集および削除、SQL文およびスクリプトの実行、データの操作およびエクスポート、レポートの表示および作成を実行できます。ターゲットTimesTenデータベースに接続して、データベース内の特定のオブジェクトで操作を実行できます。

対象読者

このマニュアルは、Oracle TimesTen In-Memory DatabaseおよびOracle In-Memory Database CacheでOracle SQL Developerツールを使用するユーザーを対象としています。アプリケーション開発者およびシステム管理者は、SQL Developerを使用してキャッシュ・グループおよびその他のTimesTenデータベース・オブジェクトを作成および管理できます。

関連ドキュメント

TimesTenのドキュメントは、次のURLのOracle Technology Network(OTN)で入手できます。

http://www.oracle.com/technetwork/products/timesten/documentation/

SQL Developerソフトウェアのダウンロードは、Oracle Technology Network(OTN)で入手可能です。

http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index.html

表記規則

このマニュアルでは次の表記規則を使用します。

規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

イタリック体

イタリックは、ユーザーが特定の値を指定するプレースホルダ変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

ドキュメントのアクセシビリティについて

オラクル社のアクセシビリティへの取組みの詳細は、Oracle Accessibility ProgramのWebサイトhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=docaccを参照してください。

Oracleサポートへのアクセス

Oracleカスタマは、My Oracle Supportから電子サポートにアクセスできます。詳細は、http://www.oracle.com/pls/topic/lookup?ctx=acc&id=infoまたはhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs (聴覚障害者向け)を参照してください。

サポートおよびサービス

オラクル製品サポートの購入方法、およびOracleサポート・サービスへの連絡方法の詳細は、次のURLを参照してください。

http://www.oracle.com/support/contact.html

新機能

この項では、Oracle SQL Developerリリース4.0でサポートされているTimesTenの新機能について説明します。一部の機能は、TimesTenリリース11.2.2.5以上のみでサポートされています。TimesTenリリース11.2.2.5以上でのみサポートされている機能は、そのように記述しています。

SQL Developerリリース4.0の新機能

- TimesTenデータベースに接続するために名前付き接続を作成する場合、「ユーザー指定」接続タイプは、「詳細」と呼びます。

- 「データベース接続の作成/選択」ダイアログで、「自動コミット」オプションを直接設定できます。この新規の自動コミットオプションは、接続レベルに設定されます。前のリリースでは、自動コミット・オプションは実行インスタンス・レベルに設定されていました。

TimesTenリリース11.2.2.5以上でサポートされている機能:

- ttStatsスナップショットを取得して、2つのスナップショットを比較したttStatsレポートを生成できます。ttStatsスナップショットは、パフォーマンス・メトリックの収集です。TimesTenによって、TimesTenシステム表、システム・ビューおよび組込みプロシージャからパフォーマンス・メトリックが収集されます。詳細は、「TimesTenパフォーマンス・メトリックの使用」を参照してください。

- 新しい事前定義されたパフォーマンス・レポートがあります。パフォーマンス・レポートは、TimesTenデータベースの統計情報および統計スナップショットを示すレポートです。これらのレポートは、「TimesTenレポート」の「パフォーマンス」カテゴリで使用可能です。詳細は、「パフォーマンス」を参照してください。

TimesTenリリース11.2.2.4以上でサポートされている機能:

- SQL Developerでは、TimesTen索引アドバイザをサポートしており、SQLワークロードを評価して索引を推奨します。TimesTen索引アドバイザの推奨する索引によって、次のパフォーマンスを向上させることができます: 結合、単独表スキャンおよびORDER BYまたはGROUP BYの操作。詳細は、「TimesTen索引アドバイザの使用」を参照してください。

- パラレル・スレッドを使用して、キャッシュ・グリッド、キャッシュ・グループまたはキャッシュ表を作成することなく、OracleデータベースからTimesTenデータベースにデータをロードできます。詳細は、「OracleデータベースからTimesTenデータベースへのデータのロード」を参照してください。

SQL Developerリリース3.1の新機能

TimesTenリリース11.2.2以上でサポートされている機能:

- LOBデータ型を定義および使用できます。これには、LOBデータ型の列の定義、LOBデータ型の列の追加、LOBデータ型の表示、およびPL/SQLエディタでのIN、OUTおよびIN OUTパラメータでのLOBデータ型の定義が含まれます。詳細は、「LOBデータ型の指定および表示」を参照してください。

- 表サイズ情報を計算できます。表サイズ情報の計算の詳細は、「表サイズ情報の計算」を参照してください。

- 表レポートの場合、「表サイズ」のレポートがあり、「列」レポートにはLOBデータ型が表示されます(該当する場合)。表レポートの詳細は、「表」を参照してください。

TimesTenリリース11.2.1.4.0以上でサポートされている機能:

- 列の定義時にINLINEを指定できます。詳細は、「列へのINLINE属性の指定」を参照してください。

- OUTパラメータとしてREF CURSORを使用して、PL/SQLファンクション、プロシージャまたはパッケージをテストできます。詳細は、「OUTパラメータとしてのREF CURSORの使用」を参照してください。

- 表にデータをロードできます。詳細は、「表へのデータのロード」を参照してください。

- キャッシュ・グループにレポートがあります。詳細は、「キャッシュ・グループ」を参照してください。

1 TimesTenデータベースへの接続

SQL Developerをインストールし、起動すると、TimesTenデータベースに接続できます。

この章では、SQL DeveloperでTimesTenデータベースに接続するために必要な手順を中心に説明します。内容は次のとおりです。

- TimesTenおよびSQL Developerの環境変数の設定

- TimesTenデータベースの名前付き接続の定義

- TimesTenデータベースの既存の名前付き接続の使用

- TimesTenデータベースの既存の名前付き接続の切断

Oracle SQL Developerのインストールおよび起動の詳細は、『Oracle SQL Developerユーザーズ・ガイド』を参照してください。

TimesTenおよびSQL Developerの環境変数の設定

SQL DeveloperからTimesTenデータベースへアクセスするには、TimesTen Data ManagerまたはTimesTen Clientと同じシステムにSQL Developerをインストールします。SQL Developerを使用してローカル・データベースにアクセスする場合、TimesTen Data Managerと同じシステムにSQL Developerをインストールします。SQL Developerを使用してリモート・データベースにアクセスする場合、TimesTen Clientと同じシステムにSQL Developerをインストールします。

SQL Developerを起動する前に、Linuxシステムでは、TimesTenのinstall_dir/bin/ttenv.shまたはTimesTenのinstall_dir/bin/ttenv.cshシェル・スクリプト、Microsoft Windowsシステムでは、TimesTenのinstall_dir\bin\ttenv.batバッチ・ファイルを実行します。シェル・スクリプトまたはバッチ・ファイルによって、環境変数が追加または変更されます。

- CLASSPATHには、LinuxシステムではTimesTenのinstall_dir/lib/ttjdbc7.jarファイル、Microsoft WindowsではTimesTenのinstall_dir\lib\ttjdbc7.jarファイルが含まれています。SQL Developer 4.0では、Java Development Kit(JDK)7をインストールしておく必要があります。
SQL Developerで使用しているサード・パーティのJDBCドライバを確認するには、「ツール」メニューで「プリファレンス」を選択します。「プリファレンス」ダイアログで、「データベース」ノードの左にある「+」をクリックします。「サード・パーティJDBCドライバ」を選択します。TimesTen JDBCドライバを含むすべてのサード・パーティJDBCドライバのパス名を表示します。

- LD_LIBRARY_PATHには、LinuxシステムでのTimesTenのinstall_dir/libディレクトリが含まれています。

- PATHには、LinuxシステムではTimesTenのinstall_dir/binディレクトリ、Microsoft WindowsシステムではTimesTenのinstall_dir\binディレクトリが含まれています。

TimesTenデータベースの名前付き接続の定義

TimesTenデータベースへの名前付き接続を作成するには、SQL Developerのメイン・ページで作業を行う必要があります。

1. 「接続」ノードを右クリックし、「新規接続」を選択します。

図1-1 新規接続の作成

「データベース接続の作成/選択」ダイアログが表示されます。

2. 「TimesTen」タブを選択します。

図1-2 新規データベース接続

接続の情報を入力できます。

3. 「接続名」フィールドに、接続名を入力します。

4. 「ユーザー名」フィールドに、TimesTenユーザーを入力します。TimesTenデータベースを使用してOracle Databaseからデータをキャッシュする場合は、TimesTenキャッシュ・マネージャのユーザー名を入力します。TimesTenデータベースを使用してOracle Databaseからデータをロードする場合は、ロードするOracleデータベース表でSELECT権限を持つTimesTenユーザー名を入力します。

5. 「パスワード」フィールドに、TimesTenユーザーのパスワードを入力します。
パスワードを保存するには、「パスワードの保存」を選択します。パスワードを保存すると、以降のTimesTenデータベースへの接続時に、パスワードを要求されなくなります。

6. TimesTenに、DML文の後で暗黙的コミットの実行を許可するには、「自動コミット」チェック・ボックスを選択します。デフォルトでは、自動コミットチェック・ボックスは選択されています。

7. 「接続タイプ」ドロップダウン・リストから接続タイプを選択します。次のタイプの接続を使用できます。

- DSN

- 簡易クライアント/サーバー

- 詳細

図1-3 新規接続タイプ

新規接続を定義する準備ができました。

DSN

DSN接続タイプで、DSNを指定してデータベースに接続することができます。DSNは、UNIX上の.ODBC.INIおよびWindows上のODBC Data Source Administratorに存在する必要があります。SQL DeveloperでDSN接続を定義する前に、「TimesTenデータベース名前付き接続の定義」の手順7までを完了してください。

注意:
DSN定義の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の「TimesTenデータベースを識別するためのデータ・ソース名の指定」を参照してください。

1. 「DSN」ドロップダウン・リストで、TimesTenデータベースを参照する事前定義済のDSNを選択します。Data Manager DSNを選択して直接接続を確立するか、クライアントDSNを選択してクライアント/サーバー接続を確立することができます。

2. 「接続の属性」フィールドにDSNの属性を入力します。接続の属性フィールドに入力する必要はありません。各属性設定をセミコロンで区切る必要があります。接続属性を指定しない場合は、DSNで指定した属性が使用されます。
接続属性の詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の接続属性に関する説明を参照してください。

3. OracleデータベースからTimesTenデータベースにデータをキャッシュまたはロードするには、「Oracleデータベースからの表のキャッシュ/ロードの有効化」チェック・ボックスを選択します。

4. 「Oracle Databaseパスワード」フィールドにOracleデータベース・ユーザーのOracleデータベース・パスワードを入力します。Oracleデータベース・ユーザーは、「ユーザー名」フィールドで指定したTimesTenユーザーと同じである必要があります。このテキスト・フィールドは、「Oracleデータベースからの表のキャッシュ/ロードの有効化」チェック・ボックスを選択した場合のみ使用可能です。

5. 「保存」をクリックして、「接続」ノードの下に接続名を保存します。

図1-4 DSN接続の保存

接続は保存されました。名前付き接続の設定を使用して、データベース接続の作成/選択ダイアログ・ボックスのフィールドに値を再び指定しないでも、データベースへの接続を確立できます。

6. 「接続」をクリックします。
SQL Developerが、TimesTenデータベースに接続します。

SQL Developerでのデータベース接続の作成および管理の詳細は、『Oracle SQL Developerユーザーズ・ガイド』を参照してください。

簡易クライアント/サーバー

簡易クライアント/サーバー接続タイプにより、DSNを定義する必要なく、ローカルおよびリモート・データベースに接続できます。SQL Developerで簡易クライアント/サーバー接続を定義する前に、「TimesTenデータベース名前付き接続の定義」の手順7までを完了してください。

1. 「サーバーのホスト名」フィールドに、TimesTenサーバーのホスト名またはIPアドレスを入力します。

2. 「サーバーDSN」フィールドに、TimesTenサーバー・ホスト上のTimesTenデータベースのDSNを入力します。

3. 「サーバー・ポート」フィールドに、TimesTenサーバーのTCPポートを入力します。ttStatusユーティリティを使用して、TimesTenサーバーのTCPポートを検索できます。
次の例では、サーバーのポート番号は53396です。次に、ttStatusユーティリティの出力例の一部を示します。

TimesTen server pid 24379 started on port 53396

ttStatusユーティリティの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の「ttStatus」を参照してください。

4. OracleデータベースからTimesTenデータベースにデータをキャッシュまたはロードするには、「Oracleデータベースからの表のキャッシュ/ロードの有効化」チェック・ボックスを選択します。

5. 「Oracle Databaseパスワード」フィールドにOracleデータベース・ユーザーのOracleデータベース・パスワードを入力します。Oracleデータベース・ユーザーは、「ユーザー名」フィールドで指定したTimesTenユーザーと同じである必要があります。このテキスト・フィールドは、「Oracleデータベースからの表のキャッシュ/ロードの有効化」チェック・ボックスを選択した場合のみ使用可能です。

6. Oracle Net Service名フィールドにOracleデータベースのネット・サービス名を入力します。このテキスト・フィールドは、「Oracleデータベースからの表のキャッシュ/ロードの有効化」チェック・ボックスを選択した場合のみ使用可能です。

7. 「保存」をクリックして、「接続」ノードの下に接続名を保存します。

図1-5 簡易クライアント/サーバー接続の保存

接続は保存されました。名前付き接続の設定を使用して、データベース接続の作成/選択ダイアログ・ボックスのフィールドに値を再び指定しないでも、データベースへの接続を確立できます。

8. 「接続」をクリックします。
SQL Developerが、TimesTenデータベースに接続します。

SQL Developerでのデータベース接続の作成および管理の詳細は、『Oracle SQL Developerユーザーズ・ガイド』を参照してください。

拡張

拡張接続タイプで、TimesTenデータベースに接続するための接続文字列を定義できます。SQL Developerで拡張接続を定義する前に、「TimesTenデータベース名前付き接続の定義」の手順7までを完了してください。

1. 「ドライバ・タイプ」オプションでTimesTenデータベースのドライバ・タイプを選択します。クライアント/サーバー接続を確立するために「クライアント/サーバー」を選択するか、直接接続を確立するために「ダイレクト」を選択します。

2. 「接続文字列」フィールドに、DSNを定義するための接続文字列を入力し、DSNの属性を設定します。「ドライバ・タイプ」に「クライアント/サーバー」を選択する場合は、サーバー・ホスト、サーバー・ポートおよびDSNを指定します。各属性設定をセミコロンで区切る必要があります。接続文字列を二重引用符で区切らないでください。
接続文字列の書式およびコンテンツの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の接続文字列を使用したデータベースへの接続に関する説明を参照してください。

3. OracleデータベースからTimesTenデータベースにデータをキャッシュまたはロードするには、「Oracleデータベースからの表のキャッシュ/ロードの有効化」チェック・ボックスを選択します。

4. 「Oracle Databaseパスワード」フィールドにOracleデータベース・ユーザーのOracleデータベース・パスワードを入力します。Oracleデータベース・ユーザーは、「ユーザー名」フィールドで指定したTimesTenユーザーと同じである必要があります。このテキスト・フィールドは、「Oracleデータベースからの表のキャッシュ/ロードの有効化」チェック・ボックスを選択した場合のみ使用可能です。

5. 「保存」をクリックして、「接続」ノードの下に接続名を保存します。

図1-6 拡張接続の保存

接続は保存されました。名前付き接続の設定を使用して、データベース接続の作成/選択ダイアログ・ボックスのフィールドに値を再び指定しないでも、データベースへの接続を確立できます。

6. 「接続」をクリックします。
SQL Developerが、TimesTenデータベースに接続します。

SQL Developerでのデータベース接続の作成および管理の詳細は、『Oracle SQL Developerユーザーズ・ガイド』を参照してください。

TimesTenデータベースの既存の名前付き接続の使用

「接続」ノードの下にTimesTenデータベース用の名前付き接続が存在する場合は、接続名のノードを右クリックして、「接続」を選択するか、接続名のノードの左側にある「+」をクリックします。

図1-7 TimesTen接続の表示

「接続情報」 ダイアログが表示された場合、「ユーザー名」フィールドに、TimesTenのユーザー名を入力します。「パスワード」フィールドに、ユーザーのパスワードを入力します。

「OK」をクリックします。

図1-8 「接続情報」ダイアログ

TimesTenデータベースに接続した後、既存のオブジェクトを参照するか、表、索引、ビュー、順序、シノニム、PL/SQLパッケージ、プロシージャ、ファンクションなどの新しいオブジェクトを作成できます。データベース・オブジェクトの作成の詳細は、『Oracle SQL Developerユーザーズ・ガイド』を参照してください。

TimesTenデータベースの既存の名前付き接続の切断

TimesTenデータベースから既存の接続を切断するには、「接続」タブを選択します。接続名のノードを右クリックして、「切断」を選択します。

詳細は、図1-7「TimesTen接続の表示」を参照してください。

2 TimesTenオブジェクトの使用

この章では、SQL DeveloperでのTimesTenオブジェクトの使用について説明します。

内容は次のとおりです。

- TimesTenデータベース・オブジェクトの検索

- LOBデータ型の指定および表示

- 列へのINLINE属性の指定

- 表サイズ情報の表示

- OUTパラメータとしてのREF CURSORの使用

- 表の特性の表示

- 表での索引の作成

- 主キー制約の作成

- 主キーの属性の変更

- 外部キー制約の作成

- 制約の削除

- 表のエージング・プロパティの変更

- オブジェクト権限の付与と取消し

- データベース・オブジェクトに付与された権限の表示

- 表へのデータのロード

- SQLワークシートでのttIsqlコマンド

TimesTenデータベース・オブジェクトの検索

データベース・オブジェクトが見つからない場合、オブジェクト・タイプに対応するノードを右クリックし、「リフレッシュ」を選択して、そのタイプのオブジェクトのリストをリフレッシュします。

たとえば、キャッシュ・グループを検索するには、「キャッシュ・グループ」ノードを右クリックし、「リフレッシュ」を選択して、キャッシュ・グループのリストをリフレッシュします。

また、「他のユーザー」ノードの下にオブジェクトが表示されたかどうかを確認できます。「他のユーザー」ノードの左側にある「+」をクリックして、ノードを展開します。その後、ユーザーのいずれかのノードの左側にある「+」をクリックして、そのユーザーのノードを展開します。

オブジェクト・タイプに対応するノードの左側にある「+」をクリックして、ユーザーが所有するそのタイプのオブジェクトのリストを表示します。

たとえば、表を検索するには、ユーザーの「表」ノードの左側にある「+」をクリックして、そのユーザーが所有する表のリストを表示します。

LOBデータ型の指定および表示

TimesTenリリース11.2.2以上を使用している場合は、表定義でLOBデータ型を指定および表示できます。

LOBデータ型の表を作成する場合は、「表の作成」ダイアログで、「型」列ヘッダーを展開します。有効なデータ型は、CLOB、NCLOBおよびBLOBです。

図2-1 「表の作成」ダイアログでのLOBデータ型の指定

列のデータ型を表示するには、表を選択してから、「列」タブを選択します。列がLOBデータ型であることを確認します。

図2-2 列のデータ型の表示

列を追加し、LOBデータ型を指定する場合、「列の追加」ダイアログで、「データ型」を展開します。選択肢には、CLOB、NCLOBおよびBLOBがあります。

図2-3 列の追加およびLOBデータ型の指定

PL/SQLオブジェクトに、IN、OUTおよびIN OUTパラメータとしてLOBデータ型を指定できます。PL/SQL編集ダイアログで、パラメータ・タイプにCLOB、NCLOBまたはBLOBを選択します。

図2-4 パラメータ・タイプの選択

列へのINLINE属性の指定

VARCHAR2、NVARCHAR2およびVARBINARY型の列に、INLINE属性を指定できます。

「表の作成」ダイアログで、Inlineという名前の列ヘッダーを検索します。チェック・ボックスをクリックして、列にINLINE属性を定義します。

図2-5 「表の作成」ダイアログでのInline属性の表示

表へ列を追加する際にINLINE属性を指定することもできます。表を右クリックし、「列」を選択して、「追加」を選択します。「列の追加」ダイアログが表示されます。VARCHAR2型、NVARCHAR2型およびVARBINARY型の列で、「インライン」チェック・ボックスを選択して、INLINE属性の列を追加します。

図2-6 「列の追加」ダイアログでのInline属性の表示

表サイズ情報の計算

TimesTenリリース11.2.2以上を使用している場合は、表サイズ情報を計算できます。

表サイズ情報を表示するには、まず表サイズを計算する必要があります。

1. 「表」ノードの左側にある「+」を選択して、表のリストを表示します。

2. 表の名前を右クリックして、表サイズ情報を計算します。

3. 「表」を選択して、「サイズの計算」を選択します。
「サイズの計算」ダイアログが表示されます。表の所有者および名前が表示されます。

図2-7 「サイズの計算」ダイアログ

4. 表外サイズを計算する場合は、チェック・ボックスを選択します。

5. 「適用」を選択します。
「確認」ダイアログが表示されます。

6. 「OK」を選択します。
表の表サイズ統計が計算されます。

表サイズの計算用のSQLを表示するには、「サイズの計算」ダイアログの「SQL」タブを選択します。ttComputeTabSizesというTimesTen組込みプロシージャが実行されたことが確認できます。この組込みプロシージャの実行後、表の表サイズ情報を表示できます。この表サイズ情報は、表単位であることに注意してください。

マテリアライズド・ビュー、システム表およびキャッシュ・グループの一部である表を含むデータベース内のすべての表の表サイズを計算するには、「SQLワークシート」を使用して、コマンドCall ttComputeTabSizes (NULL,0);を実行し、アウトライン・データを含めるには、Call ttComputeTabSizes (NULL,1);を実行します。

1つ以上の表の表サイズの計算後、表サイズ情報を表示できます。

1. 「表」ノードの左側にある「+」を選択して、表のリストを表示します。

2. 表サイズ情報を確認する表を選択します。

3. 表の属性を表示するタブ内にある「サイズ」タブを選択します。
表サイズ情報が表示されます。具体的には、INLINE BYTES、OUT OF LINE BYTESおよびMETADATA BYTESの値が表示されます。

図2-8 表サイズ情報の表示

「アクション」メニューを選択して、表サイズを生成または再生成できます。「アクション」メニューを選択した場合は、「表」→「サイズの計算」を選択します。「サイズの計算」ダイアログが表示され、表サイズ情報を計算することができます。

「リフレッシュ」を選択して、表示された表サイズ・データをリフレッシュします。

表サイズを計算したすべての表の表サイズ情報を表示できます。このような情報を表示するには、「TimesTenレポート」を選択し、「表」→「表サイズ」を選択します。TimesTenレポートの詳細は、「TimesTenレポートの生成」を参照してください。

ttComputeTabSizes組込みプロシージャの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のttComputeTabSizesに関する説明を参照してください。

OUTパラメータとしてのREF CURSORの使用

PL/SQLファンクション、プロシージャまたはパッケージでOUTパラメータとしてREF CURSORを定義して、PL/SQLファンクション、プロシージャまたはパッケージをテストできます。REF CURSORを定義した後、PL/SQLファンクション、プロシージャまたはパッケージをコンパイルおよび実行します。「実行」ダイアログが表示され、「OK」を選択すると、実行の詳細が表示され、「出力変数」タブにファンクション、プロシージャまたはパッケージの実行からの出力が表示されます。

次の例では、get_emp_pkgというパッケージを作成します。get_emp_pkgパッケージは、OUTパラメータとしてREF CURSORを定義し、OUTパラメータとしてREF CURSORを使用するプロシージャを定義します。

図2-9 get_emp_pkgの定義

次に、プロシージャget_empを定義するパッケージ本体を作成します。プロシージャget_empは、REF CURSOR変数を開き、employees表で問合せを実行します。

図2-10 get_emp_pkgパッケージ本体の定義

パッケージおよびパッケージ本体をコンパイルします。get_emp_pkgを右クリックして、「実行」を選択します。「PL/SQLの実行」ダイアログが表示され、テスト・ラッパーを実行できます。「OK」を選択して、テスト・ラッパーを実行します。

図2-11 「PL/SQLの実行」ダイアログの表示

1. IdeConnections: 発生したエラーを含む実行ステータスを表示します。

2. 出力変数: ファンクション、プロシージャまたはパッケージの実行結果を表示します。

図2-12 「出力変数」タブの表示

表の特性の表示

通常の表、グローバル一時表またはキャッシュ表を作成した後、表の列、索引、エージング・ポリシーなどの表の特性を表示できます。

「表」ノードの左側にある「+」をクリックして、表のリストを表示します。表示する表の名前をクリックします。

検索している表が見つからない場合は、「TimesTenデータベース・オブジェクトの検索」を参照してください。

列の表示

表のタブ内にある「列」タブには、表の列に関する情報が表示されます。列の名前、データ型、NULL可能性プロパティおよびデフォルト値が表示されます。

表の列のリストを表示するには、「表」ノードを検索します。表の名前が含まれるノードの左側にある「+」をクリックします。

図2-13 列の表示

索引の表示

表のタブ内にある「索引」タブには、表の索引に関する情報が表示されます。索引の名前、タイプ、一意性プロパティおよび列の数と名前が表示されます。

エージング属性の表示

表のタブ内にある「エージング属性」タブには、表のエージング属性に関する情報が表示されます。エージング・ポリシーのタイプ、エージング・サイクルおよびエージング状態が表示されます。

LRUエージング・ポリシーが定義されている表では、TimesTenデータベースのメモリー使用量のしきい値が表示されます。これらのしきい値およびLRUエージング・サイクルの変更の詳細は、「エージング・ポリシーの指定」を参照してください。

時間ベースのエージング・ポリシーが定義された表では、タイムスタンプ値(各行が追加された日時または最新更新の日時を示す)、および更新されていないデータが表から削除されない期間を格納する、NULL値を許可しないDATEまたはTIMESTAMP列の名前が表示されます。

図2-14 表のエージング属性の表示

表定義の表示

表のタブ内にある「SQL」タブには、通常の表またはグローバル一時表の作成に使用したCREATE TABLE文が表示されます。

付随するキャッシュ・グループが作成されると、キャッシュ表が作成されるため、そのキャッシュ・グループ定義を表示すると、キャッシュ表の定義を表示できます。「キャッシュ・グループ定義の表示」を参照してください。

図2-15 表定義のSQLの表示

表での索引の作成

通常の表またはキャッシュ表で、レンジ索引またはビットマップ索引を作成できます。

索引を作成するには、「表」ノードの左側にある「+」をクリックして、表のリストを表示します。次に、索引を作成する表の名前を右クリックし、「索引」を選択して、「索引の作成」を選択します。

図2-16 「表」ノードからの索引の作成

また、「索引」ノードを右クリックして、「新規索引作成」を選択することもできます。

図2-17 「索引」ノードからの新規索引の作成

「索引の作成」ダイアログの「プロパティ」タブで、「表」ドロップダウン・メニューを検索します。このメニューから、索引に表を選択します。

「タイプ」の場合:

- 一意でないレンジ索引を作成する場合は、「一意でない」を選択します。

- 一意のレンジ索引を作成する場合は、「一意」を選択します。

- ビットマップ索引を作成する場合は、「ビットマップ」を選択します。

TimesTenでサポートされる索引のタイプの詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス』のCREATE INDEXに関する説明を参照してください。

「索引」セクションで、索引に列を指定します。列は、「列名または式」ドロップダウン選択リストから選択できます。各索引列に対して、「順序」選択リストから、列を昇順にソートするか降順にソートするかを指定できます。デフォルトのソート順序は昇順です。

コンポジット索引を作成するには、「+」をクリックして、索引定義に列を追加します。「X」をクリックすると、索引定義から列が削除されます。

図2-18 「索引の作成」ダイアログ

「索引の作成」ダイアログの「DDL」タブで、索引の作成に使用したCREATE INDEX文を表示できます。

「OK」をクリックして索引を作成します。

図2-19 索引の作成用のDDLの表示

主キー制約の作成

主キーが定義されていない表に主キー制約を作成できます。次の手順を実行します。

1. 「表」ノードの左側にある「+」をクリックして、表のリストを表示します。主キー制約を作成する表の名前を右クリックします。

2. 「制約」を選択して、「主キーの追加」を選択します。
「主キーの追加」ダイアログが表示されます。

3. 「キー索引タイプ」フィールドで、「範囲の使用」を選択して、レンジ索引を使用して主キーを作成するか、「ハッシュの使用」を選択して、ハッシュ索引を使用して主キーを作成します。
「ハッシュの使用」を選択すると、テキスト「数を指定」とその後ろに「行」または「ページ」のドロップダウン・リストが表示されます。「行」または「ページ」のいずれかを選択して、コロン(:)の後ろのボックスに、行またはページの数を入力します。デフォルトでは「行」が選択されています。

ハッシュ索引のサイズ設定の詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス』の列定義に関する項を参照してください。

4. 「制約名」フィールドに、制約名を入力します。30文字を超える名前を指定することはできません。

5. 「列」フィールドに列名のドロップダウン・リストが表示されます。主キーに使用する列名を選択します。

6. 「適用」をクリックします。
主キー制約が追加されたことを示す「確認」ダイアログが表示されます。

7. 「OK」をクリックします。
主キー制約は正常に追加されました。

主キー制約の作成に使用したSQL文を表示するには、「主キーの追加」ダイアログ・ボックスの「SQL」タブを選択します。

主キー制約の作成の詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス』のCREATE TABLEに関する説明、または『Oracle TimesTen In-Memory Database SQLリファレンス』のALTER TABLEに関する説明を参照してください。

主キーの属性の変更

表で主キーを定義した後に、主キー制約の属性を変更できます。次の手順を実行します。

1. 「表」ノードの左側にある「+」をクリックして、表のリストを表示します。次に、主キー属性を変更する表の名前を右クリックします。

2. 「制約」を選択して、「主キー・パラメータの変更」を選択します。
「主キーのパラメータの変更」ダイアログが表示されます。

3. 「キー索引タイプ」フィールドで、「範囲の使用」を選択して、主キー制約をハッシュ索引の使用からレンジ索引の使用に変更するか、「ハッシュの使用」を選択して、主キー制約をレンジ索引の使用からハッシュ索引の使用に変更します。
「ハッシュの使用」を選択すると、テキスト「数を指定」とその後ろに「行」または「ページ」のドロップダウン・リストが表示されます。「行」または「ページ」のいずれかを選択して、コロン(:)の後ろのボックスに、行またはページの数を入力します。デフォルトでは「行」が選択されています。

ハッシュ索引のサイズ設定の詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス』の列定義に関する説明を参照してください。

4. 「適用」をクリックします。
主キー制約の索引が変更されたことを示す「確認」ダイアログが表示されます。

5. 「OK」をクリックします。
主キー制約の索引は正常に変更されました。

主キー制約の属性の変更に使用したSQL文を表示するには、「主キーのパラメータの変更」ダイアログの「SQL」タブを選択します。

主キー制約の属性の変更の詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス』のALTER TABLEに関する説明を参照してください。

外部キー制約の作成

表で、外部キー制約を作成できます。SQL Developerのメイン・ページで作業していること、および、TimesTen接続が拡張されていることを確認してください。

1. 「表」ノードの左の+をクリックして、表のリストを展開します。

図2-20 「表」を展開

2. 表名を右クリックして「制約」を選択し、「外部キーの追加」を選択します。

図2-21 外部キーの追加

「外部キーの追加」ダイアログが表示されます。「所有者」および「名前」フィールドは自動で入力され、編集できません。制約名の入力を準備します。

3. 「削除時にカスケード」参照アクションを有効化するには、「外部キーのカスケード削除」チェック・ボックスを選択します。これを指定した場合、参照キー値を含む行を親表から削除すると、依存外部キー値を持つ子表の行も削除されます。

4. 「制約名」フィールドに、外部キーの名前を入力します。

5. 外部キー制約を適用する列を、「列名」ドロップダウン・リストから選択します。

6. 外部キーが参照する表名を、「参照表の名前」ドロップダウン・リストから選択します。

7. 外部キーが参照する列を、「参照先の列」ドロップダウン・リストから選択します。
外部キー制約の作成に使用するSQL文を表示するには、「外部キーの追加」ダイアログ・ボックスの「SQL」タブを選択します。

8. 「適用」をクリックします。

図2-22 「適用」をクリック

外部キー制約が追加されたことを示す「確認」ダイアログ・ボックスが表示されます。

9. 「OK」をクリックします。

図2-23 「OK」をクリック

外部キー制約は正常に追加されました。

外部キー制約の作成の詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス』のCREATE TABLEに関する説明、または『Oracle TimesTen In-Memory Database SQLリファレンス』のALTER TABLEに関する説明を参照してください。

制約の削除

TimesTen表から制約を削除できます。SQL Developerのメイン・ページで作業していること、および、TimesTen接続が拡張されていることを確認してください。

1. 「表」ノードの左の+をクリックして、表のリストを展開します。

図2-24 「表」を展開

2. 表名を右クリックして「制約」を選択し、「削除」を選択します。

図2-25 「削除」を選択

「削除」ダイアログが表示されます。「所有者」および「名前」フィールドは自動で入力され、編集できません。制約を選択する準備をします。

3. 「制約」ドロップダウン・リストから削除する制約を選択します。
制約の削除に使用するSQL文を表示するには、「削除」ダイアログ・ボックスの「SQL」タブを選択します。

4. 「適用」をクリックします。

図2-26 制約を「削除」

制約が削除されたことを示す「確認」ダイアログ・ボックスが表示されます。

5. 「OK」をクリックします。

図2-27 「OK」をクリック

制約は正常に削除されました。

表のエージング・プロパティの変更

通常の表またはキャッシュ表にエージング・ポリシーを追加または削除できます。また、表の既存のエージング・ポリシーのエージング状態を変更すること、または既存の時間ベースのエージング・ポリシーの存続期間およびサイクルを変更することもできます。

表へのエージング・ポリシーの追加

通常の表またはキャッシュ表にエージング・ポリシーを追加するには、「表」ノードの下で、エージング・ポリシーを追加する表の名前を右クリックし、「経過」→「用法ベースで追加」を選択して、LRUエージング・ポリシーを追加します。時間ペースのエージング・ポリシーを追加するには、「経過」を選択し、「時間ベースで追加」を選択します。キャッシュ表がキャッシュ・グループのルート表である場合のみ、そのキャッシュ表にエージング・ポリシーを追加できます。

図2-28 エージング属性

検索している表が見つからない場合は、「TimesTenデータベース・オブジェクトの検索」を参照してください。

表にLRUエージング・ポリシーを追加するには、「用法ベースで追加」ダイアログ・ボックスの「プロンプト」タブの「用法ベースの経過」フィールドで、「オン」または「オフ」のいずれかを選択して、エージング状態を指定します。デフォルトのエージング状態はオンです。「適用」をクリックして、表にLRUエージング・ポリシーを追加します。

図2-29 使用方法ベースのエージングの追加

TimesTenデータベースのメモリー使用量のしきい値によって、表からのデータの削除を開始および停止するタイミングが決定されます。表からのデータの削除が開始されるタイミングを決定するデフォルトのメモリー使用量のしきい値は90%です。表からのデータの削除が停止されるタイミングを決定するデフォルトのメモリー使用量のしきい値は80%です。デフォルトのLRUエージングのサイクルは1分です。これらのしきい値およびLRUエージング・サイクルの変更の詳細は、「エージング・ポリシーの指定」を参照してください。

LRUエージング・ポリシーは通常の表すべて、およびAWT、SWTまたは自動リフレッシュが定義されていないユーザー管理キャッシュ・グループの表に追加できます。

表に時間ベースのエージング・ポリシーを追加するには、「時間ベースで追加」ダイアログ・ボックスの「プロンプト」タブで、「列」から、各行が追加された日時および最新更新の日時を示すタイムスタンプ値を格納する行の名前を選択します。

「存続期間」フィールドで、数値と、ドロップダウン・リストから分、時間または日の単位を指定して、更新されていないデータが表で保持される期間を示します。

「サイクル」フィールドで、数値と、分、時間または日の単位を指定して、データが表からエージ・アウトされる頻度を示します。デフォルトの時間ベースのエージング・サイクルは5分です。

「時間ベースの経過」フィールドで、「オン」または「オフ」のいずれかを選択して、エージング状態を指定します。デフォルトのエージング状態はオンです。「適用」をクリックして、表に時間ベースのエージング・ポリシーを追加します。

図2-30 時間ベースのエージングの追加

時間ベースのエージング・ポリシーは、NULL値を許可しないDATE列またはTIMESTAMP列が含まれる表にのみ追加できます。

表からのエージング・ポリシーの削除

通常の表またはキャッシュ表から既存のエージング・ポリシーを削除するには、「表」ノードの下で、エージング・ポリシーを削除する表の名前を右クリックして、「経過」→「削除」を選択します。図2-28「エージング属性」を参照してください。

検索している表が見つからない場合は、「TimesTenデータベース・オブジェクトの検索」を参照してください。

「適用」をクリックして、表からエージング・ポリシーを削除します。

図2-31 エージング・ポリシーの削除のダイアログ

表のエージング・ポリシーのエージング状態の変更

通常の表またはキャッシュ表の既存のエージング・ポリシーのエージング状態を変更するには、「表」ノードの下で、エージング状態を変更する表の名前を右クリックして、「経過」→「状態オン/オフの変更」を選択します。図2-28「エージング属性」を参照してください。

検索している表が見つからない場合は、「TimesTenデータベース・オブジェクトの検索」を参照してください。

「状態オン/オフの変更」ダイアログの「プロンプト」タブの「経過状態の変更」フィールドで、「オン」または「オフ」のいずれかを選択して、エージング状態を変更します。「適用」をクリックして、表のエージング状態を変更します。

図2-32 エージング状態の変更

メモリー使用量のしきい値およびLRUエージング・サイクルの変更

メモリー使用量のしきい値およびLRUエージング・サイクルを変更するには、TimesTenデータベースの接続名のノードを右クリックして、「用法ベースの経過属性の変更」を選択します。

図2-33 使用方法ベースのエージング属性の変更

の選択

「用法ベースのしきい値を変更中」ダイアログ・ボックスの「プロンプト」タブにある「用法の高しきい値」フィールドで、表からのデータの削除が開始されるタイミングを決定するしきい値を指定します。「用法の低しきい値」フィールドで、表からのデータの削除が停止されるタイミングを決定するしきい値を指定します。「頻度の更新」フィールドで、LRUエージング・サイクルを指定します。「適用」をクリックして、メモリー使用量のしきい値およびLRUエージング・サイクルを変更します。

図2-34 使用方法ベースのエージングのしきい値のダイアログ

LRUエージング・ポリシーが定義されているすべての表に新しい設定が適用されます。

表の時間ベースのエージング・ポリシーの存続期間およびサイクルの変更

通常の表またはキャッシュ表の既存の時間ベースのエージング・ポリシーの存続期間およびサイクルを変更するには、「表」ノードの下で、存続期間およびサイクルを変更する表の名前を右クリックして、「経過」→「存続期間とサイクルの変更」を選択します。図2-28「エージング属性」を参照してください。

検索している表が見つからない場合は、「TimesTenデータベース・オブジェクトの検索」を参照してください。

「存続期間とサイクルの変更」ダイアログ・ボックスの「プロンプト」タブ内の「存続期間」フィールドで、数値と、分、時間または日の単位を指定して、更新されていないデータを保持する期間を変更します。

「サイクル」フィールドで、数値と、分、時間または日の単位を指定して、データが表からエージ・アウトされる頻度を変更します。

「適用」をクリックして、表の存続期間およびサイクルを変更します。

図2-35 存続期間およびサイクルの変更

オブジェクト権限の付与と取消し

次のデータベース・オブジェクトに対し、権限の追加および取消しができます。

- 通常の表およびキャッシュ表

- 通常のビューおよびマテリアライズド・ビュー

- 順序

- PL/SQLパッケージ、プロシージャおよびファンクション

オブジェクトに権限を付与するには、オブジェクトの名前を右クリックして、「権限」→「付与」を選択します。

図2-36 権限の付与および取消し

「付与」ダイアログ・ボックスの「ユーザー」ドロップダウン・メニューで、オブジェクトにオブジェクト権限を付与するユーザーを選択します。「権限」セクションで、「すべて」チェック・ボックスを選択するか、「>>」をクリックして、オブジェクトの使用可能なすべてのオブジェクト権限を選択したユーザーに付与します。それ以外の場合は、「使用可能な権限」リストから、選択したユーザーに付与する個々の権限を選択してから、「>」をクリックして、これらの権限を「選択した権限」リストに移動します。複数の権限を選択するには、[Ctrl]キーを押したまま必要な権限をクリックします。「適用」をクリックして、オブジェクトの選択されたオブジェクト権限を選択されたユーザーに付与します。

図2-37 「権限の付与」ダイアログ

特定のオブジェクトタイプでは、使用できるオブジェクト権限のみが表示されます。たとえば、DELETE、INDEX、INSERT、REFERENCES、SELECTおよびUPDATE権限を表に付与できます。ただし、マテリアライズド・ビューに付与できる権限は、INDEX、REFERENCESおよびSELECT権限のみです。

ADMINシステム権限を持つユーザーまたはオブジェクトの所有者のみが、そのオブジェクトでオブジェクト権限を付与できます。

オブジェクトの各タイプで使用できる権限セットの詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス』のオブジェクト権限に関する説明を参照してください。

オブジェクトから権限を取り消すには、オブジェクトの名前を右クリックして、「権限」→「取消」を選択します。図2-36「権限の付与および取消し」を参照してください。

「取消」ダイアログ・ボックスの「ユーザー」ドロップダウン・メニューで、オブジェクトからオブジェクト権限を取り消すユーザーを選択します。「権限」セクションで、「すべて」チェック・ボックスを選択するか、「>>」をクリックして、選択したユーザーから、オブジェクトに付与されたすべてのオブジェクト権限を取り消します。それ以外の場合は、「使用可能な権限」リストから、選択したユーザーから取り消す個々の権限を選択してから、「>」をクリックして、これらの権限を「選択した権限」リストに移動します。複数の権限を選択するには、[Ctrl]キーを押したまま必要な権限をクリックします。「適用」をクリックして、選択したユーザーから、オブジェクトの選択したオブジェクト権限を取り消します。

図2-38 「権限の取消」ダイアログ

「ユーザー」ドロップダウン・メニューには、オブジェクトにオブジェクト権限を持つユーザーのみが表示されます。特定のユーザーでは、付与されたオブジェクト権限のみが表示されます。

ADMINシステム権限を持つユーザーまたはオブジェクトの所有者のみが、オブジェクトからオブジェクト権限を取り消すことができます。

データベース・オブジェクトに付与された権限の表示

通常の表またはキャッシュ表、通常のビューまたはマテリアライズド・ビュー、順序またはPL/SQLパッケージ、プロシージャまたはファンクションなどの特定のオブジェクトのすべてのユーザーに付与されたオブジェクト権限を表示できます。

たとえば、通常の表に付与された権限を表示するには、ユーザーの「表」ノードの左側にある「+」をクリックして、そのユーザーが所有する表のリストを表示して、目的の表の名前をクリックします。

表のタブ内にある「権限」タブには、表に権限を持つユーザー、そのユーザーに付与された権限および権限を付与したユーザーが表示されます。

表へのデータのロード

「データのインポート」を使用して、表にデータをロードします。データをロードするには、ファイルにデータをエクスポートする必要があります。データをエクスポートするには、表の名前で右クリックして、「エクスポート」を選択します。データを正常にエクスポートした後、データをインポートできます。

1. 「表」ノードの左側にある「+」を選択して、表のリストを表示します。

2. 表の名前を右クリックします。

3. 「表」→「データのインポート」を選択します。
「開く」ダイアログが表示されます。インポートするデータ・ファイルを特定します。このファイルは、前にエクスポートしたファイルです。

4. 「開く」を選択します。
表にデータがロードされます。

SQLワークシートでのttIsqlコマンド

SQLワークシートでサポートされているttIsqlコマンドは次のとおりです。

- autocommit

- desc

- dssize

- version

詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のttIsqlに関する説明を参照してください。

3 TimesTen問合せオプティマイザとのインタフェース

この章では、SQL DeveloperでのTimesTen問合せオプティマイザとの対話方法について説明します。内容は次のとおりです。

- 問合せオプティマイザで使用される表および列の統計の更新

- 表の統計のエクスポート

- 文の実行計画の表示

問合せオプティマイザで使用される表および列の統計の更新

問合せオプティマイザは、TimesTenデータベースのシステム表に格納されている統計を使用して、文の最適な実行計画を決定します。TimesTenでは、表レベルの統計をSYS.TBL_STATS表に格納します。列の最小値と最大値および一意の値の数など列レベルの統計は、SYS.COL_STATS表に格納されています。

通常の表およびキャッシュ表で更新が発生した場合、表および列の統計は計算されません。かわりに、明示的なリクエストが発生した場合に統計が更新されます。

ユーザーが所有するすべての表またはユーザーが所有する特定の表の統計が更新できます。

すべての表の統計を更新するには、「表」ノードを右クリックして、「統計」→「更新」を選択します。

特定の表の統計を更新するには、「表」ノードの左側にある「+」をクリックします。表の名前を右クリックして、「統計」→「更新」を選択します。

図3-1 表の統計の更新

表が見つからない場合は、「表の特性の表示」を参照してください。

「統計の更新」ダイアログの「プロンプト」タブで、「参照したコマンドの無効化」を選択して、統計が更新された表を参照する文の実行計画を無効化します。文の実行計画を無効化する場合は、次回の実行時にその文が再コンパイルまたは再準備されます。

「表統計の間隔タイプ」で、完全な間隔を選択して、表の行を2つ以上の間隔に区切り、各間隔で統計を計算するか、単一の間隔を選択して、一連の行全体を単一の間隔として統計を計算します。表でレンジ索引を定義して、完全な間隔の統計を計算する必要があります。

「適用」をクリックします。

図3-2 統計の更新ダイアログ

表のオプティマイザの統計を表示するには、表の名前をクリックします。

図3-3 employees表の統計

検索している表が見つからない場合は、「TimesTenデータベース・オブジェクトの検索」を参照してください。

表のタブ内の「統計」タブの上部のセクションには、次のような表の統計が表示されます。

- 表内の行数

- 表の統計の最新の更新を示すタイムスタンプ

下部のセクションには、列統計が表示されます。各列に次の情報が表示されます。

- 列の名前。

- 統計を計算するためにデータを区切る間隔の数

- NULL値の合計数

- NULL値を許可しない一意の値の合計数

- 各間隔の行の合計数

SQL Developerにより、各列の各間隔の次の値が表示されます。

- 最も頻繁に発生する値以外の一意の値の数

- 最も頻繁に発生する値以外の値を含む行の数

- 最も頻繁に発生する値が含まれる行の数

- 最小値

- 最大値

- 最大頻度の値

問合せオプティマイザの統計の詳細は、『Oracle In-Memory Database Cache概要』の統計に関する説明、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の最適化を実行するタイミングに関する説明、または『Oracle TimesTen In-Memory Databaseリファレンス』のttOptUpdateStatsに関する説明を参照してください。

表の統計のエクスポート

一連のSQL文を生成して、表の統計を現在の状態にリストアできます。SQL文は、単一の表用に、または、接続ユーザーがアクセス権限を持つ複数のユーザー表用に生成できます。表の統計を.sqlファイルにエクスポートした後で、SQL Developerの.sqlファイルを開き、スクリプト・ファイルを実行することによって、表の統計をインポートできます。

現在のTimesTen表の統計をエクスポートするには、SQL Developerのメイン・ページで作業する必要があります。

1. 単一の表の統計を保存するには、表の名前を右クリックして、「統計」→「エクスポート」を選択します。すべてのユーザー表の統計を保存するには、「表」を右クリックして、「統計」→「エクスポート」を選択します。

図3-4 統計のエクスポート

「オプティマイザ統計のエクスポート」ダイアログが表示されます。ダイアログの右下にある「保存」ボタンを確認します。

2. 「保存」をクリックします。

図3-5 「保存」をクリック

「オプティマイザ統計エクスポート・コマンドの保存」ダイアログが表示されます。

3. 現行のTimesTen表の統計を保存するディレクトリを選択します。

4. 「ファイル名」フィールドに、現行のTimesTen表の統計の名前を定義します。
現行のTimesTen表の統計のデフォルトのファイル名は、接続名がconnection_nameの場合は、connection_name-exportstatistics-YYYYMMDDMISS.sqlです。YYYYMMDDHHMISSは、推奨項目が作成された時点のタイムスタンプで、YYYYは年、MMは月、DD は日、HHは時、MIは分、SSは秒を表します。

5. 「保存」をクリックします。

図3-6 現行のTimesTen表の統計の保存

現行のTimesTen表の統計が保存されます。

文の実行計画の表示

文を実行する前に、準備またはコンパイルしておく必要があります。文を準備またはコンパイルすると、問合せオプティマイザによって、文の実行計画が生成されます。

文の実行計画を表示するには、SQLワークシートで文を作成します。接続でワークシートを開いていない場合は、接続名のノードを右クリックして、「SQLワークシートを開く」を選択します。図1-7「TimesTen接続の表示」を参照してください。

接続をオープンしていない場合は、「SQLワークシート」を選択して、接続を確立してから、その接続のワークシートを開きます。

図3-7 SQLワークシートの選択

「接続の選択」ダイアログが表示されます。「接続」フィールドで、接続の名前を選択します。「OK」をクリックします。

図3-8 「接続の選択」ダイアログ

選択した接続名に関連付けられた接続が存在しない場合、TimesTenデータベースへの接続が確立されます。

「SQLワークシート」で文を構成する前に、文で参照されている表および表と列の統計が更新された表に適切な索引が作成されていることを確認します。統計の更新の詳細は、「問合せオプティマイザで使用される表および列の統計の更新」を参照してください。

「SQLワークシート」で文を作成します。次に、「実行計画」を選択して、文の実行計画を表示します。

図3-9 実行計画の表示

実行計画は、「実行計画」ペインに表示され、階層形式で処理する順序とは逆の順序(ツリーの一番下の操作が最初に処理され、ツリーの一番上の操作が最後に処理される)で表示されます。操作ごとの計画では、操作を実行する表または索引、あるいは(適用可能な場合は)操作によって処理される文の述語の式が示されます。実行計画に表示される操作のタイプには、表または索引のスキャン(ロックの粒度が表示される)、結合、グループ化およびソートがあります。

図3-10 実行計画の表示

実行計画の解釈について、『Oracle In-Memory Database Cache概要』のオプティマイザ計画に関する説明、または『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のSQL問合せ計画の表示に関する説明を参照してください。

問合せパフォーマンスのチューニングの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のSQL問合せ計画の表示に関する説明を参照してください。

4 TimesTen索引アドバイザの使用

SQL Developerでは、TimesTen索引アドバイザをサポートしており、SQLワークロードを評価して索引を推奨します。TimesTen索引アドバイザの推奨する索引によって、次のパフォーマンスを向上させることができます: 結合、単独表スキャンおよびORDER BYまたはGROUP BYの操作。TimesTen索引アドバイザでは、現行の接続またはデータベース全体の索引情報を収集できます。

注意:
SQL Developerでは、プロシージャを使用して、TimesTen索引アドバイザから索引を推奨します。TimesTen索引アドバイザの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の「索引アドバイザを使用した索引の推奨」を参照してください。

TimesTen索引アドバイザを使用する前に次を確認します。

- Oracle TimesTen In-Memory Databaseリリース11.2.2.4 (以上)を使用していること。

この章では、TimesTen索引アドバイザの使用方法について説明します。

内容は次のとおりです。

- 接続レベルでの取得

- データベースレベルでの取得

- 索引推奨項目の保存

- TimesTen索引アドバイザの取得状況の表示

接続レベルでの取得

TimesTen索引アドバイザでデータを取得する前に、表の統計が過去24時間以内に更新されていることを確認してください。最新の表の統計によってデータ収集のための最新の統計が得られ、最適化された問合せ計画に基づく文を準備できます。表の統計の更新の詳細は、「問合せオプティマイザで使用される表および列の統計の更新」を参照してください。

接続レベルでTimesTen索引アドバイザ用データを取得する方法は2つあります。

- SQLワークシート

- SQLワークシート・スクリプト

SQLワークシート

SQL Developer SQLワークシートにより、接続レベルでTimesTen索引アドバイザ用データを取得できます。SQLワークシートが、SQL Developer SQLワークシート内にあることを確認してください。

1. SQLワークシートのメニューバーで、「TimesTen索引アドバイザ」ボタンをクリックします。

図4-1 SQLワークシートのTimesTen索引アドバイザ

- 表の統計が期限切れの場合は、情報ダイアログに期限切れの表についての情報が表示されます。TimesTenによって表の統計の更新が推奨されます。

- 表の統計が更新されると、「索引アドバイザの構成」ダイアログが表示されます。

2. 表の統計を更新するには、「取消」をクリックして「問合せオプティマイザで使用される表および列の統計の更新」の手順を実行します。表の統計を更新しないで続行するには、「OK」をクリックします。

図4-2 期限切れの表の統計

「索引アドバイザの構成」ダイアログが表示されます。

3. 「取得モード」ドロップダウン・リストで目的の取得モードを選択します。

- SQLの準備: SQLワークシートでSQLコマンドが準備されますが、実行はされません。算出された統計および問合せ計画の分析に基づいて推奨が行われます。これがデフォルトの取得モードです。

- SQLの実行: SQLワークシートでSQLコマンドが実行されます。実際のSQLコマンドの実行に基づいて推奨が行われます。このモードではSQLの実行を完了する必要があるため、「SQLの準備」モードよりも時間がかかります。

図4-3 索引アドバイザの構成

Oracle BIサーバーにオプティマイザ・ヒントを含めることを選択できます。

4. 「Oracle BIサーバーのオプティマイザ・ヒントを含める」チェックボックスによって、問合せオプティマイザに特定の実行計画を生成するよう指示するオプティマイザ・ヒントを使用できます。オプティマイザ・ヒントは、Oracle BIサーバーの生成する推奨問合せです。オプティマイザ・ヒントの使用の詳細は、「Oracle BIサーバー用オプティマイザ・ヒントをSQLワークシートに含める」を参照してください。オプティマイザ・ヒントを使用しない場合は、「開始」をクリックします。

図4-4 オプティマイザ・ヒントなしでTimesTen索引アドバイザ用データの収集を開始

「索引アドバイザの構成」ダイアログが閉じます。SQLワークシートの下部に「TimesTen索引アドバイザ」ペインが表示されます。詳細は、図4-5を参照してください。

5. 「セレクタ」列で、作成する索引推奨項目を選択します。

また、列のヘッダーをクリックすると、その列に基づいて表がソートされます。各列の説明は次のとおりです。

- 「セレクタ」
作成する索引推奨項目を決定するために選択するチェック・ボックス。

- 「索引推奨項目」
TimesTen索引アドバイザの推奨するCREATE INDEX文。

- 「影響を受ける文の数」
推奨の効果を得られる文の数。

- 「作成済」
TimesTen索引アドバイザの推奨に基づく索引を作成済かどうかを示します。この値は、「はい」または「いいえ」です。「はい」の場合は、索引が正常に作成されています。値が「いいえ」の場合は、索引の作成中か、索引を作成することができません。

すべての索引推奨項目を選択するには、「すべて選択」チェック・ボックスを選択します。

TimesTen索引アドバイザに評価されているSQLコマンドを表示するには、「SQL」タブをクリックします。「SQL」タブは、「TimesTen索引アドバイザ」ペインの上部にあります。

6. 作成する索引推奨項目を選択した後、「選択した索引を作成」ボタンをクリックします。

図4-5 索引推奨項目の作成

「選択した索引を作成」ダイアログが表示されます。「詳細 >>」ボタンを確認します。

7. 「詳細 >>」をクリックします。

図4-6 選択した索引の作成の進捗状況

選択した索引の作成の進捗情報を表示する詳細ペインが開きます。ダイアログの下にある「閉じる」ボタンを確認します。

8. 「閉じる」をクリックします。

図 4-7 閉じるをクリック

「選択した索引を作成」ダイアログが閉じます。索引が作成されます。索引推奨項目を保存するには、「"SQLワークシートの索引推奨項目の保存」を参照してください。

Oracle BIサーバーのオプティマイザ・ヒントをSQLワークシートに含める

トランザクション・レベルのオプティマイザ・ヒントを使用して、TimesTen問合せオプティマイザに特定の実行計画を生成するよう指示します。

注意:
オプティマイザ・ヒントの詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス』の「ヒントの理解」を参照してください。

トランザクション・レベルのオプティマイザ・ヒントを使用する前に、「SQLワークシート」の手順4までを完了してください。オプティマイザ・ヒントを使用する場合は、DDL文をまったく使用しないか、SQLワークロードでAUTOCOMMITモードを有効にします。

Oracle BIサーバーのオプティマイザ・ヒントを使用するには、次の手順を実行します。

1. 「Oracle BIサーバーのオプティマイザ・ヒントを含める」チェックボックスを選択します。

図4-8 Oracle BIサーバーのオプティマイザ・ヒントを含める

Oracle BIサーバーのオプティマイザ・ヒントありのフィールドは、「索引アドバイザの構成」ダイアログに表示されます。オプティマイザ・ヒントは編集できません。デフォルトでは、Oracle BIサーバーのオプティマイザ・ヒントは次のようになります。

--
-- Optimizer hints to be used with TimesTen Index Advisor for Oracle BI server
--
autocommit 0;
call ttoptsetflag('rowlock',0);
call ttoptsetflag('tbllock',1);
call ttoptsetflag('mergejoin',0);
call ttoptsetflag('nestedloop',1);

ダイアログの右下にある「開始」ボタンを確認します。

2. 「開始」をクリックします。

図4-9 オプティマイザ・ヒントありでTimesTen索引アドバイザ用データの収集を開始

「索引アドバイザの構成」ダイアログが閉じます。SQLワークシートの下部に「TimesTen索引アドバイザ」ペインが表示されます。トランザクションのAUTOCOMMITモードは、TimesTen索引アドバイザを実行する以前にトランザクションが保持していたAUTOCOMMITモードに戻されます。

「TimesTen索引アドバイザ」ペインおよび索引の作成方法の詳細は、「SQLワークシート」の「「セレクタ」列で作成する索引推奨項目を選択します。」を参照してください。

SQLワークシートの索引推奨項目の保存

今後の参照のために索引推奨項目を保存するには、次の手順を実行します。

1. 「索引を保存」をクリックします。すべての索引推奨項目が保存されます。索引推奨項目は個別に保存されません。

図4-10 索引の保存

「索引を保存」ダイアログが表示されます。

2. TimesTen索引推奨項目を保存するディレクトリを選択します。

3. 「ファイル名」フィールドに、TimesTen索引推奨項目のファイル名を定義します。
デフォルトのTimesTen索引推奨項目のファイル名は、接続名がconnection_nameの場合は、connection_name-indexadvice-YYYYMMDDMISS.sqlです。YYYYMMDDHHMISSは、推奨項目が作成された時点のタイムスタンプで、YYYYは年、MMは月、DD は日、HHは時、MIは分、SSは秒を表します。

4. 「保存」をクリックします。

図4-11 「索引推奨項目の保存」

索引推奨項目が保存されます。

保存したファイルのヘッダーには、次の情報が含まれます。

- TimesTenによってレポートが作成された時点のタイムスタンプ。

- SQL Developerのバージョン。

- TimesTenデータベースのバージョン。

- TimesTen接続の名前。

次に例を示します。

-- This file was generated by SQL Developer at 2013-04-29 11:08:45
-- SQL Developer version 4.0.0.11.51
-- Database version: 11.02.02.0005 Oracle TimesTen IMDB version 11.2.2.5.0
-- Connection name: sampledb_1122

SQLワークロード・スクリプト

SQLワークロード・スクリプト・ファイルのSQL問合せを使用して、接続レベルでTimesTen索引アドバイザ用データを取得できます。SQL Developerのメイン・ページで作業していること、および、TimesTen接続が拡張されていることを確認してください。

1. データベースの名前を右クリックして、「索引アドバイザ」を選択し、次に「接続レベル取得」を選択します。

図4-12 接続レベルでのデータ収集

- 表の統計が期限切れの場合は、情報ダイアログに期限切れの表についての情報が表示されます。TimesTenによって表の統計の更新が推奨されます。

- 表の統計が更新されると、「索引アドバイザの構成」ダイアログが表示されます。

2. 表の統計を更新するには、「取消」をクリックして「問合せオプティマイザで使用される表および列の統計の更新」の手順を実行します。表の統計を更新しないで続行するには、「OK」をクリックします。

図4-13 期限切れの表の統計

「索引アドバイザ - 接続レベル取得」ダイアログが表示されます。

3. 「索引アドバイザ - 接続レベル取得」ダイアログ・ボックスの「構成」タブで、「取得モード」ドロップダウン・リストから目的の取得モードを選択します。

- SQLの準備: ワークロード・スクリプトでSQLコマンドが準備されますが、実行はされません。算出された統計および問合せ計画の分析に基づいて推奨が行われます。これがデフォルトの取得モードです。

- SQLの実行: ワークロード・シートでSQLコマンドが実行されます。実際のワークロード・スクリプトの実行に基づいて推奨が行われます。このモードではSQLの実行を完了する必要があるため、「SQLの準備」モードよりも時間がかかります。

図4-14 「索引アドバイザ - 接続レベル取得」

SQLワークロード・スクリプトを指定する準備ができました。SQL DeveloperによってttIsqlユーティリティが使用され、SQLワークロード・スクリプトが実行されます。「ワークロード・スクリプト」フィールドの右側にある「参照」ボタンを確認します。

4. 「参照」をクリックします。

図4-15 「参照」をクリック

「開く」ダイアログが表示されます。

5. SQLワークロード・スクリプトを保存したディレクトリを選択します。

6. 索引推奨項目を生成するSQLワークロード・スクリプトを選択します。

7. 「開く」をクリックします。

図4-16 SQLワークロード・スクリプト「開く」ダイアログ

SQL ワークロード用データを収集する準備ができました。「開始」ボタンを確認します。

TimesTen索引アドバイザに評価されているSQLコマンドを表示するには、「SQL」タブをクリックします。「SQL」タブは、「索引アドバイザ - 接続レベル取得」ダイアログの上部にあります。

8. 「Oracle BIサーバーのオプティマイザ・ヒントを含める」チェックボックスによって、問合せオプティマイザに特定の実行計画を生成するよう指示するオプティマイザ・ヒントを使用できます。オプティマイザ・ヒントは、Oracle BIサーバーの生成する推奨問合せです。オプティマイザ・ヒントの使用の詳細は、「Oracle BIサーバーのオプティマイザ・ヒントをSQLワークロード・スクリプトに含める」を参照してください。オプティマイザ・ヒントを使用しない場合は、「開始」をクリックします。

図4-17 TimesTen索引アドバイザ用データの収集を開始

「索引アドバイザ・アシスタントの進捗状況」ダイアログが表示されます。「詳細 >>」ボタンを確認します。

TimesTen索引アドバイザに推奨項目がない場合は、「索引推奨項目のフィードバック」ダイアログが表示されます。ダイアログを閉じて、SQL Developerのメイン・ページに戻ります。

9. 「詳細 >>」をクリックします。

図4-18 「索引アドバイザ・アシスタントの進捗状況」

索引アドバイザの接続レベル取得の進捗情報を表示する詳細ペインが開きます。ダイアログの下にある「閉じる」ボタンを確認します。

10. 「閉じる」をクリックします。

図4-19 「閉じる」をクリック

「索引アドバイザ・アシスタントの進捗状況」ダイアログが閉じます。「索引推奨項目」タブを確認します。

11. 「索引推奨項目」タブをクリックします。

図4-20 接続レベル取得用の索引推奨項目

「索引アドバイザ - 接続レベル取得」ダイアログの「索引推奨項目」タブが表示されます。

12. 「セレクタ」列で、作成する索引推奨項目を選択します。
また、列のヘッダーをクリックすると、その列に基づいて表がソートされます。各列の説明は次のとおりです。

- 「セレクタ」
作成する索引推奨項目を決定するために選択するチェック・ボックス。

- 「索引推奨項目」
TimesTen索引アドバイザの推奨するCREATE INDEX文。

- 「影響を受ける文の数」
推奨の効果を得られる文の数。

- 「作成済」
TimesTen索引アドバイザの推奨に基づく索引を作成済かどうかを示します。この値は、「はい」または「いいえ」です。「はい」の場合は、索引が正常に作成されています。値が「いいえ」の場合は、索引の作成中か、索引を作成することができません。

すべての索引推奨項目を選択するには、「すべて選択」チェック・ボックスを選択します。

13. 適用する索引推奨項目を選択した後、「選択した索引を作成」ボタンをクリックします。

図4-21 索引推奨項目の作成

「選択した索引を作成しています」ダイアログが表示されます。「詳細 >>」ボタンを確認します。

14. 「詳細 >>」をクリックします。

図4-22 選択した索引の作成

選択した索引の作成の進捗情報を表示する詳細ペインが開きます。ダイアログの下にある「閉じる」ボタンを確認します。

15. 「閉じる」をクリックします。

図4-23 「閉じる」をクリック

「選択した索引を作成しています」ダイアログが閉じます。索引が作成されました。索引推奨項目を保存するには、「"索引推奨項目の保存」を参照してください。

Oracle BIサーバーのオプティマイザ・ヒントをSQLワークロード・スクリプトに含める

トランザクション・レベルのオプティマイザ・ヒントを使用して、TimesTen問合せオプティマイザに特定の実行計画を生成するよう指示します。

注意:
トランザクション・レベルのオプティマイザ・ヒントの詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス』の「ヒントの理解」を参照してください。

トランザクション・レベルのオプティマイザ・ヒントを使用する前に、「SQLワークロード・スクリプト」の手順8までを完了してください。オプティマイザ・ヒントを使用する場合は、DDL文をまったく使用しないか、SQLワークロードでAUTOCOMMITモードを有効にします。

Oracle BIサーバーのオプティマイザ・ヒントを使用するには、次の手順を実行します。

1. 「Oracle BIサーバーのオプティマイザ・ヒントを含める」チェックボックスを選択します。

図4-24 Oracle BIサーバーのオプティマイザ・ヒントを含める

Oracle BIサーバーのオプティマイザ・ヒントありのフィールドは、「索引アドバイザ - 接続レベル取得」ダイアログに表示されます。オプティマイザ・ヒントは編集できません。デフォルトでは、Oracle BIサーバーのオプティマイザ・ヒントは次のようになります。

--
-- Optimizer hints to be used with TimesTen Index Advisor for Oracle BI server
--
autocommit 0;
call ttoptsetflag('rowlock',0);
call ttoptsetflag('tbllock',1);
call ttoptsetflag('mergejoin',0);
call ttoptsetflag('nestedloop',1);

ダイアログの右下にある「開始」ボタンを確認します。

2. 「開始」をクリックします。

図4-25 オプティマイザ・ヒントありでTimesTen索引アドバイザ用データの収集を開始

「索引アドバイザ・アシスタントの進捗状況」ダイアログが表示されます。「詳細 >>」ボタンを確認します。

3. 「詳細 >>」をクリックします。

図4-26 「索引アドバイザ・アシスタントの進捗状況」

索引アドバイザの接続レベル取得の進捗情報を表示する詳細ペインが開きます。ダイアログの下にある「閉じる」ボタンを確認します。

4. 「閉じる」をクリックします。

図4-27 「閉じる」をクリック

「索引アドバイザ・アシスタントの進捗状況」ダイアログが閉じます。「索引推奨項目」タブを確認します。

5. 「索引推奨項目」タブをクリックします。

図4-28 接続レベル取得用の索引推奨項目

「索引アドバイザ - 接続レベル取得」ダイアログの「索引推奨項目」タブが表示されます。

6. 「セレクタ」列で、作成する索引推奨項目を選択します。
また、列のヘッダーをクリックすると、その列に基づいて表がソートされます。各列の説明は次のとおりです。

- 「セレクタ」
作成する索引推奨項目を決定するために選択するチェック・ボックス。

- 「索引推奨項目」
TimesTen索引アドバイザの推奨するCREATE INDEX文。

- 「影響を受ける文の数」
推奨の効果を得られる文の数。

- 「作成済」
索引推奨項目を作成済かどうかを示します。この値は、「はい」または「いいえ」です。

すべての索引推奨項目を選択するには、「すべて選択」チェック・ボックスを選択します。

7. 適用する索引推奨項目を選択した後、「選択した索引を作成」ボタンをクリックします。

図4-29 索引推奨項目の作成

「選択した索引を作成しています」ダイアログが表示されます。「詳細 >>」ボタンを確認します。

8. 「詳細 >>」をクリックします。

図4-30 選択した索引の作成

選択した索引の作成の進捗情報を表示する詳細ペインが開きます。ダイアログの下にある「閉じる」ボタンを確認します。

9. 「閉じる」をクリックします。

図4-31 「閉じる」をクリック

「選択した索引を作成しています」ダイアログが閉じます。索引が作成されました。トランザクションのAUTOCOMMITモードは、TimesTen索引アドバイザを実行する以前にトランザクションが保持していたAUTOCOMMITモードに戻されます。索引推奨項目を保存するには、「"索引推奨項目の保存」を参照してください。

データベースレベルでの取得

TimesTen索引アドバイザでデータを取得する前に、表の統計が過去24時間以内に更新されていることを確認してください。最新の表の統計によってデータ収集のための最新の統計が得られ、最適化された問合せ計画に基づく文を準備できます。表の統計の更新の詳細は、「問合せオプティマイザで使用される表および列の統計の更新」を参照してください。

また、TimesTen接続ユーザにADMIN権限を付与していることも確認してください。GRANT SQL文の詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のGRANTに関する項を参照してください。

データベース・レベルでTimesTen索引アドバイザ用のデータを収集するには、SQL Developerのメイン・ページで作業していること、および、TimesTen接続が拡張されていることを確認してください。

1. データベースの名前を右クリックして、「索引アドバイザ」を選択し、次に「データベース・レベル取得」を選択します。

図4-32 データベース・レベルでのデータ収集

- 表の統計が期限切れの場合は、情報ダイアログに期限切れの表についての情報が表示されます。表の統計を最新の状態に更新することをお薦めします。

- 表の統計が更新されると、「索引アドバイザ - 接続レベル取得」ダイアログが表示されます。

2. 表の統計を更新するには、「取消」をクリックして「問合せオプティマイザで使用される表および列の統計の更新」の手順を実行します。表の統計を更新しないで続行するには、「OK」をクリックします。

図4-33 期限切れの表の統計

「索引アドバイザ - データベース取得」ダイアログが表示されます。ダイアログの下にある「開始」ボタンを確認します。

3. 「索引アドバイザ - 接続レベル取得」ダイアログの「制御」タブで、「開始」をクリックします。

図4-34 「索引アドバイザ - データベース取得」

「索引アドバイザによるデータベース取得が進行中」ダイアログが表示されます。「詳細 >>」ボタンを確認します。

4. 「詳細 >>」をクリックします。

図4-35 索引アドバイザのデータベース取得の進捗状況

索引アドバイザのデータベース・レベルの取得の進捗情報を表示する詳細ペインが開きます。ダイアログの下にある「閉じる」ボタンを確認します。

5. 「閉じる」をクリックします。

図4-36 「閉じる」をクリック

「索引アドバイザによるデータベース取得が進行中」ダイアログが閉じます。

6. 目的のSQLワークロードを取得したら、「停止」をクリックします。

図4-37 データベース取得の「停止」

TimesTen索引アドバイザに推奨項目がある場合は、「索引アドバイザによるデータベース取得が進行中」ダイアログが表示されます。

TimesTen索引アドバイザに推奨項目がない場合は、「索引推奨項目のフィードバック」ダイアログが表示されます。ダイアログを閉じて、SQL Developerのメイン・ページに戻ります。

7. 「詳細 >>」をクリックします。

図4-38 索引アドバイザのデータベース取得の進捗状況

索引アドバイザのデータベース取得の進捗情報を表示する詳細ペインが開きます。ダイアログの下にある「閉じる」ボタンを確認します。

8. 「閉じる」をクリックします。

図4-39 「閉じる」をクリック

「索引アドバイザによるデータベース取得が進行中」ダイアログが閉じます。「索引アドバイザ - データベース取得」ダイアログに、完了したデータベース取得についての情報が表示されます。ダイアログの上にある「索引推奨項目」タブを確認します。

9. 「索引推奨項目」タブをクリックします。

図4-40 データベース取得用の索引推奨項目

「索引アドバイザ - データベース取得」ダイアログの「索引推奨項目」タブが表示されます。

10. 「セレクタ」列で、作成する索引推奨項目を選択します。
また、列のヘッダーをクリックすると、その列に基づいて表がソートされます。各列の説明は次のとおりです。

- 「セレクタ」
作成する索引推奨項目を決定するために選択するチェック・ボックス。

- 「索引推奨項目」
TimesTen索引アドバイザの推奨するCREATE INDEX文。

- 「影響を受ける文の数」
推奨の効果を得られる文の数。

- 「作成済」
索引推奨項目を作成済かどうかを示します。この値は、「はい」または「いいえ」です。

すべての索引推奨項目を選択するには、「すべて選択」チェック・ボックスを選択します。

11. 適用する索引推奨項目を選択した後、「選択した索引を作成」ボタンをクリックします。

図4-41 索引推奨項目の作成」

「選択した索引を作成しています」ダイアログが表示されます。「詳細 >>」ボタンを確認します。

12. 「詳細 >>」をクリックします。

図4-42 選択した索引の作成

選択した索引の作成の進捗情報を表示する詳細ペインが開きます。ダイアログの下にある「閉じる」ボタンを確認します。

13. 「閉じる」をクリックします。

図4-43 「閉じる」をクリック

「選択した索引を作成しています」ダイアログが閉じます。索引が作成されました。索引推奨項目を保存するには、「"索引推奨項目の保存」を参照してください。

索引推奨項目の保存

次の手順は、今後の参照のために検索推奨項目を保存する方法を説明しています。この手順は、「データベース・レベルの取得」および接続レベルの取得用の「SQLワークロード・スクリプト」に有効です。

1. 「索引を保存」をクリックします。デフォルトで、すべての索引推奨項目は保存されます。索引推奨項目は個別に保存できません。

図4-44 索引の保存

「索引を保存」ダイアログが表示されます。

2. TimesTen索引推奨項目を保存するディレクトリを選択します。

3. 「ファイル名」フィールドに、TimesTen索引推奨項目のファイル名を定義します。
デフォルトのTimesTen索引推奨項目のファイル名は、接続名がconnection_nameの場合は、connection_name-indexadvice-YYYYMMDDMISS.sqlです。YYYYMMDDHHMISSは、推奨項目が作成された時点のタイムスタンプで、YYYYは年、MMは月、DD は日、HHは時、MIは分、SSは秒を表します。

4. 「保存」をクリックします。

図4-45 「索引推奨項目の保存」

索引推奨項目は保存されます。

保存したファイルには、次の情報を持つヘッダーが含まれます。

- レポートが作成された時点のタイムスタンプ。

- SQL Developerのバージョン。

- TimesTenデータベースのバージョン。

- TimesTen接続の名前。

次に例を示します。

-- This file was generated by SQL Developer at 2013-04-29 11:08:45
-- SQL Developer version 4.0.0.11.51
-- Database version: 11.02.02.0005 Oracle TimesTen IMDB version 11.2.2.5.0
-- Connection name: sampledb_1122

TimesTen索引アドバイザの取得状況の表示

TimesTen索引アドバイザの取得状況によって、接続レベルおよびデータベースレベルの取得状況が表示できます。TimesTen索引アドバイザによるデータベースの取得状況を表示するには、SQL Developerのメイン・ページで作業する必要があります。

1. データベースの名前を右クリックして、「索引アドバイザ」を選択し、次に「索引アドバイザの取得状態」を選択します。

図4-46 TimesTen索引アドバイザの取得状況の表示

「索引アドバイザの取得状態」ダイアログが表示され、接続レベルおよびデータベース・レベルの現在の取得状況が詐称できます。

また、列のヘッダーをクリックすると、その列に基づいて表がソートされます。各列の説明は次のとおりです。

- 接続ID
TimesTen索引アドバイザによる取得を開始した接続の接続ID。

- 取得レベル
TimesTen索引アドバイザの取得レベル。この値は、「接続」または「データベース」です。

- 取得モード
TimesTen索引アドバイザの取得モード。この値は、「SQLの実行」または「SQLの準備」です。

- 取得状態
TimesTen索引アドバイザの取得状態。この値は、「進行中」または「完了」です。

- 準備済数
取得期間に準備済のSQL文の数。

- 実行数
取得期間に実行済のSQL文の数。

- 開始時間
索引アドバイザによる取得が開始した時点のタイムスタンプ。タイムスタンプの書式は、YYYY-MM-DD HH:MI:SS.FFであり、YYYYは年、MMは月、DDは日、HHは時、MIは分、SSは秒で、FFがミリ秒です。

- 終了時間
索引アドバイザによる取得が終了した時点のタイムスタンプ。タイムスタンプの書式は、YYYY-MM-DD HH:MI:SS.FFであり、YYYYは年、MMは月、DDは日、HHは時、MIは分、SSは秒で、FFがミリ秒です。「取得状態」が、「進行中」の場合、この値は空です。

2. TimesTen索引アドバイザの取得した最新の情報で表を更新するには、「リフレッシュ」をクリックします。

図4-47 「リフレッシュ」をクリック。

「索引アドバイザの取得状態」ダイアログが、最新の取得状況の情報でリフレッシュされます。

5 OracleデータベースからTimesTenデータベースへのデータのロード

SQL Developerでは、パラレル・スレッドを使用して、キャッシュ・グリッド、キャッシュ・グループまたはキャッシュ表を作成することなく、OracleデータベースからTimesTenデータベースにデータをロードできます。

注意:
SQL Developerでは、ttLoadFromOracle組込みプロシージャのファンクションを使用してOracleデータベースからTimesTenデータベースにデータをロードします。ttLoadFromOracleユーティリティの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の「ttLoadFromOracle」を参照してください。

この章では、OracleデータベースからTimesTen表へのデータのロードについて説明します。

内容は次のとおりです。

- Oracleデータベース表からデータをロード

Oracleデータベース表からデータをロード

OracleデータベースからTimesTenデータベースにデータをロードする前に次を確認します。

- Oracle TimesTen In-Memory Databaseリリース11.2.2.4 (以上)を使用していること。

- TimesTen SQL developer接続に対しOracle接続情報(Oracle DatabaseパスワードおよびOracle Net Service名)を指定していること。TimesTenデータベース接続の定義の詳細は、「TimesTenデータベースの名前付きの接続の定義」を参照してください。

OracleデータベースからTimesTenデータベースにデータをロードするには、SQL Developerのメイン・ページで作業していること、および、TimesTen接続が拡張されていることを確認してください。

1. 「表」オプションを右クリックして、Oracleデータベース表からのロードを選択します。

図5-1 Oracleデータベース表からデータをロード

「Oracleデータベース表からのロード」ダイアログが表示されます。「Oracleデータベース表からのロード」ダイアログの左のナビゲーション・ツリーでOracleデータベース・スキーマ名を確認します。

2. Oracleデータベース・スキーマ名の隣の「+」をクリックして、Oracleデータベース表のリストを展開します。

別のOracleデータベース・スキーマを追加するには、「Oracleデータベース・スキーマの追加」を参照してください。Oracleデータベース・スキーマを削除するには、「Oracleデータベース・スキーマの削除」を参照してください。Oracleデータベース・スキーマにカスタム問合せ結果をロードするには、「カスタム問合せ結果のロード」を参照してください。

図5-2 Oracleデータベース・スキーマ名の展開

Oracleデータベース・スキーマが展開して、使用可能なOracleデータベース表が表示されます。TimesTenデータベースにロードするOracleデータベース表を確認します。

3. TimesTenデータベースにロードするOracleデータベース表の名前を右クリックして、「ロード」を選択します。この手順を繰返して、同一のOracleデータベース表に複数のOracleデータベース表をロードできます。
すべてのOracleデータベース表をロードするには、Oracleデータベース・スキーマ名を右クリックして、「すべてロード」を選択します。「TimesTenユーザー名」ダイアログが表示されます。表を作成するTimesTenユーザーを入力して、「OK」をクリックします。

Oracleデータベース・スキーマ表にフィルタを適用するには、「Oracleデータベース・スキーマ表へのフィルタの適用」を参照してください。

図5-3 Oracleデータベース表をロード

選択した表は右ペインに追加され、表の形式で表示されます。

4. Oracleデータベース表をレビューして、必要に応じてフィールドを編集します。フィールドを編集するにはダブルクリックします。各列の説明は次のとおりです。

- 「TimesTenユーザー名」
作成するTimesTen表の所有者。デフォルトでは、TimesTen接続ユーザーです。この列は編集できます。指定した表の所有者が存在しない場合、または、TimesTen接続ユーザーに指定した表の所有者にアクセスする権限がない場合は、エラー・メッセージが表示されます。

- 「TimesTen表名」
作成するTimesTen表の名前。デフォルトでは、Oracleデータベース表と同じ名前です。この列は編集できます。

- 「Oracleデータベースで実行する問合せ」
Oracleデータベースで目的の結果セットを生成するために実行されるSQL問合せ。デフォルトでは、SELECT * FROM oracledb_tbl問合せで、oracledb_tblはデータのロード元のOracleデータベース表です。この列は編集できます。有効なOracle Database SQL問合せの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

- 「行カウント」
TimesTenがOracleデータベース表からロードする行数。「Oracleデータベースで実行する問合せ」フィールドの結果セットの行カウントです。デフォルトでは、この値はカウントされません。

特定のOracleデータベース表の「行カウント」に移入するには、表の「行カウント」フィールドを右クリックして「件数」を選択します。

選択したすべてのOracleデータベース表の「行カウント」にフィールドに移入するには、いずれかの表の「行カウント」フィールドを右クリックして「すべてカウント」を選択します。確認ダイアログが表示されます。「Yes」をクリックして、前に選択したすべてのOracleデータベース表の行カウントに進みます。

- 「Create Table文」
Oracleデータベースのデータをロードする表の作成に使用するSQL文。この列は編集できません。CREATE TABLE文をレビューするには、「Create Table文」フィールドをダブルクリックします。

同名のTimesTen表がすでにTimesTenデータベースに存在する場合は、そのOracleデータベース表のデータが既存のTimesTen表に追加されます。Oracleデータベース表の表制約は、TimesTenにロードされません。同名で表構造の異なるTimesTen表がすでにTimesTenデータベースに存在する場合は、エラー・ダイアログが表示されます。

- 「パラレル・ロード数」
Oracleデータベース表をTimesTenデータベースにロードするために使用されるパラレル・ロード数。表に含まれる行数が500, 000未満の場合、デフォルト値は1です。表に含まれる行数が500, 000を超える場合、デフォルト値は2です。この列は編集できます。

多数の行をロードする場合は、複数のパラレル・ロードを使用することをお薦めします。複数のパラレル・ロードを使用すると、各パラレル・ロードで行のサブセットがOracleデータベース表からTimesTenデータベースにインポートされることにより、行のロード処理が高速化されます。

- 「パラレル・ロードごとのスレッド数」
Oracleデータベース表をTimesTenデータベースにロードするために使用される、パラレル・ロードごとのパラレル・スレッド数。デフォルトでは、この値は4です。この列は編集できます。2未満のパラレル・スレッド数を使用しようとすると、エラー・ダイアログが表示されます。1つのパラレル・スレッドでOracle Databaseからのバルク・フェッチが実行され、残りのパラレル・スレッドでTimesTenデータベースへの挿入操作が実行されます。

- 「ステータス」
OracleデータベースからTimesTenデータベースへのデータ・ロード操作のステータス。この値は、ロード操作を開始する前は空です。Oracleデータベースから表のロード操作を開始すると、この値は「進行中」、「完了」または「失敗」になります。

「Oracleデータベース表からのロード」ダイアログの下部の「索引作成ポリシー」を確認します。

5. Index Creation Policyドロップダウン・リストで目的の索引作成ポリシーを選択します。

- ピアOracleデータベース表からすべての索引をコピーする: ピアOracleデータベース表に存在しているすべての索引を、TimesTenで作成します。これが、デフォルトの索引作成ポリシーです。

- ピアOracleデータベース表から一意の索引のみコピーする: ピアOracleデータベース表に存在している一意の索引すべてを、TimesTenで作成します。

- ピアOracleデータベース表から索引をコピーしない: TimesTenでは索引が作成されません。

図5-4 索引作成ポリシーの選択

「Oracleデータベース表からのロード」ダイアログの右下にある「ロード」ボタンを確認します。

6. 目的のフィールドをすべて編集したら、「ロード」ボタンをクリックします。

図5-5 「ロード」をクリック

進捗ダイアログが表示されます。「Oracleデータベース表からのロード」ダイアログの「ステータス」列の各フィールドが「完了」になっていることを確認します。

「完了」以外になっている「ステータス」フィールドがある場合は、入力したすべてのデータが正しいことを確認してください。「完了」になっていないステータスは、エラーが発生したことを示しています。

すべての「Status」フィールドが「DONE」になっている場合は、TimesTen表が作成され、Oracleデータベース表からデータが移入されています。「完了」ステータスをダブル・クリックして、インポート済の索引に関する詳細情報を表示します。

「Oracleデータベース表からのロード」ダイアログの右下にある「閉じる」ボタンを確認します。

7. 「閉じる」をクリックします。

図5-6 「閉じる」をクリック

データが、OracleデータベースからTimesTenデータベースに正常にロードされました。

Oracleデータベース・スキーマの追加

別のOracleデータベース・スキーマから表を追加するには、次の手順を実行します。次の手順を実行する前に、「Oracleデータベース表からデータをロード」の手順1までを完了していることを確認してください。

1. Oracleデータベース・スキーマ・ナビゲーション・ツリーの上の「+」をクリックします。

図5-7 Oracleデータベース・スキーマを追加

「スキーマの選択」ダイアログが表示されます。接続ユーザーがアクセス可能なOracleデータベース・スキーマのみが表示されます。

2. 「スキーマ名」ドロップダウン・リストからOracleデータベース・スキーマを選択します。

図5-8 Oracleデータベース・スキーマを選択

Oracleデータベース・スキーマを追加する準備ができました。

3. 「OK」をクリックします。

図5-9 「OK」をクリック

Oracleデータベース・スキーマが正常に追加されました。データベース・スキーマの表からデータをロードするには、「Oracleデータベース表からデータをロード」の手順2を参照してください。

Oracleデータベース・スキーマの削除

Oracleデータベース・スキーマを削除するには、次の手順を実行します。この手順では、Oracleデータベース・スキーマは、「Oracleからロード」データベース機能で使用可能な状態から削除されるだけです。接続ユーザーのOracleデータベース・スキーマを削除することはできません。次の手順を実行する前に、「Oracleデータベース表からデータをロード」の手順1までを完了していることを確認してください。

1. スキーマ・ナビゲーション・ツリーで、削除するOracleデータベース・スキーマを選択します。

2. Oracleデータベース・スキーマ・ナビゲーション・ツリーの上の「-」をクリックします。

図5-10 Oracleデータベース・スキーマを削除

Oracleデータベース・スキーマが正常に削除されました。

Oracleデータベース・スキーマ表へのフィルタの適用

Oracleデータベース・スキーマ表にフィルタを適用するには、次の手順を実行します。次の手順を実行する前に、「Oracleデータベース表からデータをロード」の手順1までを完了していることを確認してください。

1. フィルタを適用するOracleデータベース・スキーマの名前を右クリックして、「フィルタの適用」を選択します。

図5-11 フィルタの適用

「フィルタ」ダイアログが表示されます。

2. 「表名」ドロップダウン・リストからフィルタ条件を選択します。

- =: 指定されたパターンと等しい結果を返します。

- <>: 指定されたパターンと等しくない結果を返します。

- LIKE: 指定されたパターンと一致する結果を返します。

- 次の相似でない: 指定されたパターンと一致しない結果を返します。

図5-12 フィルタ状態

「表名」ドロップダウン・リストの隣のテキスト・フィールドを確認します。

3. 「表名」ドロップダウン・リストの隣のテキスト・フィールドに、フィルタ条件のパターンを指定します。フィルタにはワイルドカードを使用できます。

- _: 1文字の代替。たとえば、Sm_thは、Smで始まりthで終わる5文字の表すべてを表します。

- %: 0以上の文字数の代替。たとえば、EMP%は、EMPという文字で始まるすべての表を表します。

4. 「OK」をクリックします。

図5-13 「OK」をクリック

Oracleデータベース・スキーマ表にフィルタが正常に適用されました。データベース・スキーマの表からデータをロードするには、「Oracleデータベース表からデータをロード」の手順2を参照してください。

カスタム問合せ結果のロード

Oracleデータベース・スキーマにカスタム問合せ結果をロードするには、次の手順を実行します。次の手順を実行する前に、「Oracleデータベース表からデータをロード」の手順1までを完了していることを確認してください。

1. 「スキーマ」オプションを右クリックして、「カスタム問合せ結果のロード」を選択します。

図5-14 カスタム問合せ結果をロード

「カスタム問合せ」ダイアログが表示されます。カスタムOracle問合せの情報を入力するよう求められます。最初のプロパティは「スキーマ名」です。このプロパティは編集できませんが、デフォルト値は接続ユーザーです。

2. 「TimesTenユーザー名」テキスト・フィールドにTimesTen表の所有者を入力します。指定する表の所有者がTimesTenに存在し、この所有者の所有する表の作成または所有する既存の表に挿入を行う権限を、TimesTen接続ユーザーが持っていることを確認します。

3. 「TimesTen表名」テキスト・フィールドにTimesTen表の名前を入力します。

4. 「選択問合せ」テキスト・フィールドに、目的の結果セットを生成するためにOracleデータベースで実行するSQL問合せを入力します。有効なOracle Database SQL問合せの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

5. 「パラレル・スレッド件数」テキスト・フィールドに、Oracleデータベース表をTimesTenデータベースにロードするために使用されるパラレル・スレッド数を入力します。値は、4をお薦めします。

6. 「OK」をクリックします。

図5-15 カスタム問合せをロード

カスタムOracleデータベース問合せが正常にロードされました。カスタム問合せは、「Oracleから表をロード」ダイアログの右ペインにロードされます。カスタム問合によってOracleデータベース・データをTimesTenデータベースにロードする方法の詳細は、「Oracleデータベース表からデータをロード」の手順4を参照してください。

Oracleデータベース表から既存のTimesTen表へのデータのロード

Oracleデータベース表から既存のTimesTen表にデータをロードするには、次の手順を実行してください。SQL Developerのメイン・ページで作業していること、および、TimesTen接続が拡張されていることを確認してください。

1. 「表」の隣の「+」をクリックして、TimesTen表のリストを展開します。

図5-16 「表」を展開

TimesTen表のリストが展開します。

2. 表の名前を右クリックして「表」オプションを選択し、「Oracleからロード」オプションを選択します。

図5-17 Oracleデータベース表からデータをロード

「Oracleから表をロード」ダイアログが表示されます。「スキーマ名」、「TimesTenユーザー名」および「TimesTen表名」のフィールドは自動で入力され、編集できません。次に、SQL問合せおよびパラレル・スレッド件数を入力します。

3. 「選択問合せ」フィールドに、Oracleデータベースで実行するSQL問合せを入力します。SQL問合せの結果は、TimesTen表にロードされます。有効なOracle Database SQL問合せの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

4. 「パラレル・スレッド件数」フィールドに、Oracleデータベース表をTimesTenデータベースにロードするために使用されるパラレル・スレッド数を入力します。2未満のパラレル・スレッド数を使用しようとすると、エラー・ダイアログが表示されます。

5. 「ロード」をクリックします。

図5-18 Oracleから表をロード

進捗ダイアログが表示されます。Oracleデータベース表からTimesTenにデータがロードされると、進捗ダイアログが閉じます。小さなOracleデータベース表で問合せを実行すると、進捗ダイアログはほぼ瞬時に閉じます。

6 キャッシュ環境の作成およびアクセスの前提条件

TimesTenデータベースを作成した後、TimesTenデータベースでOracleデータをキャッシュする前に、次のタスクを実行する必要があります。

- Oracle DatabaseおよびTimesTenデータベースの構成

- キャッシュ管理ユーザーの名前およびパスワードの設定

- キャッシュ・グリッドの構成

- キャッシュ・エージェントの起動および停止

Oracle DatabaseおよびTimesTenデータベースの構成

TimesTenデータベースで、Oracleデータをキャッシュする前に、SQL Developerの外部でSQL*PlusやttIsqlユーティリティなどのコマンドライン・インタフェースを使用するか、SQL Developer内部でSQLワークシートを使用して、特定のタスクを実行する必要があります。

次のようなタスクがあります。

- Oracle DatabaseでのTimesTenユーザー、スキーマ・ユーザーおよびキャッシュ管理ユーザーの作成

- Oracleユーザーに対するキャッシュ操作の実行に必要な権限の付与

- TimesTenデータベースでのキャッシュ・マネージャ・ユーザーおよびキャッシュ表ユーザーの作成

- TimesTenユーザーへのキャッシュ権限の付与

OracleユーザーおよびTimesTenユーザーの作成の詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』のOracleユーザーの作成に関する説明およびTimesTenユーザーの作成に関する説明を参照してください。

Oracle DatabaseおよびTimesTenデータベースの構成の詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』のTimesTenにデータをキャッシュするためのOracle Databaseの構成に関する説明およびOracleデータをキャッシュするためのTimesTenデータベースの構成に関する説明を参照してください。

キャッシュ管理ユーザーの名前およびパスワードの設定

Oracle Databaseでキャッシュ管理ユーザーを作成する必要があります。このユーザーは、特定のキャッシュ・グリッドの管理に使用する情報を格納するOracleオブジェクトを作成、所有および保持します。また、このユーザーは、キャッシュ・グループの定義済動作を実行します。

Oracle Databaseでキャッシュ管理ユーザーを作成した後、TimesTenデータベースでそのユーザーに名前およびパスワードを設定する必要があります。

キャッシュ管理ユーザーの名前およびパスワードを設定するには、TimesTenデータベースの接続名のノードを右クリックして、「キャッシュ管理ユーザーの設定」を選択します。図1-7「TimesTen接続の表示」を参照してください。

「キャッシュ管理者ユーザーを設定中」ダイアログが表示されます。「プロンプト」タブの「キャッシュ管理者ユーザーID」フィールドで、キャッシュ管理ユーザー名を入力します。「キャッシュ管理者ユーザー・パスワード」フィールドで、キャッシュ管理ユーザーのOracleパスワードを入力します。

「適用」をクリックします。

図6-1 「キャッシュ管理者ユーザーを設定中」ダイアログ

OracleをキャッシュするTimesTenデータベースごとに、キャッシュ管理ユーザー名およびパスワードを設定する必要があります。TimesTenデータベースを削除して再作成する場合、または Oracle Databaseでキャッシュ管理ユーザーを削除して再作成する場合は、TimesTenデータベースでキャッシュ管理ユーザー名およびパスワードをリセットする必要があります。

キャッシュ管理ユーザーの詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』のキャッシュ管理ユーザーの名前およびパスワードの設定に関する説明を参照してください。

キャッシュ・グリッドの構成

TimesTenデータベースでキャッシュ・グループを作成する前に、SQL Developerの外部でttIsqlユーティリティなどのコマンドライン・インタフェースを使用するか、SQL Developer内部でSQLワークシートを使用して、特定のタスクを実行する必要があります。次のタスクの詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』のキャッシュ・グリッドの構成に関する説明を参照してください。

- キャッシュ・グリッドの作成

- TimesTenデータベースとキャッシュ・グリッドの関連付け

キャッシュ・エージェントの起動および停止

キャッシュ管理ユーザーの名前およびパスワードを設定し、キャッシュ・グリッドを作成して、そのキャッシュ・グリッドにTimesTenデータベースを関連付けた後に、TimesTenキャッシュ・エージェント・プロセスを起動する必要があります。キャッシュ・エージェント・プロセスでは、キャッシュ・グループのロードや自動リフレッシュなどの操作をキャッシュします。

キャッシュ・エージェントを起動するには、TimesTenデータベースの接続名のノードを右クリックして、「キャッシュ・エージェントの開始/停止」を選択します。図1-7「TimesTen接続の表示」を参照してください。

「キャッシュ・エージェントを開始中/停止中」ダイアログ・ボックスで、「プロンプト」タブの「エージェントの開始」を選択します。次に、「適用」をクリックして、キャッシュ・エージェントを起動します。

図6-2 「キャッシュ・エージェントを開始中/停止中」

実行中のキャッシュ・エージェント・プロセスを停止するには、TimesTenデータベースの接続名のノードを右クリックして、キャッシュ・エージェントを起動したときと同じ方法で「キャッシュ・エージェントの開始/停止」を選択します。

「キャッシュ・エージェントを開始中/停止中」ダイアログ・ボックスで、「プロンプト」タブの「エージェントの停止」を選択します。次に、「適用」をクリックして、キャッシュ・エージェントを停止します。図6-2 「キャッシュ・エージェントを開始中/停止中」を参照してください。

キャッシュ・エージェント・プロセスの詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』のキャッシュ・エージェントの管理に関する説明を参照してください。

7 キャッシュ・グループの作成

TimesTenデータベースにキャッシュする一連のOracleデータは、キャッシュ・グループによって定義されます。キャッシュ・グループを作成すると、キャッシュされたOracle表に対応するキャッシュ表がTimesTenデータベースに作成されます。

この章の内容は次のとおりです。

- 次のキャッシュ・グループの作成

- キャッシュ・グループおよびキャッシュ表属性の定義

- ルート表の定義

- 子表の定義

- キャッシュ・グループの削除

キャッシュ・グループの作成

キャッシュ・グループを作成するには、TimesTenデータベースの接続名のノードの下の「キャッシュ・グループ」ノードを右クリックして、「新規のキャッシュ・グループ」を選択します。

図7-1 新規キャッシュ・グループの作成

「キャッシュ・グループの作成」ダイアログで、「キャッシュ・グループ属性」タブの「名前」フィールドでキャッシュ・グループの名前を指定します。「タイプ」で、キャッシュ・グループ・タイプ(読取り専用、非同期ライトスルー、同期ライトスルーまたはユーザー管理)を選択します。

キャッシュ・グループは、明示的にロードされるキャッシュ・グループまたは動的キャッシュ・グループのいずれかに分類されます。動的キャッシュ・グループを作成する場合は、「型」セクションで「動的」を選択します。

明示的にロードされるキャッシュ・グループでは、ロードまたはリフレッシュ操作を使用して手動で、または自動リフレッシュ操作を使用して自動で、対応するOracle表からキャッシュ表にデータをロードします。動的キャッシュ・グループでは、動的ロード操作を使用するか、ロード操作を使用して手動で、必要時に対応するOracle表からキャッシュ表へデータをロードします。

読取り専用、非同期ライトスルー(AWT)または同期ライトスルー(SWT)キャッシュ・グループは、動的キャッシュ・グループとして定義できます。ユーザー管理キャッシュ・グループに次のすべての特性が含まれない場合は、動的キャッシュ・グループとして定義できます。

- 自動リフレッシュが定義されている

- キャッシュ表の1つ以上が更新可能

- 1つ以上の更新可能キャッシュ表でコミットされた更新が対応するOracle表に伝播される

明示的にロードされるキャッシュ・グループおよび動的キャッシュ・グループの詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』のキャッシュ・グループへのデータのロード: 明示的にロードされるキャッシュ・グループおよび動的キャッシュ・グループに関する説明および動的キャッシュ・グループに関する説明を参照してください。

キャッシュ・グループは、ローカルまたはグローバルのいずれかとして分類されます。グローバル・キャッシュ・グループを作成する場合は、「タイプ」セクションで「グローバル」を選択します。

ローカル・キャッシュ・グループでは、キャッシュ表のデータは、TimesTenデータベースが同じキャッシュ・グリッドのメンバーであってもTimesTenデータベース間で共有されません。グローバル・キャッシュ・グループでは、キャッシュ表のデータが、同じキャッシュ・グリッドのメンバーであるTimesTenデータベース間で共有されます。

グローバル・キャッシュ・グループとして定義できるのは、AWTキャッシュ・グループのみです。

ローカル・キャッシュ・グループおよびグローバル・キャッシュ・グループの詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』のキャッシュ・グリッド間でのデータの共有: ローカル・キャッシュ・グループおよびグローバル・キャッシュ・グループに関する説明を参照してください。

図7-2 キャッシュ・グループ・タイプの定義

キャッシュ・グループおよびキャッシュ表属性の定義

「キャッシュ・グループの作成」ダイアログの「キャッシュ・グループ属性」タブ内で、ユーザー管理キャッシュ・グループを作成し、「表の属性」セクションで「自動リフレッシュ」を選択して、「すべての表が読取り専用」または「すべての表の伝播」が選択されたときに、自動リフレッシュを有効化する場合、または読取り専用キャッシュ・グループを作成する場合は、自動リフレッシュの特性は次のようになります。

- 「モード」フィールドに「完全」または「インクリメンタル」のいずれかを選択して、自動リフレッシュ・モードを設定します。デフォルトの自動リフレッシュ・モードは「インクリメンタル」です。

- 「リフレッシュ間隔」フィールドで、数値と、分、秒またはミリ秒の時間単位を指定して、自動リフレッシュ間隔を設定します。デフォルトの自動リフレッシュ間隔は5分です。

- 「リフレッシュ状態」フィールドで、「一時休止」、「オン」または「オフ」のいずれかを選択して、自動リフレッシュ状態を設定します。デフォルトの自動リフレッシュ状態は「一時休止」です。

図7-3 自動リフレッシュ属性

キャッシュ・グループの自動リフレッシュの詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』のAUTOREFRESHキャッシュ・グループ属性に関する説明を参照してください。

読取り専用キャッシュ・グループの詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』の読取り専用キャッシュ・グループに関する説明を参照してください。

ユーザー管理キャッシュ・グループを作成する場合は、「キャッシュ・グループの作成」ダイアログの「キャッシュ・グループ属性」タブにある「表の属性」セクションから、次のいずれかを選択します。

- すべての表が読取り専用: すべてのキャッシュ表は読取り専用です。

- すべての表の伝播: すべてのキャッシュ表が更新可能で、キャッシュ表でコミットされた更新が対応するOracle表に伝播されます。

- 表によって異なる: 一部のキャッシュ表は読取り専用であり、その他のキャッシュ表は更新可能で、キャッシュ表でコミットされた更新が対応するOracle表に伝播される可能性があります。

図7-4 ユーザー管理キャッシュ・グループ属性

ユーザー管理キャッシュ・グループの詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』のユーザー管理キャッシュ・グループに関する説明を参照してください。

ルート表の定義

「キャッシュ・グループの作成」ダイアログで、「表」タブをクリックします。「表」パネルを右クリックして、「ルート表の追加」を選択します。

図7-5 ルート表の追加

「ルート表の選択」ダイアログが表示されます。キャッシュ・グループのルート表として指定するために選択できるOracle表およびOracleシノニムのリストが表示されます。主キーを持つOracle表およびNULLでない一意の索引を持つOracle表を選択できます。

表を選択し、「OK」をクリックします。

図7-6 ルート表の表およびシノニムのリスト

現在の接続ユーザーが所有するOracle表のみを表示するには、「自分の表のみ表示」を選択します。

Oracleシノニムのキャッシュの詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』のOracleシノニムのキャッシュに関する説明を参照してください。

キャッシュする列の選択

「キャッシュ・グループの作成」ダイアログの「表」タブ内の「列」タブで、「インライン」フィールドの下のチェック・ボックスを選択して、列にINLINE属性を指定します。VARCHAR2、NVARCHAR2およびVARBINARY型の列に、INLINE属性を指定できます。

キャッシュ済の列ごとに、「NULL値を許可」フィールドの下のチェック・ボックスを選択して、NULL値を受け入れます。デフォルトでは、キャッシュ表の列にNULL値を指定できるかどうかは、対応するOracle表の列にNULL値を指定できるかどうかと同じです。

キャッシュする列ごとに、「キャッシュ済」フィールドの下のチェック・ボックスを選択します。デフォルトでは、表のすべての列が選択され、キャッシュされます。Oracle表の一意識別列(主キー、一意索引または一意制約)は、TimesTenキャッシュ表に含まれている必要があり、キャッシュ表の主キーを構成します。

Oracle表の一意識別列以外のすべての列を選択または選択解除する場合、NULL値を受け入れる場合またはキャッシュする場合は、「NULL値を許可」フィールドおよび「キャッシュ済」フィールドの左側に表示されるチェック・ボックスをそれぞれ選択または選択解除します。

キャッシュ表およびキャッシュ・グループの特性の詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』のキャッシュ・グループおよびキャッシュ表に関する説明を参照してください。

互換性があるTimesTenデータ型を複数持つOracleデータ型があります。複数のTimesTenデータ型をマップできるデータ型を持つOracle表の列の場合、「TimesTenのデータ型」フィールドの下にメニューが表示されます。キャッシュ表の列に必要なデータ型を選択します。Oracleデータ型と互換性のあるデフォルトのTimesTenデータ型は斜体で表示されます。

Oracleデータ型とTimesTenデータ型間の互換性の詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』のOracleデータ型とTimesTenデータ型間のマッピングに関する説明を参照してください。

更新可能なキャッシュ表に対して、キャッシュ済の各列の「デフォルト値」フィールドの下でデフォルトの列値を指定して、デフォルト値を定義できます。デフォルトでは、キャッシュ表の列のデフォルト値は、対応するOracle表の列のデフォルト値と同じです。

表属性の指定

デフォルトでは、TimesTenによってキャッシュ表の主キー列にレンジ索引が作成されます。主キー列にレンジ索引ではなくハッシュ索引を作成するには、「キャッシュ・グループの作成」の「表」タブ内の「表の属性」タブの「主キー」セクションで、「ハッシュの使用」を選択します。「ハッシュ・サイズ設定ポリシー」メニューおよびコロン(:)の後の近隣のフィールド(数値が必要)に、基礎となるキャッシュ表の予想される行の最大数または索引に割り当てるページ数のいずれかを指定して、ハッシュ索引のサイズを設定する必要があります。デフォルトの選択は、「現在の表の行数」です。

図7-7 主キー属性

キャッシュ表の主キー列に自動的に作成される索引の詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス』のCREATE CACHE GROUPに関する説明を参照してください。

ハッシュ索引の適切なサイズ設定の詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス』のCREATE TABLEに関する説明を参照してください。

デフォルトでは、キャッシュ表の主キー列は、対応するOracleデータベース表の主キー列と同じです。異なる列または一連の列をキャッシュ表の主キーとして定義することができます。

「キャッシュ・グループの作成」ダイアログの「表」タブ内の「表の属性」タブにある「手動表管理」セクションで、「主キーの再定義」をクリックします。

図7-8 主キーの再定義

「主キーの定義」ダイアログで、「NULLではない一意の列」リストに、対応するOracle表のNULLを許可しない一意の列が表示されます。キャッシュ表の主キーの列を選択してから、「>>」を選択して、これらの列を「主キー」リストに移動します。列にレンジ索引が作成される場合は、コンポジット主キーの列の順序が重要になります。「OK」をクリックして、キャッシュ表の代替主キーを定義します。

図7-9 新規主キーの定義

キャッシュ表の主キーが対応するOracle表の主キーと異なる列セットで構成されている場合、キャッシュ表または対応するOracle表でコミットされた更新が実行されると、表が非同期化になる場合があります。次の場合に、一意制約違反が発生します。

- キャッシュ表でコミットされた更新が対応するOracle表に伝播される場合

- Oracle表でコミットされた更新が対応するキャッシュ表にリフレッシュされる場合

「キャッシュ・グループの作成」の「表」タブ内の「表の属性」タブにある「WHERE句」フィールドで、キャッシュ表にオプションのWHERE句を指定できます。WHERE句は、自動リフレッシュが定義されている読取り専用キャッシュ・グループまたはユーザー管理キャッシュ・グループの表定義でのみ使用できます。

図7-10 WHERE句の指定

キャッシュ・グループの表定義でのWHERE句の指定の詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』のWHERE句の使用に関する説明を参照してください。

キャッシュ表がユーザー管理キャッシュ・グループにあり、「キャッシュ・グループの作成」ダイアログの「キャッシュ・グループ属性」タブ内の「表の属性」セクションで「表によって異なる」が選択されている場合、キャッシュ表に表属性を指定する必要があります。

「キャッシュ・グループの作成」の「表」タブ内の「表の属性」タブにある「伝播タイプ」セクションで、次を選択します。

- 読取り専用: キャッシュ表を読取り専用として定義します

- 伝播: キャッシュ表を更新可能として定義します(表での更新が対応するOracle表に伝播されます)

- 両方なし: キャッシュ表を更新可能として定義します(表での更新は対応するOracle表に伝播しない)

デフォルトでは、ユーザー管理キャッシュ・グループのキャッシュ表は更新可能で、表の更新は対応するOracle表には伝播されません。

エージング・ポリシーの指定

「キャッシュ・グループの作成」ダイアログの「経過」タブで、キャッシュ表にエージング・ポリシーを指定できます。エージング・ポリシーは、キャッシュ・グループのルート表で明示的に定義され、すべての子表に暗黙的に適用されます。

次のいずれかを選択します。

- 使用方法ベース: 最低使用頻度(LRU)エージング・ポリシーを定義します。

- 時間ベース: 時間ベースのエージング・ポリシーを定義します。

- 経過なしエージング・ポリシーを定義しません。

LRUエージング・ポリシーは、自動リフレッシュが定義されていない明示的にロードされるAWT、SWTまたはユーザー管理キャッシュ・グループの表に定義することができます。グローバルで明示的にロードされるキャッシュ・グループでは、デフォルトのエージング状態はOFFに設定されています。自動リフレッシュが定義されていない動的キャッシュ・グループでは、デフォルトのエージング状態はオンに設定されており、エージングのタイプは、使用方法ベースに設定されています。

「使用方法ベース」を選択すると、LRUエージングが適用される表からのデータの削除を開始および停止するタイミングを決定する、TimesTenデータベースのメモリー使用量のしきい値が表示されます。表からのデータの削除が開始されるタイミングを決定するデフォルトの使用量しきい値は90%です。表からのデータの削除を停止するタイミングを決定するデフォルトの使用量しきい値は80%です。デフォルトのLRUエージングのサイクルは1分です。

メモリー使用量のしきい値およびLRUエージング・サイクルの変更の詳細は、「メモリー使用量のしきい値およびLRUエージング・サイクルの変更」を参照してください。

図7-11 使用方法ベースのエージングの指定

キャッシュ表でのLRUエージング・ポリシーの定義の詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』のLRUエージングに関する説明を参照してください。

時間ベースのエージング・ポリシーは、NULLを許可しないDATE列またはTIMESTAMP列が含まれるキャッシュ表に定義できます。これらのデータ型の表の列は、「時間ベース」が選択されると、「キャッシュ・グループの作成」ダイアログの「経過」タブ内の「列」に表示されます。各行が挿入された時間または最新の更新時間を示すタイムスタンプ値を格納する列を選択します。

「存続期間」フィールドで、数値と、ドロップダウン・メニュー・リストから分、時間または日の時間単位を指定して、更新されたデータが表で保持される期間を指定します。

「サイクル」フィールドで、数値と、ドロップダウン・メニュー・リストから分、時間または日の時間単位を指定して、データが表からエージ・アウトされる頻度を指定します。デフォルトの時間ベースのエージング・サイクルは5分です。

「オン」または「オフ」を選択して、エージング状態を指定します。

図7-12 時間ベースのエージングの指定

キャッシュ表での時間ベースのエージング・ポリシーの定義の詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』の時間ベースのエージングに関する説明を参照してください。

ルート表定義の検証

キャッシュする表および列、主キー列に作成する索引のタイプ、オプションのWHERE句を含む表属性およびルート表のオプションのエージング・ポリシーを定義した後、「キャッシュ・グループの作成」ダイアログの「DDL」タブで、キャッシュ・グループおよびそのキャッシュ表の作成に使用するCREATE CACHE GROUP文を表示することができます。

キャッシュ・グループに子表を追加しない場合は、「適用」をクリックして、キャッシュ・グループおよびそのキャッシュ表を作成します。

図7-13 キャッシュ・グループ定義の検証

CREATE CACHE GROUP文の構文およびセマンティクの詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス』のCREATE CACHE GROUPに関する説明を参照してください。

子表の定義

「キャッシュ・グループの作成」ダイアログの「表」タブで、「表」パネル内を右クリックして、「子表の追加」を選択します。

「1つ以上の子表を選択します」ダイアログが表示されます。このダイアログには、キャッシュ・グループの子表として指定するために選択できるOracle表およびOracleシノニムのリストが表示されます。主キーを持つOracle表およびNULLでない一意の索引を持つOracle表を選択できます。

キャッシュ・グループの子表として指定する表を選択して、「OK」をクリックします。

Oracleシノニムのキャッシュの詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』のOracleシノニムのキャッシュに関する説明を参照してください。

図7-14 子表の表およびシノニムのリスト

複数の子表を選択するには、[Ctrl]キーを押したまま必要な表をクリックします。適切な親表の下に子表が表示されます。特定の子表をドラッグ・アンド・ドロップして、目的の親表の下に表示することもできます。

現在の接続ユーザーが所有するOracle表のみを表示するには、「自分の表のみ表示」を選択します。

キャッシュする列の選択

子表をクリックして、「キャッシュ・グループの作成」ダイアログの「表」タブ内の「列」タブで、キャッシュされる各列の「NULL値を許可」フィールドの下のチェック・ボックスを選択して、NULL値を受け入れます。デフォルトでは、キャッシュ表の列にNULL値を指定できるかどうかは、対応するOracle表の列にNULL値を指定できるかどうかと同じです。

キャッシュする列ごとに、「キャッシュ済」フィールドの下のチェック・ボックスを選択します。デフォルトでは、表のすべての列が選択され、キャッシュされます。Oracle表の一意識別列は、TimesTenキャッシュ表に含まれている必要があり、キャッシュ表の主キーを構成します。また、親表を参照するOracle表の外部キー列もキャッシュ表に含まれている必要があります。

Oracle表の一意識別列および親表を参照する外部キー列以外のすべての列を選択または選択解除する場合、NULL値を受け入れる場合またはキャッシュする場合は、「NULL値を許可」フィールドおよび「キャッシュ」フィールドの左側に表示されるチェック・ボックスを選択または選択解除します。

データ型を複数のTimesTenデータ型にマップできるOracle表の列の「TimesTenのデータ型」フィールドの下にドロップダウン選択リストが表示されます。子キャッシュ表の列に必要なデータ型を選択します。

更新可能なキャッシュ表で、デフォルト値を定義する子キャッシュ表のキャッシュされる各列の「デフォルト値」フィールドにデフォルトの列値を指定できます。

表属性の指定

「キャッシュ・グループの作成」ダイアログの「表」タブ内の「表の属性」タブで、ルート表に指定したときと同じ形式で子キャッシュ表の主キー列にレンジ索引またはハッシュ索引を作成するかどうかを選択します。ルート表に指定したときと同じ形式で、キャッシュ表の主キーとして、対応するOracle表の列とは異なる列または列セットを定義することができます。また、ルート表に指定したときと同じ形式で、キャッシュ表にオプションのWHERE句を指定することもできます。WHERE句は、自動リフレッシュが定義されている読取り専用キャッシュ・グループまたはユーザー管理キャッシュ・グループの表定義でのみ使用できます。

図7-15 子表への属性の指定

参照キー値を含む行が親表から削除されると、依存する外部キー値を持つ子表の行も削除されるように、子表の外部キー列でカスケード削除を有効にする場合は、「外部キーのカスケード削除」を選択します。

デフォルトでは、子キャッシュ表の外部キー列は、対応するOracle表の外部キー列と同じです。キャッシュ表の外部キーとして異なる列または列セットを定義することができます。

「キャッシュ・グループの作成」ダイアログの「表」タブ内の「表の属性」タブにある「手動表管理」セクションで、「外部キーの再定義」を選択します。図7-15「子表への属性の指定」を参照してください。

「外部キーの定義」ダイアログで、「外部キー」ドロップダウン・リストに親表の主キー列と互換性のあるデータ型の子表の列が表示されます。キャッシュ表の外部キーに列を選択します。「OK」をクリックして、キャッシュ表の代替外部キーを定義します。

図7-16 外部キーの定義

複数表のキャッシュ・グループのキャッシュ表の階層および関係の詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』の複数表のキャッシュ・グループに関する説明を参照してください。

子キャッシュ表が、「キャッシュ・グループの作成」ダイアログの「キャッシュ・グループ属性」タブ内の「表の属性」セクションで「表によって異なる」を選択したユーザー管理キャッシュ・グループにある場合は、キャッシュ表の属性をルート表と同じ形式で指定します。キャッシュ表が更新可能である場合に、表の更新が対応するOracle表に伝播されるかどうかを指定します。

子表の定義の完了

キャッシュする列、主キー列に作成する索引のタイプ、外部キー列のカスケード削除の設定および残りの子表に対するオプションのWHERE句を含む表属性を定義します。

キャッシュ・グループ定義の検証

「キャッシュ・グループの作成」ダイアログの「DDL」タブで、キャッシュ・グループおよびそのキャッシュ表の作成に使用するCREATE CACHE GROUP文を表示できます。

「適用」をクリックして、キャッシュ・グループおよびそのキャッシュ表を作成します。

図7-17 キャッシュ・グループ定義の表示

AWTキャッシュ・グループを作成した場合は、そのキャッシュ表でコミットされた更新用にレプリケーション・エージェントを起動して、対応するOracle表に非同期的に伝播する必要があります。レプリケーション・エージェントの起動方法の詳細は、「レプリケーション・エージェントの起動」を参照してください。

グローバル・キャッシュ・グループを作成した場合、キャッシュ・グループまたはそのキャッシュ表に操作を実行する前に、関連付けられているキャッシュ・グリッドにTimesTenデータベースをアタッチする必要があります。このタスクは、SQL Developerの外部でttIsqlユーティリティなどのコマンドライン・インタフェースを使用するか、SQL Developer内部でSQLワークシートを使用して実行する必要があります。詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』のキャッシュ・グリッドへのTimesTenデータベースのアタッチに関する説明を参照してください。

キャッシュ・グループの削除

キャッシュ・グループを削除すると、そのキャッシュ表も削除されます。

TimesTenデータベースの接続名のノード内の「キャッシュ・グループ」ノードの下で、削除対象のキャッシュ・グループの名前を右クリックして、「削除」を選択します。

図7-18 キャッシュ・グループの削除

「適用」をクリックして、キャッシュ・グループを削除します。

図7-19 キャッシュ・グループの削除の確認

キャッシュ・グループの削除の詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』のキャッシュ・グループの削除に関する説明を参照してください。

8 キャッシュ・グループの操作

この章では、キャッシュ・グループで実行する操作について説明します。内容は次のとおりです。

- キャッシュ・グループのロードまたはリフレッシュ

- キャッシュ・グループのアンロード

- キャッシュ・グループのフラッシュ

キャッシュ・グループのロードまたはリフレッシュ

「キャッシュ・グループ」ノードの左側にある「+」をクリックして、キャッシュ・グループのリストを表示します。次に、ロードまたはリフレッシュ対象のキャッシュ・グループの名前を右クリックします。「ロード」をクリックしてキャッシュ・グループをロードするか、「リフレッシュ」をクリックしてキャッシュ・グループをリフレッシュします。

図8-1 キャッシュ・グループの操作

キャッシュ・グループをロードまたはリフレッシュするには、キャッシュ・エージェントが実行中である必要があります。キャッシュ・エージェントの起動方法の詳細は、「キャッシュ・エージェントの起動および停止」を参照してください。

自動リフレッシュが定義された読取り専用キャッシュ・グループまたはユーザー管理キャッシュ・グループでは、キャッシュ・グループをロードまたはリフレッシュする前に、自動リフレッシュ状態を一時休止に設定する必要があります。キャッシュ・グループの自動リフレッシュ状態の変更の詳細は、「キャッシュ・グループの自動リフレッシュ属性の変更」を参照してください。

「ロード」または「リフレッシュ」ダイアログの「プロンプト」タブで、「n行ごとにコミット」フィールドに数値を指定して、キャッシュ・グループにロードまたはリフレッシュされる行の数に基づいて、ロードまたはリフレッシュ操作中にコミットが発行される頻度を示します。デフォルトでは、キャッシュ・グループで256行がロードまたはリフレッシュされるたびに、トランザクションがコミットされます。

「ロード」または「リフレッシュ」ダイアログ・ボックスの「プロンプト」タブにある「パラレルに実行するスレッドの数」フィールドで、ロードまたはリフレッシュ操作で生成または使用するキャッシュ・エージェント・プロセス・スレッドの数を指定します。ロードまたはリフレッシュ操作のパラレル処理によって、操作のスループットが向上する場合があります。このフィールドに10を超える値は指定できず、パラレルのロードまたはリフレッシュ操作専用のシステムのCPUの数を超えないようにする必要があります。デフォルト値1は、ロード操作またはリフレッシュ操作が順次処理されることを示します。キャッシュ・グループのパラレル・ロードまたはパラレル・リフレッシュの詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』の多数のキャッシュ・インスタンスのロードおよびリフレッシュにおけるパフォーマンスの向上に関する説明を参照してください。

「ロード」または「リフレッシュ」ダイアログの「プロンプト」タブにある「WHERE句」フィールドで、ロードまたはリフレッシュ操作にオプションのWHERE句を指定できます。AWT、SWT、または自動リフレッシュが定義されていないユーザー管理キャッシュ・グループでのロードまたはリフレッシュ操作にWHERE句を使用できます。ロードまたはリフレッシュ操作でのWHERE句の指定の詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』のキャッシュ・グループのロードおよびリフレッシュに関する説明を参照してください。

「適用」をクリックして、キャッシュ・グループをロードまたはリフレッシュします。

キャッシュ・グループのロードまたはリフレッシュの詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』のキャッシュ・グループのロードおよびリフレッシュに関する説明を参照してください。

キャッシュ・グループのアンロード

「キャッシュ・グループ」ノードの左側にある「+」をクリックして、キャッシュ・グループのリストを表示します。次に、アンロード対象のキャッシュ・グループの名前を右クリックします。「アンロード」を選択して、キャッシュ・グループをアンロードします。図8-1「キャッシュ・グループの操作」を参照してください。

「アンロード」ダイアログの「プロンプト」タブにある「WHERE句」フィールドで、アンロード操作にオプションのWHERE句を指定します。AWT、SWT、または自動リフレッシュが定義されていないユーザー管理キャッシュ・グループでのアンロード操作にWHERE句を使用できます。

「適用」をクリックして、キャッシュ・グループをアンロードします。

図8-2 オプションのWHERE句を指定したアンロード/リフレッシュ

キャッシュ・グループのアンロードの詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』のキャッシュ・グループのアンロードに関する説明を参照してください。

キャッシュ・グループのフラッシュ

すべてが読取り専用または更新可能(表の更新は対応するOracle表に伝播される)ではないキャッシュ表が含まれるユーザー管理キャッシュ・グループのみフラッシュできます。

「キャッシュ・グループ」ノードの左側にある「+」をクリックして、キャッシュ・グループのリストを表示します。次に、フラッシュ対象のキャッシュ・グループの名前を右クリックします。「フラッシュ」を選択して、キャッシュ・グループをフラッシュします。図8-1「キャッシュ・グループの操作」を参照してください。

「フラッシュ」ダイアログの「プロンプト」タブにある「WHERE句」フィールドで、フラッシュ操作にオプションのWHERE句を指定します。

「適用」をクリックして、キャッシュ・グループをフラッシュします。図8-2「オプションのWHERE句を指定したアンロード/リフレッシュ」を参照してください。

キャッシュ・グループのフラッシュの詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』のユーザー管理キャッシュ・グループのフラッシュに関する説明を参照してください。

9 キャッシュ・グループおよびキャッシュ表の特性

この章では、キャッシュ表特性の表示について説明します。キャッシュ・グループの作成後に、キャッシュ・グループのタイプ、自動リフレッシュ属性およびエージング・ポリシー(ある場合)を含むキャッシュ・グループの特性を表示できます。また、自動リフレッシュ属性を変更することもできます。

内容は次のとおりです。

- 次のキャッシュ・グループの特性の表示

- キャッシュ表の表示

- キャッシュ・グループ定義の表示

- エージング属性の表示

- キャッシュ・グループの自動リフレッシュ属性の変更

キャッシュ・グループの特性の表示

「キャッシュ・グループ」ノードの左側にある「+」をクリックして、キャッシュ・グループのリストを表示します。次に、キャッシュ・グループの名前をクリックします。

図9-1 キャッシュ・グループのリスト

「キャッシュ詳細」タブには、キャッシュ・グループのタイプ、ルート表の名前、キャッシュ・グループの表の数などの情報が表示されます。

自動リフレッシュが定義されている読取り専用キャッシュ・グループおよびユーザー管理キャッシュ・グループでは、自動リフレッシュのモード、間隔および状態が表示されます。

図9-2 キャッシュ・グループの詳細表示

キャッシュ表の表示

キャッシュ・ぐるーぷにキャッシュ表のリストを表示するには、「キャッシュ・グループ」ノードを右クリックし、キャッシュ・グループの名前が含まれているノードの左側にある「+」をクリックします。

図9-3 キャッシュ・グループ表の表示

キャッシュ・グループ定義の表示

CREATE CACHE GROUP文を表示するには、「キャッシュ・グループ」タブを選択してから、「SQL」タブを選択します。

図9-4 キャッシュ・グループ定義の表示

キャッシュ・グループが見つからない場合は、「TimesTenデータベース・オブジェクトの検索」を参照してください。

エージング属性の表示

「キャッシュ・グループ」タブ内にある「エージング属性」タブには、エージング・ポリシーが定義されたキャッシュ・グループのエージング・ポリシー・タイプ、エージング・サイクルおよびエージング状態が表示されます。

LRUエージング・ポリシーが適用されたキャッシュ・グループでは、TimesTenデータベースのメモリー使用量のしきい値が表示されます。LRUエージングおよびLRUしきい値の詳細は、「エージング・ポリシーの指定」を参照してください。

時間ベースのエージング・ポリシーが適用されたキャッシュ・グループでは、タイムスタンプ値(各行が追加された日時または最新の更新日時を示す)、および更新されていないデータが削除されない期間を格納するために使用する、NULL値を許可しないDATEまたはTIMESTAMP列の名前が表示されます。

図9-5 エージング属性の表示

キャッシュ・グループの自動リフレッシュ属性の変更

自動リフレッシュが定義されている読取り専用キャッシュ・グループまたはユーザー管理キャッシュ・グループの自動リフレッシュ属性を変更できます。

「キャッシュ・グループ」ノードの下で、キャッシュ・グループの名前を右クリックして、「自動リフレッシュ」を選択します。図8-1「キャッシュ・グループの操作」を参照してください。

「自動リフレッシュ」ダイアログの「プロンプト」タブで、次の自動リフレッシュ属性を変更できます。

- 自動リフレッシュ・モードを変更するには、「モード」フィードで、「インクリメンタル」または「完全」のいずれかを選択します。

- 自動リフレッシュ間隔を変更するには、「リフレッシュ間隔」フィールドで、数値間隔と、分、秒またはミリ秒の時間単位を指定します。

- 自動リフレッシュ状態を変更するには、「リフレッシュ状態」フィールドで、「一時休止」、「オン」または「オフ」を選択します。

「適用」をクリックします。

図9-6 自動リフレッシュのキャッシュ・オプションの表示

キャッシュ・グループの自動リフレッシュの詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』のAUTOREFRESHキャッシュ・グループ属性に関する説明を参照してください。

10 TimesTenレプリケーションとのインタフェース

レプリケーション・スキームは、オブジェクトでコミットされた更新が実行されたときに、2つ以上のTimesTenデータベース間でレプリケートされるオブジェクト・セットを定義します。レプリケーションは、非同期転送または同期転送による一方向または双方向の形式で、表レベルまたはデータベース・レベルで構成できます。

この章では、サブスクライバ・データベースおよびSTORE属性を含むレプリケーション・スキームの表示について説明します。また、この章では、レプリケーション・エージェントの起動方法についても説明します。

内容は次のとおりです。

- 次を含むレプリケーション・スキームの表示

- TimesTenサブスクライバ・データベースの詳細の表示

- レプリケートされたTimesTenデータベースのストア属性の表示

- レプリケーション・エージェントの起動

レプリケーション・スキームの表示

レプリケーション・スキームを作成するには、CREATE REPLICATIONまたはCREATE ACTIVE STANDBY PAIR文を手動で構成して、SQL Developerの外部でttIsqlユーティリティなどのコマンドライン・インタフェースを使用して実行するか、SQL Developer内部でSQLワークシートを使用して実行します。レプリケーション・スキームの作成後、属するTimesTenデータベースのデータベース名とホスト名や、そのレプリケート・オブジェクトなどのスキームの特性を表示できます。

AWTキャッシュ・グループを作成すると、レプリケーション・スキームが自動的に作成されます。このレプリケーション・スキームはTTREPユーザーが所有します。

「レプリケーション・スキーム」ノードの左側にある「+」をクリックして、レプリケーション・スキームのリストを表示します。表示するレプリケーション・スキームの名前をクリックします。

図10-1 レプリケーション・スキームの表示

アクティブ・スタンバイ・ペアのレプリケーション・スキームの名前は_ACTIVESTANDBYで、既存のデータベース・ユーザーの「レプリケーション・スキーム」ノードの下にあります。

自動的に作成され、AWTキャッシュ・グループでの更新が対応するOracle表に伝播されるレプリケーション・スキームの名前は、_AWTREPSCHEMEです。

検索しているレプリケーション・スキームが見つからない場合は、「TimesTenデータベース・オブジェクトの検索」を参照してください。

TimesTenサブスクライバ・データベースの詳細の表示

レプリケーション・スキーマのタブ内にある「サブスクライバ詳細」タブには、マスターおよびサブスクライバTimesTenデータベースのデータベース名およびホスト名、レプリケートされたオブジェクトの型とデータベース名、戻りサービス・タイプなどの情報が表示されます。

図10-2 サブスクライバの表示

レプリケートされたTimesTenデータベースのストア属性の表示

レプリケーション・スキーマのタブ内にある「ストア属性」タブには、TimesTenデータベース名、ホスト名、レプリケーション・エージェントのポート番号、レプリケーションのレスポンスのタイムアウト時間およびレプリケーション・スキームに属するすべてのデータベースのトランザクション・ログ失敗のしきい値が表示されます。

戻りサービスのあるレプリケーション・スキームには、戻りサービス失敗ポリシー、確認応答のタイムアウト間隔および再有効化ポリシーが表示されます。

図10-3 ストア属性の表示

レプリケーション・スキームの作成の詳細は、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のレプリケーション・スキームの定義に関する説明を参照してください。

レプリケーション・エージェントの起動

レプリケーション・エージェント・プロセスでは、マスターTimesTenデータベースのレプリケート表でコミットされた更新をサブスクライバTimesTenデータベースの対応するレプリケート表に転送します。また、レプリケーション・エージェントは、AWTキャッシュ・グループのキャッシュ表でコミットされた更新を対応するOracle表に非同期的に伝播します。レプリケーション・スキームまたはAWTキャッシュ・グループの作成後、レプリケーション・エージェントが実行していない場合は、起動する必要があります。

レプリケーション・エージェントを起動するには、TimesTenデータベースの接続名のノードを右クリックして、「レプリケーション・エージェントの開始/停止」を選択します。図1-7「TimesTen接続の表示」を参照してください。

「レプリケーション・エージェントの開始中/停止中」ダイアログが表示されます。「プロンプト」タブで、「エージェントの開始」を選択します。「適用」をクリックします。

TimesTen接続にレプリケーション・スキームまたはAWTキャッシュ・グループがない場合、レプリケーション・エージェントは起動されません。

実行中のレプリケーション・エージェント・プロセスを停止するには、TimesTenデータベースの接続名のノードを右クリックして、「レプリケーション・エージェントの開始/停止」を選択します。図1-7「TimesTen接続の表示」を参照してください。

「レプリケーション・エージェントの開始中/停止中」ダイアログが表示されます。「プロンプト」タブで、「エージェントの停止」を選択します。「適用」をクリックします。

レプリケーション・エージェント・プロセスの詳細は、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』の「レプリケーション・エージェントの起動と停止」、または、『Oracle In-Memory Database Cacheユーザーズ・ガイド』の「レプリケーション・エージェントの管理」を参照してください。

11 TimesTenパフォーマンス・メトリックの使用

TimesTenによって、TimesTenシステム表、システム・ビューおよび組込みプロシージャからパフォーマンス・メトリックが収集されます。SQL Developerでは、スナップショットを取得し、2つのスナップショットを比較したレポートを生成できます。スナップショットは、パフォーマンス・メトリックの収集です。

注意:
SQL Developerでは、TT_STATS PL/SQLパッケージのファンクションを使用してスナップショットを取得し、2つのスナップショットを比較したレポートを生成します。TT_STATS PL/SQLパッケージの詳細は、『Oracle TimesTen In-Memory Database PL/SQLパッケージ・リファレンス』のTT_STATSに関する項を参照してください。

TimesTenパフォーマンス・メトリックを使用する前に次を確認してください。

- Oracle TimesTen In-Memory Databaseリリース11.2.2.5 (以上)を使用していること。

- TimesTen接続ユーザーにTT_STATS PL/SQLパッケージでの実行権限があること。

この章では、TimesTenパフォーマンス・メトリックの使用方法について説明します。

内容は次のとおりです。

- スナップショットの作成

- スナップショットの削除

- TimesTenパフォーマンス・メトリック構成の編集

- TimesTenパフォーマンス・メトリック・レポートの作成

スナップショットの作成

スナップショットは、データベースのパフォーマンス・メトリックの収集です。2つのスナップショットを比較したレポートを作成して、データベースのパフォーマンスを分析できます。

データベースの新しいスナップショットを作成するには、SQL Developerのメイン・ページで作業を行っていること、および、接続ナビゲータでTimesTen接続を展開していることを確認してください。

1. データベースの名前を右クリックして、「TimesTenパフォーマンス・メトリック」→「スナップショットの作成」を選択します。

図11-1スナップショットの作成

「新規TimesTenメトリック・スナップショット」ダイアログが表示されます。

2. 「新規TimesTenメトリック・スナップショット」ダイアログの「プロンプト」タブで、「取得レベル」ドロップダウン・リストから目的の取得レベルを選択します。

- 標準: 標準セットのメトリック向け。このレベルはほとんどの用途に適しています。

- なし: SYS.SYSTEMSTATS以外のメトリック専用。

- 基本: 最小限の基本セットのメトリック向け。

- すべて: すべての使用可能なメトリック向け。

レポートで使用する2つのスナップショットには、同じ取得レベルを使用してください。取得レベルの異なる2つのスナップショットを比較するレポートを生成しようとすると、エラー・ダイアログが表示されます。

図11-2 「新規TimesTenメトリック・スナップショット」ダイアログ

新規スナップショットを作成する準備が整いました。

3. 「適用」をクリックして、スナップショットを作成します。

図11-3 新規スナップショットの作成

確認ダイアログにスナップショットのID番号が表示されます。スナップショットIDが生成されます。

4. 「OK」をクリックします。

図11-4 スナップショットIDの確認

特定のスナップショットIDを持つスナップショットが作成されます。スナップショットIDは、TimesTenメトリック・レポートを作成する場合に有用です。

スナップショットの削除

永続スペースを開放するために、不要なスナップショットの削除を検討してください。多くのスナップショットを保存する必要がある場合は、TimesTenパフォーマンス・メトリック構成の編集を検討してください。「TimesTenパフォーマンス・メトリック構成の編集」を参照してください。

データベースから新規スナップショットを削除するには、SQL Developerのメイン・ページで作業を行ってください。

1. データベースの名前を右クリックして、「TimesTenパフォーマンス・メトリック」→「スナップショットの削除」を選択します。

図11-5 スナップショットの削除

2. デフォルトでは、「TimesTenメトリック・スナップショットの削除」ダイアログの「Prompts」タブが選択されています。「セレクタ」列で、削除するスナップショットを選択します。
また、列のヘッダーをクリックすると、その列に基づいて表がソートされます。各列の説明は次のとおりです。

- 「セレクタ」
削除するスナップショットを決定するために選択するチェック・ボックス。

- 「スナップショット」
スナップショットのスナップショットID。

- 「タイムスタンプ」
スナップショットが取得された時点のタイムスタンプ。

- 取得レベル
スナップショットの取得レベル。この値は、「標準」、「なし」、「基本」または「すべて」です。

すべてのスナップショットを選択するには、「すべて選択」チェック・ボックスを選択します。

3. 削除するスナップショットを選択した後に、「適用」ボタンをクリックします。

図11-6 削除するスナップショットの選択

「確認」ダイアログが表示されて、選択したスナップショットの削除を続行するかどうかを確認されます。

4. 「はい」をクリックします。

図11-7 スナップショット削除の確認ダイアログ

確認ダイアログに、1つまたは複数のTimesTenメトリックのスナップショットが削除されたことを示すメッセージが表示されます。

5. 「OK」をクリックします。

図11-8 削除されたスナップショット

TimesTenメトリックのスナップショットが正常に削除されました。

TimesTenパフォーマンス・メトリック構成の編集

TimesTenパフォーマンス・メトリック構成で、最大スナップショット数および最大スナップショット保存サイズを変更できます。これらの構成設定は、データベースの永続スペースの不足を防ぎ、より多くのスナップショットを保存するために有用です。

最大スナップショット数または最大スナップショット保存サイズに達すると、永続スペースを開放するために最も古いスナップショットが削除されます。デフォルトでは、最大スナップショット数は256で、最大スナップショット保存サイズは256MBです

データベースのTimesTenパフォーマンス・メトリック構成を編集するには、SQL Developerのメイン・ページで作業してください。

1. データベースの名前を右クリックして、「TimesTenパフォーマンス・メトリック」→「構成の編集」を選択します。

図11-9 TimesTenパフォーマンス・メトリック構成の編集

「TimesTenメトリック構成」ダイアログが表示されて、TimesTenメトリックの現在の構成が示されます。

2. 「TimesTenメトリック構成」ダイアログの「プロンプト」タブが選択されています。「最大スナップショット数」フィールドにスナップショットの最大数を示す数値を指定します。デフォルトでは、スナップショットの最大数は256です。

3. 「最大スナップショット保存サイズ」(MB)フィールドに、格納するすべてのスナップショットの最大合計サイズをメガバイト単位で指定します。デフォルトでは、最大スナップショット保存サイズは256MBです。

4. 「適用」をクリックします。

図11-10 「TimesTenメトリック構成」ダイアログ

新しいTimesTenメトリック構成の設定が正常に適用されました。

TimesTenパフォーマンス・メトリック・レポートの作成

TimesTenパフォーマンス・メトリック・レポートでは、TimesTenメトリックの特定の2つのスナップショットのデータを使用してHTML形式のレポートを作成します。TimesTenメトリック・レポートには、各メトリック用の情報が含まれます。レポートに表示される様々なメトリックの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の「レポート例」に関する項を参照してください。

データベースの新規レポートを生成するには、SQL Developerのメイン・ページで作業してください。

1. データベースの名前を右クリックして、「TimesTenパフォーマンス・メトリック」→「レポート」を選択します。

図11-11 レポートの作成

「TimesTenメトリック・レポートを作成します」ダイアログが表示されます。

2. デフォルトでは、「TimesTenメトリック・レポートを作成します」ダイアログの「レポート・ジェネレータ」タブが選択されています。「セレクタ」列で、比較する2つのスナップショットを選択します。
また、列のヘッダーをクリックすると、その列に基づいて表がソートされます。各列の説明は次のとおりです。

- 「セレクタ」
メトリック・レポートで比較するスナップショットを決定するチェックボックス。同じ取得レベルのスナップショットのみを2つ選択してください。3つ以上のスナップショットを比較するレポートを生成しようとすると、エラー・ダイアログが表示されます。

- 「スナップショット」
スナップショットのスナップショットID。

- 「タイムスタンプ」
スナップショットが取得された時点のタイムスタンプ。

- 取得レベル
スナップショットの取得レベル。この値は、「標準」、「なし」、「基本」または「すべて」です。

3. 同じ取得レベルのスナップショットを2つ選択した後に「レポートの生成」ボタンをクリックします。取得レベルの異なるスナップショットを比較するレポートを生成しようとすると、エラー・ダイアログが表示されます。

図11-12 TimesTenメトリック・レポートの作成

TimesTenメトリック・レポートが作成されます。「レポートの生成」ボタンの下のペインに、生成されたTimesTenメトリック・レポートを表示できます。

レポートに表示される様々なメトリックの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の「レポート例」に関する項を参照してください。

4. レポートを保存しない場合は、「閉じる」をクリックします。レポートを保存するには、「レポートの保存」を参照してください。

レポートの保存

今後の参照のためにレポートを保存するには、次の手順を実行します。

1. 「保存」をクリックします。
「保存」ダイアログが表示されます。

2. TimesTenメトリック・レポートを保存するディレクトリを選択します。

3. 「ファイル名」フィールドに、TimesTenメトリック・レポートの名前を定義します。
TimesTenメトリック・レポートのデフォルトのファイル名は、ttstats-snapshot_id_1-snapshot_id_2-YYYYMMDDHHMISS.htmlで、snapshot_id_1およびsnapshot_id_2は、レポートで比較する2つのスナップショットのスナップショットIDです。YYYYMMDDHHMISSは、レポートが生成された時点のタイムスタンプで、YYYYは年、MMは月、DD は日、HHは時、MIは分、SSは秒を表します。

4. 「保存」をクリックします。

図11-13 TimesTenメトリック・レポートの保存

SQL Developerにより、レポートが保存されます。

12 TimesTenレポート

データベースおよびそのオブジェクトに関するレポートを生成できます。また、独自のユーザー定義レポートを作成できます。

この章では、TimesTenが提供するレポートおよびユーザー定義のレポートの生成について説明します。

TimesTenレポートの生成

レポートを生成または作成するには、「SQL Developer」ナビゲータの左上隅にある「レポート」タブをクリックします。このタブが表示されていない場合、「表示」、「レポート」を選択します。SQL Developerでのレポートの生成および作成の詳細は、『Oracle SQL Developerユーザーズ・ガイド』を参照してください。

ユーザー定義のレポートを作成するか、TimesTenが提供するレポートを生成することができます。

ユーザー定義のレポートを作成するには、「ユーザー定義レポート」ノードの左側にある「+」記号をクリックします。

TimesTenが提供するレポートのリストを表示するには、「TimesTenレポート」ノードの左側にある「+」記号をクリックします。

TimesTenレポートは次のカテゴリに分類されます。

- データベース情報

- すべてのオブジェクト

- キャッシュ・グループ

- データベース管理

- PLSQL

- セキュリティ

- 表

データベース情報

次の2つのレポートを生成できます。

- TimesTen構成

- バージョン・バナー

「TimesTen構成」を選択して、現在のデータベース接続の属性設定に関するレポートを生成します。これらの属性の詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の組込みプロシージャttConfigurationに関する説明を参照してください。

「バージョン・バナー」を選択して、データベース・リリースに関するレポートを生成します。詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の組込みプロシージャttVersionに関する説明を参照してください。

すべてのオブジェクト

「すべてのオブジェクト」レポートには、TimesTenデータベースに接続されたユーザーがアクセス可能なデータベース・オブジェクトに関する情報がリストされています。次の3つのタイプのレポートがあります。

- すべてのオブジェクト

- タイプ別オブジェクト数

- パブリック・シノニム

「すべてのオブジェクト」を選択して、ユーザーがアクセス可能な各データベース・オブジェクトのレポートを生成します。このレポートには、オブジェクトの所有者、オブジェクトの名前、オブジェクトのタイプ(表、ビューなど)、オブジェクトが作成された日付、およびそのオブジェクトで最新DDL操作が実行された日付に関する情報が含まれています。最新のDDL操作の日付は、オブジェクトの定義への変更を決定する際に役立ちます。

「タイプ別オブジェクト数」を選択して、ユーザーおよびタイプ別のすべてのデータベース・オブジェクトの数についてのレポートを生成します。

「パブリック・シノニム」を選択して、パブリック・シノニムの名前およびパブリック・シノニムの基礎となるオブジェクト・タイプに関するレポートを生成します。

キャッシュ・グループ

「キャッシュ・グループ」レポートには、特定の接続に関連付けられているユーザーが所有するキャッシュ・グループに関する情報が含まれています。次のレポートがあります。

- キャッシュ・グループの詳細

- タイプ別のユーザー・キャッシュ・グループ数

「キャッシュ・グループの詳細」を選択して、次のキャッシュ・グループのレポートを表示します。

- 非同期ライトスルー・キャッシュ・グループ

- 読取り専用キャッシュ・グループ

- 同期ライトスルー・キャッシュ・グループ

- ユーザー管理キャッシュ・グループ

「タイプ別のユーザー・キャッシュ・グループ数」を選択して、キャッシュ・グループのタイプおよびキャッシュ・グループの各タイプの数を示すレポートを表示します。

データベース管理

データベース管理レポートには次の情報が含まれています。

- すべての表

- ユーザー

「すべての表」を選択して、TimesTenデータベースに接続されているユーザーがアクセスできる表、列、制約および索引の名前に関するレポートを生成します。

「ユーザー」を選択して、内部および外部のすべてのデータベース・ユーザーに関するレポートを生成します。

パフォーマンス

「パフォーマンス」レポートには次が含まれます。

- 「統計構成」

- 「統計レポート」

- 「統計スナップショット」

TimesTenデータベースの現行の統計構成についてのレポートを生成するには、「統計構成」を選択します。

最新の2つの統計スナップショットを同じ取得レベルで比較したHTMLレポートを生成するには、「統計レポート」を選択します。

現在使用可能なすべての統計スナップショットレポートを生成するには、「統計スナップショット」を選択します。このレポートには、スナップショットのID、スナップショット取得時点のタイムスタンプおよびスナップショットの取得レベルに関する情報が含まれます。

パフォーマンス・メトリックの詳細は、第11章「TimesTenパフォーマンス・メトリックの使用」を参照してください。

PLSQL

次の3つのレポートを生成できます。

- プログラム・ユニット引数

- ソース・コードの検索

- ユニット行数

これらのレポートは、PL/SQLプロシージャ、ファンクションおよびパッケージ用に生成されます。

セキュリティ

「セキュリティ」レポートには、TimesTenデータベースに接続されているユーザーに付与されたシステム権限およびオブジェクト権限に関する情報が示されています。また、「セキュリティ」レポートには、PUBLICロールに付与された権限に関する情報も示されています。

セキュリティ・レポートは、次の2つのカテゴリに分類されます。

- 権限付与および権限

- パブリック権限付与

「権限付与および権限」レポートを選択して、TimesTenデータベースに接続されているユーザーに付与されたシステム権限およびオブジェクト権限に関する情報を表示します。「パブリック権限付与」を選択して、PUBLICロールに付与された権限に関する情報を表示します。「パブリック権限付与」レポートには、次の情報が含まれます。

- すべての権限付与

- 付与者別件数

- EXECUTEの付与

- SELECTの付与

表

表レポートには次の情報が含まれています。

- 列

- 制約

- 索引

- 表サイズ

- ユーザー・シノニム

- ユーザー表

表レポートを選択して、TimesTenデータベースに接続されているユーザーが所有する表、列、制約および索引に関するレポートを生成します。また、表レポートを選択して、プライベート・シノニムについてのレポートを生成します。

TimesTenリリース11.2.2以上を使用している場合は、表サイズのレポートが表示されます。TimesTenリリース11.2.2以上を使用していない場合は、「表サイズ」を選択すると、「問合せが見つかりませんでした」ダイアログが表示されます。エラー「選択したデータベースのバージョンに問合せが見つかりませんでした。」が表示されます。

索引
A  C  E  F  I  L  M  N  O  P  Q  R  S  T

A

エージング

表での変更, 2.12

存続期間およびサイクルの変更, 2.12.5

表での削除, 2.12.2

エージング属性

表, 2.6.3

エージング・ポリシー

定義済, 7.1.2.3

LRU, 7.1.2.3

時間ベース, 7.1.2.3

エージング状態

表での変更, 2.12.3

自動リフレッシュ属性

変更, 9.2

C

キャッシュ・エージェント

起動と停止, 6.4

起動と停止のダイアログ, 6.4

キャッシュ・グリッド

構成, 6.3

キャッシュ・グループ

作成, 7

作成のダイアログ, 7.1

削除, 7.2

フラッシュ, 8.3

ロード, 8.1

リフレッシュ, 8.1

アンロード, 8.2

ユーザー管理, 7.1.1

特性の表示, 9.1

キャッシュ・グループの操作, 8 キャッシュ・グループ

非同期ライトスルー, 7.1

動的, 7.1

明示的にロードされる, 7.1

グローバル,7.1

ローカル, 7.1

読取り専用, 7.1

ルート表, 7.1.2

キャッシュする列の選択, 7.1.2.1

同期ライトスルー, 7.1

エージング属性の表示, 9.1.3

定義の表示, 9.1.2

キャッシュ・グループ, 12.4 キャッシュ表

エージング, 7.1.2.3

キャッシュ表

表示, 9.1.1

子表

外部キーの定義, 7.1.3.2

キャッシュする列の選択, 7.1.3.1

表属性の指定, 7.1.3.2

子表

定義, 7.1.3

表の列

表示, 2.6.1

表サイズの計算, 2.4 構成

キャッシュ・マネージャ・ユーザーの作成, 6.1

Timestenユーザーの作成, 6.1

権限の付与, 6.1

Oracle DatabaseとTimesTenデータベース, 6.1

接続

TimesTenデータベース, 1

接続

切断, 1.4

既存, 1.3

新規, 1.2

接続情報のダイアログ, 1.3 制約

削除, 2.11

E

環境変数

CLASSPATH, 1.1

LD_LIBRARY_PATH, 1.1

PATH, 1.1

実行計画, 3.3

F

外部キー制約

作成, 2.10

I

索引

表での作成, 2.7

索引

表示, 2.6.2

INLINE属性, 2.3 インストール

スクリプト, 1.1

L

LOBデータ型, 2.2

M

メモリー使用量しきい値

表での変更, 2.12.4

N

新規接続のダイアログ, 1.2

O

オブジェクト権限, 2.13

P

主キー属性

変更, 2.9

主キー制約

作成, 2.8

Q

問合せオプティマイザ, 3

実行計画, 3.3

統計の詳細, 3.1

R

REF CURSOR

OUTPUTパラメータ, 2.5

レプリケーション

インタフェース, 10

レプリケーション・エージェント

起動と停止, 10.2

レプリケーション・スキーム

表示, 10.1

レポート

データベース情報, 12.2

すべてのオブジェクト, 12.3

データベース管理, 12.5

生成, 12.1

概要, 12

パフォーマンス, 12.6

PLSQL, 12.7

セキュリティ, 12.8

表, 12.9

ルート表

主キー, 7.1.2.2

WHERE句, 7.1.2.2

ルート表の定義

検証, 7.1.2.4

ルート表のダイアログ, 7.1.2

S

ストア属性

表示, 10.1.2

サブスクライバ・データベース

表示, 10.1.1

T

表

特性の表示, 2.6

表と列の統計情報

更新, 3.1

表定義

表示, 2.6.4

時間ベースのエージング, 7.1.2.3 TimesTenデータベース・オブジェクト

特定, 2.1

ttIsqlコマンド, 2.16

オラクル社の法律上の注意点について

コピーライトについて

Copyright © 1994-2014, Oracle and/or its affiliates.All rights reserved.

商標と登録商標について

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

制限付権利

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション（人的傷害を発生させる可能性があるアプリケーションを含む）への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性（redundancy）、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

ドラフトのアルファ版およびベータ版ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。オラクル社およびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。