4 TimesTenオブジェクトの使用

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

この項の内容は次のとおりです。

ユーザーに関する操作

SQL Developerを使用してTimesTenデータベースからデータベース・ユーザーを作成、編集または削除できます。

この項の内容は次のとおりです。

ユーザーの作成

TimesTenデータベースのデータベース・ユーザーを作成できます。

ユーザーを作成するには、SQL Developerのメイン・ページを開き、TimesTen接続が展開されていることを確認します。

ノート:

直接接続でのみユーザーを作成できます。接続ユーザーにはADMINシステム権限が必要です。TimesTenデータベースへの接続を参照してください。

  1. 「他のユーザー」ノードを右クリックし、「ユーザーの作成」を選択します。

    「ユーザーの作成」ダイアログが表示されます。

  2. 「ユーザー名」テキスト・フィールドに、ユーザーの名前を入力します。
  3. 「新規パスワード」テキスト・フィールドに、ユーザーのパスワードを入力します。
  4. 「パスワードの確認」テキスト・フィールドに、前に入力したのと同じパスワードを入力します。
  5. 「プロファイル」ドロップダウン・リストで、ユーザーのプロファイルを選択します。デフォルトはDEFAULTです。

    プロファイルの詳細は、Oracle TimesTen In-Memory Databaseセキュリティ・ガイドパスワード管理のプロファイルを参照してください。

    SQL Developerを使用してプロファイルを管理する方法の詳細は、プロファイルの使用を参照してください。

これで、ユーザーに付与するシステム権限を選択できるようになりました。

ユーザーへのシステム権限の付与

システム権限をユーザーに付与するには、「システム権限」タブを見つけます。

  1. 「システム権限」タブを選択します。
  2. 「権限」表で、ユーザーに付与するシステム権限のチェック・ボックスを選択します。

    または、「すべて付与」ボタンをクリックしてすべてのシステム権限を選択することもできます。

    TimesTenでのシステム権限の詳細は、Oracle TimesTen In-Memory Databaseセキュリティ・ガイドシステム権限を参照してください。

これで、SQL文を適用前に確認できるようになりました。

CREATE USER文とGRANT文のSQLの確認

CREATE USER文およびGRANT文を確認するには、「SQL」タブを見つけます。

  1. 「SQL」タブを選択します。
  2. SQL文を確認したら、「適用」をクリックします。

    TimesTenでCREATE USER文とGRANT文が実行され、「ユーザーの作成」ダイアログで「結果」タブが自動的に選択されます。「結果」タブには、SQL文の実行結果が表示されます。

    CREATE USER文およびGRANT文の詳細は、Oracle TimesTen In-Memory Database SQLリファレンスで、それぞれCREATE USERおよびGRANTを参照してください。

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

    「ユーザーの作成」ダイアログが閉じます。

ユーザーが正常に作成されました。

ユーザーの編集

すでに作成済のデータベース・ユーザーを変更できます。既存のユーザーを変更する場合、次のアクションを実行できます。

  • パスワードを変更します。

  • プロファイルを変更します。

  • ユーザーをロックまたはロック解除します。

  • 現在のパスワードを期限切れにします。

  • 付与されたシステム権限のリストを更新します。

    ノート:

    付与されたシステム権限のリストの更新を除き、前述のすべてのアクションは、直接接続または暗号化されたクライアント/サーバー接続で実行する必要があり、接続ユーザーにはADMINシステム権限が必要です。暗号化されたクライアント/サーバー接続の詳細は、Oracle TimesTen In-Memory Databaseセキュリティ・ガイドTimesTenクライアント/サーバーのTransport Layer Securityを参照してください。

ユーザーを変更するには、SQL Developerのメイン・ページを開き、TimesTen接続が展開されていることを確認します。
  1. 「他のユーザー」ノードを展開します。

    ノードが展開されて、使用可能なユーザーのリストが表示されます。

    ノート:

    接続されているユーザーはリストされません。パスワードをリセットできるのは、現在の接続からのみです。「接続ユーザーのパスワードのリセット」を参照してください。

    接続されているユーザーを編集するには、別のユーザーとのTimesTen接続を使用します。

  2. ユーザー名を右クリックし、「ユーザーの編集」を選択します。

    「ユーザーの編集」ダイアログが表示されます。「ユーザーの編集」ダイアログは、一部編集できないオプションがある点を除き、「ユーザーの作成」ダイアログと同じです。接続タイプに基づいて、前述のオプションを編集できます。

    「ユーザーの作成」ダイアログの使用方法の詳細は、「ユーザーの作成」を参照してください。

「ユーザー」タブおよび「システム権限」タブ内のオプションの編集が完了したら、SQL文を適用前に確認できます。

ALTER USER文とGRANT/REVOKE文のSQLの確認

ALTER USER文およびGRANT文を確認するには、「SQL」タブを見つけます。

  1. 「SQL」タブを選択します。
  2. SQL文を確認したら、「適用」をクリックします。

    TimesTenでALTER USER文とGRANT/REVOKE文が実行され、「ユーザーの編集」ダイアログで「結果」タブが自動的に選択されます。「結果」タブには、SQL文の実行結果が表示されます。

    ALTER USER文、GRANT文およびREVOKE文の詳細は、Oracle TimesTen In-Memory Database SQLリファレンスで、それぞれALTER USERGRANTおよびREVOKEを参照してください。

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

    「ユーザーの編集」ダイアログが閉じます。

ユーザーを正常に編集できました。

ユーザーの削除

SQL DeveloperからTimesTenデータベースのデータベース・ユーザーを削除できます。

ユーザーを削除するには、SQL Developerのメイン・ページを開き、TimesTen接続が展開されていることを確認します。

ノート:

接続ユーザーは、ユーザーを削除するにはADMINシステム権限が必要です。

  1. 「他のユーザー」ノードを展開します。

    ノードが展開されて、使用可能なユーザーのリストが表示されます。

  2. ユーザー名を右クリックし、「ユーザーの削除」を選択します。

    「ユーザーの削除」ダイアログが表示されます。

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

    TimesTenでDROP USER文が実行され、「確認」ダイアログが表示されます。

    DROP USER文の詳細は、Oracle TimesTen In-Memory Database SQLリファレンスDROP USERを参照してください。

    ノート:

    データベースに接続されているユーザーを削除しようとすると、TimesTenによってエラーが返されます。

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

    「確認」ダイアログが閉じます。

ユーザーが正常に削除されました。

接続ユーザーのパスワードのリセット

TimesTen接続に使用されるデータベース・ユーザーのパスワードをリセットできます。

接続ユーザーのパスワードをリセットするには、SQL Developerのメイン・ページが表示されていることを確認します。

ノート:

  • インスタンス管理者または外部ユーザーのパスワードをリセットすることはできません。Oracle TimesTen In-Memory Databaseセキュリティ・ガイドTimesTenユーザーの概要を参照してください。

  • 接続ユーザーのパスワードは、直接接続または暗号化されたクライアント/サーバー接続でのみリセットできます。暗号化されたクライアント/サーバー接続の詳細は、Oracle TimesTen In-Memory Databaseセキュリティ・ガイドTimesTenクライアント/サーバーのTransport Layer Securityを参照してください。

  1. TimesTen接続名を右クリックし、「パスワードのリセット」を選択します。

    「新規パスワードの入力」ダイアログが表示されます。

  2. 「現在のパスワード」テキスト・フィールドに、ユーザーの現在のパスワードを入力します。
  3. 「新規パスワード」テキスト・フィールドに、ユーザーの新しいパスワードを入力します。
  4. 「パスワードの確認」テキスト・フィールドに、前に入力したのと同じパスワードを入力します。
  5. 「OK」をクリックします。

    TimesTenでパスワードがリセットされ、「パスワードのリセット」ダイアログが表示されます。

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

    「パスワードのリセット」ダイアログが閉じます。

接続ユーザーのパスワードが正常にリセットされました。

プロファイルの使用

SQL Developerを使用してTimesTenデータベースからパスワード管理プロファイルを作成、編集または削除できます。

この項の内容は次のとおりです。

プロファイルの作成

TimesTenデータベースでデータベース・ユーザーのパスワード管理プロファイルを作成できます。

プロファイルを作成するには、SQL Developerのメイン・ページを開き、TimesTen接続が展開されていることを確認します。

ノート:

接続ユーザーは、プロファイルを作成するにはADMINシステム権限が必要です。

  1. 「プロファイル」ノードを右クリックし、「新規プロファイル」を選択します。

    「新規プロファイル」ダイアログが表示されます。

  2. 「プロファイル名」テキスト・フィールドに、プロファイルの名前を入力します。
  3. 次に対して、有効な値を入力します。
    1. 「失敗したログイン試行」テキスト・フィールド。
    2. 「パスワード存続期間(日)」テキスト・フィールド。
    3. 「パスワード再使用期間(日)」テキスト・フィールド。
    4. 「パスワード再使用最大回数」テキスト・フィールド。
    5. 「パスワード・ロック期間(日)」テキスト・フィールド。
    6. 「パスワード猶予期間(日)」テキスト・フィールド。

    ノート:

    これらのテキスト・フィールドでは、入力としてDEFAULTUNLIMITED、または1より大きい整数がサポートされています。DEFAULTの値は、DEFAULTプロファイルで定義されます。Oracle TimesTen In-Memory Databaseセキュリティ・ガイドパスワード管理を参照してください。

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

    TimesTenでCREATE PROFILE文が実行され、「新規プロファイル」ダイアログで「結果」タブが自動的に選択されます。「結果」タブには、SQL文の実行結果が表示されます。

    CREATE PROFILE文の詳細は、Oracle TimesTen In-Memory Database SQLリファレンスCREATE PROFILEを参照してください。

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

    「新規プロファイル」ダイアログが閉じます。

プロファイルが正常に作成されました。

プロファイルの編集

TimesTenデータベースでデータベース・ユーザーのパスワード管理プロファイルを編集できます。

プロファイルを編集するには、SQL Developerのメイン・ページを開き、TimesTen接続が展開されていることを確認します。

ノート:

接続ユーザーは、プロファイルを編集するにはADMINシステム権限が必要です。

  1. 「プロファイル」ノードを展開します。

    ノードが展開されて、使用可能なプロファイルのリストが表示されます。

  2. プロファイル名を右クリックし、「プロファイルの編集」を選択します。

    「プロファイルの編集」ダイアログが表示されます。「プロファイルの編集」ダイアログは、「新規プロファイル」ダイアログと同じです。「プロファイル名」を除くすべてのオプションを編集できます。「新規プロファイル」ダイアログの使用方法の詳細は、「プロファイルの作成」を参照してください。

  3. 「プロファイル」タブのオプションの編集が完了したら、「適用」をクリックします。

    TimesTenでALTER PROFILE文が実行され、「プロファイルの編集」ダイアログで「結果」タブが自動的に選択されます。「結果」タブには、SQL文の実行結果が表示されます。

    ALTER PROFILE文の詳細は、Oracle TimesTen In-Memory Database SQLリファレンスALTER PROFILEを参照してください。

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

    「プロファイルの編集」ダイアログが閉じます。

プロファイルを正常に編集できました。

プロファイルの削除

TimesTenデータベースからデータベース・ユーザーのパスワード管理プロファイルを削除できます。

プロファイルを削除するには、SQL Developerのメイン・ページを開き、TimesTen接続が展開されていることを確認します。

ノート:

接続ユーザーは、プロファイルを編集するにはADMINシステム権限が必要です。

  1. 「プロファイル」ノードを展開します。

    ノードが展開されて、使用可能なプロファイルのリストが表示されます。

  2. プロファイル名を右クリックし、「プロファイルの削除」を選択します。

    「プロファイルの削除」ダイアログが表示されます。

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

    TimesTenでDROP PROFILE文が実行され、「プロファイルの削除」ダイアログで「結果」タブが自動的に選択されます。「結果」タブには、SQL文の実行結果が表示されます。

    DROP PROFILE文の詳細は、Oracle TimesTen In-Memory Database SQLリファレンスDROP PROFILEを参照してください。

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

    「プロファイルの削除」ダイアログが閉じます。

プロファイルが正常に削除されました。

表の使用

TimesTenデータベースの表に関する操作を実行できます。この項は次の項目で構成されています。

表の作成

TimesTenデータベースまたはTimesTen Scaleoutデータベースの表を作成できます。

SQL Developerのメイン・ページを開き、TimesTen接続またはTimesTen Scaleout接続が展開されていることを確認します。

  1. 「表」オプションを右クリックし、「新規の表」を選択します。

    「表の作成」ダイアログが表示されます。「スキーマ」ドロップダウン・リストを探します。

  2. 「スキーマ」ドロップダウン・リストから、表の所有者を選択します。
  3. 「名前」テキスト・フィールドに、表の名前を入力します。

    これで、表の列を定義できるようになりました。「列」リージョンを探します。

表の列の定義

表の列を定義するには、「列」表を探します。定義する各列について、次の手順を実行します。

  1. この列を主キーとして定義する場合は、「PK」列で、列内をクリックします。表に索引を作成する場合は、主キーが必要になります。
  2. 「名前」列に、列名を入力します。サポートされている列名の詳細は、Oracle TimesTen In-Memory Database SQLリファレンス基本名を参照してください。
  3. 「データ型」列で、列のデータ型を選択します。データ型の詳細は、Oracle TimesTen In-Memory Database SQLリファレンスデータ型を参照してください。
  4. 「サイズ」列で、選択したデータ型に基づいて列のサイズを選択します。
  5. この列をNOT NULLにする場合は、「NULL以外」チェック・ボックスを選択します。
  6. この列にデフォルト値を設定する場合は、「デフォルト」列に値を入力します。
  7. この列をINLINEとして定義する場合は、「インライン」チェック・ボックスを選択します。デフォルトでは、宣言された列の長さが128バイトを超える可変長列は、表外に格納されます。宣言された列の長さが128バイト以下の可変長列は、表内に格納されます。

表の列が正常に定義されました。

別の列を追加するには、「列」表の右上隅にある「+」ボタンをクリックします。次に、ステップ1-7を繰り返して各列を定義します。

列を削除するには、削除する列を選択し、「列」表の右上隅にある「-」記号をクリックします。

列をコピーするには、コピーする列を選択し、「列」表の右上隅にある「列のコピー」ボタンをクリックします。

表のすべての列を定義したら、次の手順を実行します。

  • 表の主キーを定義した場合は、表の索引を作成します。詳細は、「表の索引の作成」を参照してください。

  • 表の主キーを定義しなかった場合は、表の制約を設定します。詳細は、「表の制約の設定」を参照してください。

表の索引の作成

表の索引を定義するには、表の主キーが定義されている必要があります。表の索引を定義するには:

  1. 「索引タイプ」オプションから、索引タイプを選択します。索引タイプの詳細は、Oracle TimesTen In-Memory Database SQLリファレンスCREATE TABLEを参照してください。
  2. ハッシュ索引を選択した場合は、「ページ・サイズ(行)」テキスト・フィールドにRowPagesパラメータを入力します。
  3. この値を計算するには、予期される表内の行数を256で除算します。たとえば、表に256,000行ある場合は、RowPagesの値として1000を指定します(256000/256=1000)。

表の索引が正常に定義されました。これで、表の制約を定義する準備が整いました。

表の制約の設定

表の制約を使用する場合は、「制約」タブを選択します。

「列」タブで主キーまたは複合主キーを定義した場合は、「制約」タブにこの主キー制約が表示されます。

次のタイプの制約を設定できます。

  • 主キー制約: 「列」タブで表の主キーを定義していない場合は、「制約」リージョンの右上隅にある「+」ボタンをクリックし、「新規主キー制約」を選択します。

    すでに主キーを定義してある場合、「新規主キー制約」オプションは使用できません。ただし、「制約」リージョンで主キーの定義を編集することはできます。

    「制約」表では、次の操作を実行できます。

    • 主キーの名前を編集するには、「主キー」行の「名前」列を編集します。

    • 主キー定義に含める列を選択するには、「使用可能な列」リストで列名をダブルクリックします。

    • 主キー定義から列を削除するには、「選択済の列」リストで列名をダブルクリックします。

    • 主キー制約を削除するには、削除する主キー制約を選択し、「制約」リージョンの右上隅にある「x」記号をクリックします。

  • 外部キーの制約: 表の外部キーを定義するには、次の手順を実行します。

    1. 「制約」リージョンの右上隅にある「+」ボタンをクリックし、「新規外部キーの制約」を選択します。

    2. 「制約」表で、外部キーの名前を指定します。外部キーの名前を編集するには、「制約」表の「外部キー」行の「名前」列を編集します。

      「参照先の制約」リージョンを探します。

    3. 「スキーマ」ドロップダウン・リストから、参照する表のスキーマ名を選択します。または、ドロップダウン・リストからスキーマ名を選択せずに、スキーマ名を入力することもできます。

    4. 「表」ドロップダウン・リストから、参照する表名を選択します。または、ドロップダウン・リストから表名を選択せずに、表名を入力することもできます。

    5. 「制約」ドロップダウン・リストから、参照する主キー制約名を選択します。または、ドロップダウン・リストから主キー制約名を選択せずに、主キー制約名を入力することもできます。

    6. 「削除時」ドロップダウン・リストから、削除時オプションを選択します。

    外部キー制約が正常に定義されました。

    • 別の外部キー制約を追加するには、「制約」リージョンの右上隅にある「+」ボタンをクリックし、「新規外部キーの制約」を選択します。次に、ステップ1-6を繰り返して、各外部キー制約を定義します。

    • 外部キー制約を削除するには、削除する外部キー制約を選択し、「制約」リージョンの右上隅にある「x」記号をクリックします。

表の分散方法の設定

このタブは、操作対象がTimesTen Scaleout表である場合にのみ使用できます。

表の分散方法を定義するには:

  1. 「配布」タブを選択します。
  2. 「配布方法」ドロップダウン・リストから、表の分散方法を選択します。
    • ハッシュによる配布: 主キーのハッシュ、またはユーザー指定の一連の列に基づいてデータを分散する分散スキーム。詳細は、Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイドハッシュを参照してください。

      ハッシュ分散スキームを使用して表を分散する方法を決定するときには、次の点を考慮してください。

      • 表に主キーがあり、分散列を指定しない場合は、TimesTen Scaleoutによって、主キーのハッシュに基づいてデータが分散されます。

      • 表に主キーがないか、分散列を指定しない場合は、TimesTen Scaleoutによって、TimesTen Scaleoutがこの目的で追加した非表示列のハッシュに基づいてデータが分散されます。

      • 分散列を指定した場合は、TimesTen Scaleoutによって、分散列のハッシュに基づいてデータが分散されます。複数の分散列を指定できます。

      表の分散列を指定するには:

      • 分散列に含める列を選択するには、「使用可能な列」リストで列名をダブルクリックします。

      • 分散列から列を削除するには、「選択済の列」リストで列名をダブルクリックします。

    • 参照による配布: 外部キー制約の対応する親行の位置に基づいて子表のデータを分散する分散スキーム。この分散スキームを使用するには、表に少なくとも1つの外部キーが必要です。詳細は、Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド参照を参照してください。

      「参照による配布」分散スキームを使用するように外部キーを定義していることを確認します。この分散スキームで表を分散するには:

      「外部キー」ドロップダウン・リストから、表のデータを分散するための外部キーを選択します。

    • 複製による配布: 表のデータの完全に同一のコピーをデータベースのすべての要素に分散する分散スキーム。詳細は、Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド複製を参照してください。

      「複製」分散スキームによる分散を選択した場合、「表の作成」ダイアログの「配布」タブで追加フィールドを指定する必要はありません。

    これで、CREATE TABLE文のDDLを確認する準備が整いました。詳細は、「CREATE TABLE文のDDLの確認」を参照してください。

CREATE TABLE文のDDLの確認

CREATE TABLE文のDDLを確認できます。

  1. 「DDL」タブを選択します。

    ノート:

    DDL文を.sqlファイルに保存するには、「保存」ボタンをクリックします。

  2. DDL文を確認したら、「OK」をクリックします。

「表の作成」ダイアログが閉じ、TimesTen Scaleoutによって表が作成されます。

表が正常に作成されました。

表の編集

すでに作成済の表を変更できます。既存の表を変更する場合、次のアクションは実行できません。

  • スキーマ名の変更。

  • 表名の変更。

  • 索引の変更。

  • データを含む表の分散スキームの変更。これは、TimesTen Scaleout表にのみ該当します。

表を編集するには、SQL Developerのメイン・ページを開き、接続が展開されていることを確認します。

「表」オプションを展開し、表名を右クリックして、「編集」を選択します。

「表の編集」ダイアログが表示されます。「表の編集」ダイアログは、一部編集できないオプションがある点を除き、「表の作成」ダイアログと同じです。前述のオプションを除く、すべてのオプションを編集できます。「表の作成」ダイアログの使用方法の詳細は、「表の作成」を参照してください。

TimesTen Scaleout表のデータの分散の確認

表の分散統計を表示できます。この機能は、TimesTen Scaleout表でのみ使用できます。分散統計を使用すると、グリッドのデータ・インスタンス間でデータがどのように分散しているかを確認できます。

表の分散統計を表示するには、SQL Developerのメイン・ページを開き、接続が展開されていることを確認します。

  1. 「表」オプションを展開し、表名をダブルクリックします。

    表ビューが表示されます。「配布」タブを探します。

  2. 表ビューから「配布」タブをクリックします。

    「配布」タブが表示されます。

「配布」タブには、次のリージョンがあります。

ノート:

各リージョンの内容は、表の分散スキームによって異なります。

  • 「行の配布」グラフ

    このグラフでは、各要素に対する表の行カウントの縦棒グラフまたは円グラフのいずれかを表示できます。このリージョンのドロップダウン・リストを使用して、表の縦棒グラフと円グラフを切り替えます。

    円グラフでは、データ領域グループの各要素の行カウントの円グラフを表示できます。このリージョンのドロップダウン・リストを使用して、データ領域グループを切り替えます。表で「複製」分散スキームが使用されている場合は、円グラフは使用できません。

    いずれかの要素が停止しているか使用不可の場合、その要素に対応する縦棒グラフは使用できなくなります。また、要素のデータ領域グループの円グラフも使用できなくなります。

  • 「配布スキーム」表

    この表には、表で使用される分散スキームに関する情報が示されます。

    • 「ハッシュによる配布」分散スキーム - この表には、表の行を分散するためのハッシュを作成するために、TimesTen Scaleoutが使用する列が表示されます。

    • 「参照による配布」分散スキーム - この表には、表の行を分散するためにTimesTen Scaleoutが使用する外部キー関係が表示されます。

    • 「複製」分散スキーム - この分散スキームでは各要素についての情報が同じになるため、この表には何も情報が表示されません。

  • 「行の配布」表

    この表には、各要素に対する表の行カウントが示されます。また、各要素のデータ領域グループ、レプリカ・セット、要素ID、インスタンス名および分散率に関する情報も表示できます。「複製」分散スキームを使用する場合、分散率の列は使用できません。

    いずれかの要素が停止しているか使用不可の場合、その要素の行カウントと分散率の各列は使用不可とマークされます。

    表がハッシュまたは参照によって分散されている場合、「配布」タブには、行カウントの合計と分散を含むサマリー行が表示されます。このサマリーにアクセスできるのは、表がデータ領域グループでソートされている場合のみで、別の列でソートされている場合は非表示になります。必要に応じて、この情報は「行の配布」の横にある「サマリー」タブで常に参照できます。

    表がハッシュまたは参照によって分散されている場合、この表には、各データ領域グループの合計行カウントと分散率を含むサマリー行が表示されます。ただし、これは、「行の配布」表がデータ領域グループでソートされている場合にのみ使用できます。別のソート順序を使用している場合は、「サマリー」タブをクリックするとこれらのサマリー行を表示できます。

  • 「サマリー」表

    この表には、各データ領域グループの行カウントと分散率が示されます。

主キー制約の作成

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

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

    「主キーの追加」ダイアログが表示されます。

  3. 「キー索引タイプ」フィールドで、「範囲の使用」を選択して、レンジ索引を使用して主キーを作成するか、「ハッシュの使用」を選択して、ハッシュ索引を使用して主キーを作成します。

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

    ハッシュ索引のサイズ設定の詳細は、Oracle TimesTen In-Memory Database SQLリファレンスCREATE INDEXを参照してください。

  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リファレンスCREATE INDEXを参照してください。

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

    主キー制約の索引が変更されたことを示す「確認」ダイアログが表示されます。

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

    主キー制約の索引は正常に変更されました。

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

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

表での索引の作成

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

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

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

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

「索引タイプ」で、次の手順を実行します。

  • レンジ索引を作成する場合は、「範囲」を選択します。

  • ハッシュ索引を作成する場合は、「ハッシュ」を選択します。次に、「ページ」の値を選択します。

    • ページ・サイズ(行): 使用するページの数を指定します。値を決定するには、表内の予期される行数を256で除算します。たとえば、表に256,000行ある場合は、1000 (256000/256=1000)を指定します。

    • 現行: 表の現在の行数を使用して、ページ数の値が計算されます。表に行がない場合は、このオプションを使用しないでください。これは、表に行が追加されると、ハッシュ索引のパフォーマンスが低下するためです。

「一意性」で、次の手順を実行します。

  • 表の索引キー列の値のうち、単一の値を使用する場合は、「一意」を選択します。

  • そうでない場合は、「一意でない」を選択します。

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

「索引」セクションで、索引に列を指定します。「列名」から列を選択し、「>」をクリックすると、それらの列を索引に追加できます。各索引列に対して、「順序」選択リストから、列を昇順にソートするか降順にソートするかを指定できます。デフォルトのソート順を昇順です。

コンポジット索引を作成するには、次の手順を実行します。

  1. 追加で列を選択し、「>」をクリックします。索引定義から列を削除するには、列を選択し、「<」を選択します。
  2. 「索引の作成」ダイアログの「DDL」タブで、索引の作成に使用したCREATE INDEX文を表示できます。
  3. 「OK」をクリックして索引を作成します。

外部キー制約の作成

表で、外部キー制約を作成できます。SQL Developerのメイン・ページを開き、TimesTen接続が展開されていることを確認します。

  1. 「表」ノードの左の+をクリックして、表のリストを展開します。
  2. 表名を右クリックして「制約」を選択し、「外部キーの追加」を選択します。

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

  3. 「削除時にカスケード」参照アクションを有効化するには、「外部キーのカスケード削除」チェック・ボックスを選択します。これを指定した場合、参照キー値を含む行を親表から削除すると、依存外部キー値を持つ子表の行も削除されます。
  4. 「制約名」フィールドに、外部キーの名前を入力します。
  5. 外部キー制約を適用する列を、「列名」ドロップダウン・リストから選択します。
  6. 外部キーが参照する表名を、「参照表の名前」ドロップダウン・リストから選択します。
  7. 外部キーが参照する列を、「参照先の列」ドロップダウン・リストから選択します。

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

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

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

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

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

外部キー制約の作成の詳細は、Oracle TimesTen In-Memory Database SQLリファレンスCREATE TABLEおよびALTER TABLEを参照してください。

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

TimesTenリリース11.2.2以上を使用している場合は、表定義でLOBデータ型を指定および表示できます。TimesTen Scaleoutを使用している場合は、使用するTimesTen Scaleoutのバージョンでこの機能がサポートされていることを確認してください。Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイドTimesTen ScaleoutとTimesTen Classicの比較を参照してください。

LOBデータ型の列を作成する場合は、「表の作成」ダイアログで、「データ型」列ヘッダーのドロップダウン・リストを展開します。有効なデータ型は、CLOBNCLOBおよびBLOBです。

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

列を追加してLOBデータ型を指定する場合は、「列の追加」オプションを使用します。表を右クリックし、「列」を選択して、「追加」を選択します。「列の追加」ダイアログが表示されます。「列の追加」ダイアログで、「データ型」を展開します。選択肢には、CLOBNCLOBおよびBLOBがあります。

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

列へのINLINE属性の指定

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

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

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

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

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

次の項では、これらのエージング・ポリシー操作について説明します。

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

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

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

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

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

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

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

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

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

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

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

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

通常の表またはキャッシュ表から既存のエージング・ポリシーを削除するには、「表」ノードの下で、エージング・ポリシーを削除する表の名前を右クリックして、「経過」「削除」を選択します。

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

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

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

通常の表またはキャッシュ表の既存のエージング・ポリシーのエージング状態を変更するには、「表」ノードの下で、エージング状態を変更する表の名前を右クリックして、「経過」「状態オン/オフの変更」を選択します。

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

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

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

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

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

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

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

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

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

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

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

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

表へのデータのロード

「データのインポート」を使用して、表にデータをロードします。データをロードするには、ファイルにデータをエクスポートする必要があります。データをエクスポートするには、表の名前で右クリックして、「エクスポート」を選択します。正常にエクスポートされたデータはTimesTen表にインポートできます。TimesTenエクスポート機能では、データをOracleデータベースにインポートする目的での、TimesTen表からのデータのエクスポートをサポートしていません。

  1. 「表」ノードの左側にある「+」を選択して、表のリストを表示します。
  2. 表の名前を右クリックします。
  3. 「表」「データのインポート」を選択します。

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

  4. 「開く」を選択します。

    表にデータがロードされます。

表サイズ情報の計算

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

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

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

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

  3. 「表」を選択して、「サイズの計算」を選択します。

    「サイズの計算」ダイアログが表示されます。表の所有者および名前が表示されます。

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

  5. 「適用」を選択します。

    「確認」ダイアログが表示されます。

  6. 「OK」を選択します。

    表の表サイズ統計が計算されます。

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

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

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

  1. 「表」ノードの左側にある「+」を選択して、表のリストを表示します。
  2. 表サイズ情報を確認する表を選択します。
  3. 表の属性を表示するタブ内にある「サイズ」タブを選択します。

    表サイズ情報が表示されます。具体的には、INLINE BYTESOUT OF LINE BYTESおよびMETADATA BYTESの値が表示されます。

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

図4-2の説明が続きます
「図4-2 表サイズ情報の表示」の説明

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

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

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

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

表の特性の表示

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

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

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

列の表示

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

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

索引の表示

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

エージング属性の表示

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

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

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

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

図4-4の説明が続きます
「図4-4 表のエージング属性の表示」の説明
表定義の表示

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

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

図4-5 表定義のSQLの表示

図4-5の説明が続きます
「図4-5 表定義のSQLの表示」の説明

制約の削除

TimesTen表から制約を削除できます。SQL Developerのメイン・ページを開き、TimesTen接続が展開されていることを確認します。

  1. 「表」ノードの左の+をクリックして、表のリストを展開します。
  2. 表名を右クリックして「制約」を選択し、「削除」を選択します。

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

  3. 「制約」ドロップダウン・リストから削除する制約を選択します。

    制約の削除に使用するSQL文を表示するには、「削除」ダイアログ・ボックスの「SQL」タブを選択します。

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

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

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

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

PL/SQLの使用

SQL Developerでは、PL/SQLを操作できます。この項は次の項目で構成されています。

PL/SQLパッケージの作成

TimesTenデータベース用のPL/SQLパッケージを作成できます。

PL/SQLパッケージを作成するには、SQL Developerのメイン・ページを開き、TimesTen接続が展開されていることを確認します。

  1. 「パッケージ」オプションを右クリックし、「新規パッケージ」を選択します。

    「パッケージの作成」ダイアログが表示されます。「スキーマ」ドロップダウン・リストを探します。

  2. 「スキーマ」ラベルが付いたドロップダウン・リストを展開し、PL/SQLパッケージを作成するスキーマを選択します。
  3. 「名前」テキスト・フィールドに、PL/SQLパッケージの名前を入力します。
  4. オプションで、小文字のテキストで新規ソースを作成する場合は、「新規ソースを小文字で追加」チェック・ボックスを選択します。このオプションを選択すると、入力したテキストが大文字か小文字かに関係なく、小文字でテキストが入力されます。PL/SQLの実行では大文字と小文字が区別されないため、このオプションはパッケージ名の外観にのみ影響します。
  5. 「OK」をクリックします。

    「パッケージの作成」ダイアログが閉じ、PL/SQLパッケージ・ワークシートが表示されます。PL/SQLパッケージ・ワークシートを探します。

  6. PL/SQLパッケージ・ワークシートで、PL/SQLパッケージを定義します。

    PL/SQLパッケージの定義が終了したら、PL/SQLパッケージをコンパイルして保存できます。SQL Developerウィンドウの左上隅にある「ファイル」メニューを探します。

  7. 「File」メニューから、「Save」を選択します。

    SQL Developerにより、PL/SQLパッケージがコンパイルされ、保存されます。PL/SQLパッケージ・ワークシートの下にある「メッセージ - ログ」領域で、コンパイル結果を確認します。コンパイル・エラーがある場合は、コンパイル・エラーをトラブルシューティングして修正します。その後、PL/SQLパッケージを再コンパイルして保存します。

PL/SQLパッケージが正常にコンパイルおよび保存されました。これで、PL/SQLパッケージの本体を指定する準備が整いました。

PL/SQLパッケージの本体の定義

PL/SQLパッケージの本体を定義する前に、PL/SQLパッケージが定義されていることを確認してください。

PL/SQLパッケージの本体を定義するには、SQL Developerのメイン・ページを開き、TimesTen接続が展開されていることを確認します。

  1. 「パッケージ」ノードの左側にある「+」をクリックして、PL/SQLパッケージのリストを表示します。
  2. PL/SQLパッケージの名前を右クリックして、「本体の作成」を選択します。

    PL/SQLパッケージ本体のワークシートが表示されます。PL/SQLパッケージ本体のワークシートを探します。

  3. PL/SQLパッケージ本体のワークシートで、PL/SQLパッケージの本体を定義します。

    PL/SQLパッケージの本体の定義が終了したら、PL/SQLパッケージの本体をコンパイルして保存できます。SQL Developerウィンドウの左上隅にある「ファイル」メニューを探します。

  4. 「File」メニューから、「Save」を選択します。

    SQL Developerにより、PL/SQLパッケージの本体がコンパイルされ、保存されます。PL/SQLパッケージ本体のワークシートの下にある「メッセージ - ログ」領域で、コンパイル結果を確認します。コンパイル・エラーがある場合は、コンパイル・エラーをトラブルシューティングして修正します。その後、PL/SQLパッケージを再コンパイルして保存します。

PL/SQLパッケージの本体が正常にコンパイルおよび保存されました。これで、PL/SQLパッケージを実行する準備が整いました。

PL/SQLパッケージの実行

PL/SQLパッケージを実行するには、SQL Developerのメイン・ページを開き、TimesTen接続が展開されていることを確認します。

  1. 「パッケージ」ノードの左側にある「+」をクリックして、PL/SQLパッケージのリストを表示します。
  2. PL/SQLパッケージの名前を右クリックして、「実行」を選択します。

    「PL/SQLの実行」ダイアログが表示されます。「PL/SQLの実行」ダイアログには、次の3つのペインがあります。

    • ターゲット: このペインには、PL/SQLパッケージのすべてのファンクションおよびプロシージャが表示されます。

    • パラメータ: このペインには、選択したファンクションまたはプロシージャのパラメータのリストが表示されます。

    • PL/SQLブロック: このペインには、選択したファンクションまたはプロシージャを実行するためにSQL Developerによって生成されるPL/SQLコードが表示されます。

    「ターゲット」ペインで、実行するファンクションまたはプロシージャを探します。

  3. 「ターゲット」ペインで、実行するファンクションまたはプロシージャを選択します。

    「パラメータ」ペインと「PL/SQLブロック」ペインは、選択したファンクションまたはプロシージャに関連する情報で更新されます。

  4. 「パラメータ」ペインで、INモードとしてマークされたすべてのパラメータの値を入力します。
  5. PL/SQLブロックで、PL/SQLコードを確認し、PL/SQLファンクションまたはプロシージャの実行に必要な変更を加えます。
  6. 「OK」をクリックします。

    TimesTenによって、PL/SQLプロシージャまたはファンクションが実行されます。SQL Developerのメイン・ページの下部にある「出力変数」タブを探します。

  7. 「出力変数」タブを選択します。

    「出力変数」タブが表示されます。「出力変数」で、PL/SQLプロシージャまたはファンクションからの変数の結果を確認します。

PL/SQLパッケージが正常に実行されました。

PL/SQLパッケージのコンパイル

PL/SQLパッケージをコンパイルする前に、PL/SQLパッケージを作成し、そのPL/SQLパッケージの本体を定義していることを確認します。PL/SQLパッケージまたはパッケージ本体の編集後は、常にPL/SQLパッケージをコンパイルする必要があります。

特定のPL/SQLパッケージをコンパイルするか、保存済のPL/SQLパッケージすべてをコンパイルできます。

特定のPL/SQLパッケージのコンパイル

特定のPL/SQLパッケージをコンパイルするには、SQL Developerのメイン・ページを開き、TimesTen接続が展開されていることを確認します。

  1. 「パッケージ」ノードの左側にある「+」をクリックして、PL/SQLパッケージのリストを表示します。
  2. PL/SQLパッケージの名前を右クリックして、「コンパイル」を選択します。

    SQL Developerにより、PL/SQLパッケージの本体がコンパイルされ、保存されます。「メッセージ - ログ」領域で、コンパイル結果を確認します。コンパイル・エラーがある場合は、コンパイル・エラーをトラブルシューティングして修正します。その後、PL/SQLパッケージを再コンパイルして保存します。

PL/SQLパッケージが正常にコンパイルされました。

すべてのPL/SQLパッケージのコンパイル

保存済のPL/SQLパッケージをすべてコンパイルするには、SQL Developerのメイン・ページを開き、TimesTen接続が展開されていることを確認します。

  1. 「パッケージ」オプションを右クリックし、「すべてコンパイル」を選択します。

    「すべてコンパイル」ダイアログが表示されます。「適用」ボタンを探します。

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

    TimesTenによって、保存済のPL/SQLパッケージがすべてコンパイルされます。コンパイル結果およびTimesTenで発生したエラーを示す確認ダイアログが表示されます。

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

    「メッセージ - ログ」領域で、コンパイル結果を確認します。コンパイル・エラーがある場合は、コンパイル・エラーをトラブルシューティングして修正します。その後、PL/SQLパッケージを再コンパイルして保存します。

保存済のPL/SQLパッケージがすべて正常にコンパイルされました。

無効なPL/SQLパッケージのコンパイル

無効なPL/SQLパッケージをすべてコンパイルするには、SQL Developerのメイン・ページを開き、TimesTen接続が展開されていることを確認します。

  1. 「パッケージ」オプションを右クリックし、「無効をコンパイル」を選択します。

    「無効をコンパイル」ダイアログが表示されます。「適用」ボタンを探します。

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

    TimesTenによって、無効なPL/SQLパッケージがすべてコンパイルされます。コンパイル結果およびTimesTenで発生したエラーを示す確認ダイアログが表示されます。

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

    「メッセージ - ログ」領域で、コンパイル結果を確認します。コンパイル・エラーがある場合は、コンパイル・エラーをトラブルシューティングして修正します。その後、PL/SQLパッケージを再コンパイルして保存します。

無効なPL/SQLパッケージがすべて正常にコンパイルされました。

PL/SQLパッケージの削除

PL/SQLパッケージを削除するには、SQL Developerのメイン・ページを開き、TimesTen接続が展開されていることを確認します。

  1. 「パッケージ」ノードの左側にある「+」をクリックして、PL/SQLパッケージのリストを表示します。
  2. PL/SQLパッケージの名前を右クリックして、「パッケージの削除」を選択します。

    「パッケージの削除」が表示されます。「所有者」フィールドと「名前」フィールドが、削除するPL/SQLパッケージの情報と一致することを確認します。「適用」ボタンを探します。

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

    TimesTenによってPL/SQLパッケージが削除され、SQL Developerから確認ダイアログが表示されます。

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

    確認ダイアログが閉じます。

PL/SQLパッケージが正常に削除されました。

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を使用するプロシージャを定義します。

図4-6 get_emp_pkgの定義

図4-6の説明が続きます
「図4-6 get_emp_pkgの定義」の説明

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

図4-7 get_emp_pkgパッケージ本体の定義

図4-7の説明が続きます
「図4-7 get_emp_pkgパッケージ本体の定義」の説明

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

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

図4-8の説明が続きます
「図4-8 「PL/SQLの実行」ダイアログの表示」の説明

SQL Developerの下部には、次のタブが表示されます。

  • メッセージ: すべてのコンパイルのステータス、およびエラーが発生したかどうかが表示されます。

  • ロギング・ページ: 発生したエラーがすべて表示されます。

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

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

順序の使用

TimesTenデータベースおよびTimesTen Scaleoutデータベースの順序に関する操作を実行できます。順序の詳細は、Oracle TimesTen In-Memory Database SQLリファレンスCREATE SEQUENCEを参照してください。

この項は次の項目で構成されています。

順序の作成

TimesTenデータベースまたはTimesTen Scaleoutデータベースの順序を作成できます。

順序を作成するには、SQL Developerのメイン・ページを開き、TimesTen接続またはTimesTen Scaleout接続が展開されていることを確認します。

  1. 「順序」オプションを右クリックし、「新規順序」を選択します。

    「順序の作成」ダイアログが表示されます。「スキーマ」ドロップダウン・リストを探します。

  2. 「スキーマ」ドロップダウン・リストから、順序の所有者を選択します。
  3. 「名前」テキスト・フィールドに、順序の名前を入力します。
  4. 「開始」テキスト・フィールドで、生成する最初の順序番号を指定します。

    このフィールドを使用して、最小値より大きい値を初期値として昇順を開始するか、最大値よりも小さい値を初期値として降順を開始します。

  5. 「増分」テキスト・フィールドで、連続する番号間の増分値を指定します。

    この値には、正または負の整数を指定できます。これは0にはできません。値が正の場合は、昇順になります。値が負の場合は、降順になります。デフォルト値は1です。

  6. 「最小値」テキスト・フィールドで、昇順の場合は最小値を指定し、降順の場合は最終値を指定します。

    この値は、「開始」フィールドで指定した値以下である必要があります。デフォルトの最小値は1です。

  7. 「最大値」テキスト・フィールドで、昇順の場合は最大値を指定し、降順の場合は開始値を指定します。

    この値は、「開始」フィールドで指定した値以上である必要があります。デフォルトの最大値は(263) -1で、これはBIGINTデータ型の最大値です。

  8. この順序から番号をキャッシュする場合は、「キャッシュ」ドロップダウン・リストから「キャッシュ」オプションを選択します。そうでない場合は、「キャッシュなし」オプションを選択します。
  9. 「キャッシュ」ドロップダウン・リストから「キャッシュ」オプションを選択した場合は、キャッシュ値テキスト・フィールドで、キャッシュする番号の範囲を指定します。

    再起動が行われた場合、未使用のキャッシュされた番号は失われます。キャッシュ値に1を指定すると、順序が使用されるたびにデータベースが更新されます。キャッシュ値を大きくするほど、データベースの変更が減り、オーバーヘッドが少なくなります。デフォルト値は20です。

  10. 「サイクル」ドロップダウン・リストから、次のいずれかのオプションを選択します。
    • サイクル: 順序番号ジェネレータは、最大値または最小値に達した後も番号を生成し続けます。

    • サイクルなし: 順序番号ジェネレータは、最大値または最小値に達すると番号の生成を停止します。

    デフォルトでは、順序は循環しません。昇順で番号が最大値に達すると、順序が折り返され、最小値から番号が生成されます。降順の場合は、最小値に到達すると、順序番号が折り返され、最大値から開始されます。

  11. 「バッチ値」テキスト・フィールドで、グリッドの各要素に格納される一意の順序値の範囲を定義します。デフォルト値は1000万です。このオプションは、TimesTen Scaleoutデータベースでのみ使用できます。

    「OK」ボタンを探します。

    ノート:

    TimesTenまたはTimesTen Scaleoutで順序の作成に使用されるDDL文を確認するには、「DDL」タブをクリックします。

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

    「順序の作成」ダイアログが閉じ、TimesTenまたはTimesTen Scaleoutによって順序が作成されます。

順序が正常に作成されました。

順序の変更

TimesTen Scaleoutデータベースの既存の順序のバッチ値を変更できます。

順序を変更するには、SQL Developerのメイン・ページを開き、TimesTen接続またはTimesTen Scaleout接続が展開されていることを確認します。

  1. 「順序」オプションを展開し、順序の名前を右クリックして、「編集」を選択します。

    「順序の編集」ダイアログが表示されます。「バッチ値」テキスト・フィールドを探します。

  2. 「バッチ値」テキスト・フィールドに、順序の新しいバッチ値を入力します。

    「OK」ボタンを探します。

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

    「順序の編集」ダイアログが閉じます。

既存の順序のバッチ値を正常に編集できました。

順序の削除

TimesTenデータベースまたはTimesTen Scaleoutデータベースの順序を削除できます。

順序を削除するには、SQL Developerのメイン・ページを開き、TimesTen接続またはTimesTen Scaleout接続が展開されていることを確認します。

  1. 「順序」オプションを展開し、順序の名前を右クリックして、「削除」を選択します。

    「削除」ダイアログが表示されます。「適用」ボタンを探します。

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

    「削除」ダイアログが閉じ、確認ダイアログが閉じます。「OK」ボタンを探します。

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

    確認ダイアログが閉じます。

データベースから順序が正常に削除されました。

ビューの使用

TimesTenデータベースおよびTimesTen Scaleoutデータベースのビューに関する操作を実行できます。ビューの詳細は、Oracle TimesTen In-Memory Databaseオペレーション・ガイドビューの理解を参照してください。

この項は次の項目で構成されています。

ビューの作成

TimesTenデータベースまたはTimesTen Scaleoutデータベースのビューを作成できます。

ビューを作成するには、SQL Developerのメイン・ページを開き、TimesTen接続またはTimesTen Scaleout接続が展開されていることを確認します。

  1. 「ビュー」オプションを右クリックして、「新規ビュー」を選択します。

    「新規ビュー」ダイアログが表示されます。「ビュー名」テキスト・フィールドを探します。

  2. 「ビュー名」テキスト・フィールドに、ビューの名前を入力します。
  3. 「SQL」テキスト・フィールドに、ビューのSQL問合せを入力します。
  4. 「適用」をクリックします。

    「新規ビュー」ダイアログが閉じ、確認ダイアログが表示されます。

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

    確認ダイアログが閉じ、TimesTenによってビューが作成されます。

ビューが正常に作成されました。

ビューの削除

TimesTenデータベースまたはTimesTen Scaleoutデータベースのビューを削除できます。

ビューを削除するには、SQL Developerのメイン・ページを開き、TimesTen接続またはTimesTen Scaleout接続が展開されていることを確認します。

  1. 「ビュー」オプションを展開し、ビューの名前を右クリックして、「削除」を選択します。

    「削除」ダイアログが表示されます。「適用」ボタンを探します。

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

    「削除」ダイアログが閉じ、確認ダイアログが閉じます。「OK」ボタンを探します。

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

    確認ダイアログが閉じます。

データベースからビューが正常に削除されました。

マテリアライズド・ビューの使用

TimesTenデータベースおよびTimesTen Scaleoutデータベースのマテリアライズド・ビューに関する操作を実行できます。ビューの詳細は、Oracle TimesTen In-Memory Databaseオペレーション・ガイドマテリアライズド・ビューの理解を参照してください。

この項は次の項目で構成されています。

マテリアライズド・ビューを作成します

TimesTenデータベースまたはTimesTen Scaleoutデータベースのマテリアライズド・ビューを作成できます。

マテリアライズド・ビューを作成するには、SQL Developerのメイン・ページを開き、TimesTen接続またはTimesTen Scaleout接続が展開されていることを確認します。

  1. 「マテリアライズド・ビュー」オプションを右クリックして、「新規マテリアライズド・ビュー」を選択します。

    「新規マテリアライズド・ビュー」ダイアログが表示されます。「マテリアライズド・ビュー名」テキスト・フィールドを探します。

  2. 「マテリアライズド・ビュー名」テキスト・フィールドに、ビューの名前を入力します。
  3. 「SQL」テキスト・フィールドに、ビューのSQL問合せを入力します。
  4. 「適用」をクリックします。

    「新規マテリアライズド・ビュー」ダイアログが閉じ、確認ダイアログが表示されます。

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

    確認ダイアログが閉じ、TimesTenによってビューが作成されます。

マテリアライズド・ビューが正常に作成されました。

マテリアライズド・ビューの削除

TimesTenデータベースまたはTimesTen Scaleoutデータベースのマテリアライズド・ビューを削除できます。

ビューを削除するには、SQL Developerのメイン・ページを開き、TimesTen接続またはTimesTen Scaleout接続が展開されていることを確認します。

  1. 「マテリアライズド・ビュー」オプションを展開し、マテリアライズド・ビューの名前を右クリックして、「削除」を選択します。

    「削除」ダイアログが表示されます。「適用」ボタンを探します。

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

    「削除」ダイアログが閉じ、確認ダイアログが閉じます。「OK」ボタンを探します。

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

    確認ダイアログが閉じます。

データベースからマテリアライズド・ビューが正常に削除されました。

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

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

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

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

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

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

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

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

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

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

  • 順序

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

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

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

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

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

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

オブジェクトから権限を取り消すには、オブジェクトの名前を右クリックして、「権限」「取消」を選択します。

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

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

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

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

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

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

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

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

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

  • autocommit

  • desc

  • dssize

  • version

詳細は、Oracle TimesTen In-Memory DatabaseリファレンスttIsqlを参照してください。