コンソールを使用した表および索引の管理

コンソールからOracle NoSQL Database Cloud Service表および索引を管理する方法について説明します。

この記事には次のトピックが含まれます:

表の編集

Oracle NoSQL Database Cloud Service表の予約済容量(表がAlways FreeのNoSQL表でない場合)およびTime to Live (TTL)の値は、NoSQLコンソールから更新できます。

表を編集するには:
  1. インフラストラクチャ・コンソールからNoSQLコンソールにアクセスします。インフラストラクチャ・コンソールからのサービスへのアクセスを参照してください。
  2. NoSQLコンソールには、テナント内のすべての表がリストされます。
  3. Time to Live (TTL)の値は更新できます。
    • Time to Live (TTL)の値を更新するには、「稼働時間(日数)」フィールドの横にある「編集」リンクをクリックします。
    • 変更する表名に対応するアクション・メニューをクリックして、「Time to Live (TTL)」の値を更新し、「デフォルトの存続時間の編集」を選択することもできます。
    • 表が子表の場合、「存続時間(TTL)」値のみを更新できます。Time to Live (TTL)の値を更新するには、「稼働時間(日数)」フィールドの横にある「編集」リンクをクリックします。

      ノート:

      子表の予約済容量を直接編集することはできません。編集できるのは、親表の対応する値のみです。
    • 表Time to Live (日数): (オプション)表の行のデフォルトの有効期限を指定します。この時間を経過すると、行は自動的に期限切れになり、使用できなくなります。デフォルト値はゼロで、有効期限がないことを示します。

      ノート:

      「Time to Live」(TTL)を更新すると、表の既存データのTTL値は変更されません。新しいTTL値は、この値の変更後に表に追加された行と、オーバーライドする行固有の値が指定されていない行にのみ適用されます。
  4. 表がAlways FreeのNoSQL表でない場合は、予約済容量および使用モデルを変更できます。
    • 「他のアクション」で、「予約済容量の編集」をクリックします。
    • 変更する表名に対応するアクション・メニューをクリックし、「予約済容量の編集」を選択して、予約済容量を更新することもできます。

      表の次の値を変更します。

    • 読取り容量(ReadUnits):読取りユニットの数を入力します。読取りユニットについて学習するには、容量の見積りを参照してください。
    • 書込み容量(WriteUnits):書込みユニットの数を入力します。書込みユニットについて学習するには、容量の見積りを参照してください。
    • ディスク・ストレージ(GB):表によって使用されるディスク領域をギガバイト(GB)で指定します。ストレージ容量について学習するには、容量の見積りを参照してください。

      また、「生産能力」モードを「プロビジョニング済生産能力」から「オンデマンド生産能力」に、またはその逆に変更することもできます。オンデマンド容量よりも大きいユニットをプロビジョニングし、プロビジョニング済容量からオンデマンド容量に切り替えると、表の容量が削減されます。このシナリオでは、スイッチによる容量の削減を考慮する必要があります。

  5. (オプション)変更を取り消するには、「取消」をクリックします。
現在のページのヘルプを表示するには、ページの上部にあるヘルプ・リンクをクリックします。
編集される表がグローバル・アクティブ表の場合:
  • ストレージ容量の変更または表TTLの値にはグローバル・スコープがあります(1つのリージョナル表レプリカでの変更は、すべてのリージョナル表レプリカに自動的に伝播されます)。
  • 読取りユニット、書込みユニットの変更、または容量モードのオンデマンドからプロビジョニングへの変更、またはその逆にはローカル・スコープがあります(開始されたリージョン表レプリカでのみ変更)。

表の移動

Oracle NoSQL Database Cloud Service表をNoSQLコンソールから別のコンパートメントに移動する方法について学習します。

表を移動するには:
  1. インフラストラクチャ・コンソールからNoSQLコンソールにアクセスします。インフラストラクチャ・コンソールからのサービスへのアクセスを参照してください。
  2. NoSQLコンソールには、テナント内のすべての表がリストされます。
  3. 「Table Details」ページで、「Move Table」をクリックします。
  4. または、表名に対応するアクション・メニューをクリックし、「表の移動」を選択します。
  5. 「Move Resource to a Different Compartment」ウィンドウで、表の次の値を変更します。
    • 新規コンパートメントの選択:選択リストから新規コンパートメントを選択します。
  6. 「表の移動」をクリックします。
  7. (オプション)変更を取り消するには、右上隅にある「取消」リンクをクリックします。
現在のページのヘルプを表示するには、ページの上部にあるヘルプ・リンクをクリックします。

ノート:

子表を別のコンパートメントに移動することはできません。親表が新しいコンパートメントに移動されると、階層内のすべての子孫表が単一の操作でターゲット・コンパートメントに自動的に移動されます。

表の削除

NoSQLコンソールからOracle NoSQL Database Cloud Service表を削除する方法について学習します。

表を削除するには:
  1. インフラストラクチャ・コンソールからNoSQLコンソールにアクセスします。インフラストラクチャ・コンソールからのサービスへのアクセスを参照してください。
  2. NoSQLコンソールには、テナント内のすべての表がリストされます。表を削除するには、次のようにします:
    • 表名をクリックします。「Table Details」ページで、「Delete」ボタンをクリックするか、
    • 削除するテーブル名に対応するアクションメニューをクリックし、「Delete」を選択します。
    • 表に子表がある場合は、親表を削除する前に、まず子表を削除する必要があります。
    「表の削除」確認ダイアログが開きます。
  3. 「削除」をクリックします。
    表が削除されます。

表がグローバル・アクティブ表の場合、表に現在追加されているリージョナル・レプリカがない場合にのみ表を削除できます。それ以外の場合は、表を削除する前に、まずリージョナル・レプリカを削除する必要があります。

索引の削除

NoSQLコンソールからOracle NoSQL Database Cloud Service索引を削除する方法について学習します。

索引を削除するには:
  1. インフラストラクチャ・コンソールからNoSQLコンソールにアクセスします。インフラストラクチャ・コンソールからのサービスへのアクセスを参照してください。
  2. NoSQLコンソールには、テナント内のすべての表がリストされます。
  3. 表の詳細ページで、「リソース」の下の「索引」タブを選択します。
    表に追加されたすべての索引のリストが表示されます。
  4. 削除する索引に対応するアクション・メニューをクリックし、「削除」を選択します。
    「索引の削除」確認ダイアログが開きます。
  5. 「削除」をクリックします。
    索引が削除されます。

シングルトン表の変更

単純または拡張モードで追加するか、NoSQLコンソールを使用して列を削除して、シングルトン表を変更する方法について学習します。

NoSQLコンソールを使用すると、Oracle NoSQL Database Cloud Service表を次の2つのモードで変更できます:
  1. シンプル入力モード:このモードを使用すると、NoSQL Database Cloud Serviceテーブルを宣言的に、つまりDDLステートメントを記述せずに変更できます。
  2. 拡張DDL入力モード:このモードを使用すると、DDL文を使用してNoSQL Database Cloud Service表を変更できます。

ノート: グローバル・アクティブ表では、表のスキーマは変更できません。グローバル・アクティブ表から新しいフィールドを追加したり、既存のフィールドを削除することはできません。

表の列の追加: シンプル入力モード

シンプル入力表列更新モードを使用して、表列をOracle NoSQL Database Cloud Service表に追加する方法について学習します。

表の列を追加するには:
  1. インフラストラクチャ・コンソールからNoSQLコンソールにアクセスします。インフラストラクチャ・コンソールからのサービスへのアクセスを参照してください。
  2. NoSQLコンソールには、テナント内のすべての表がリストされます。表の詳細ページで、「リソース」の下の「列」タブを選択します。
    表に追加されたすべての列のリストが表示されます。
  3. 「列の追加」をクリックします。
  4. 「列の追加」ウィンドウで、「表の列の更新モード」「シンプル入力」を選択します。
  5. 「列」セクションで、非プライマリ列の詳細を入力します:

    • 列名:列名を入力します。Oracle NoSQL Database Cloud Serviceの制限で説明されている列の命名要件に準拠していることを確認します。
    • タイプ:列のデータ型を選択します。
    • 精度:これは、TIMESTAMP型の列に対してのみ適用されます。タイムスタンプ値には、0から9の範囲の小数秒の精度があります。たとえば、精度0は小数秒が格納されないことを意味します。3はタイムスタンプにミリ秒が格納され、9はナノ秒の精度を意味します。0は最小精度、9は最大です。
    • サイズ:これは、BINARY型の列に対してのみ適用されます。バイト単位でサイズを指定すると、バイナリは固定バイナリになります。
    • デフォルト値: (オプション)列のデフォルト値を指定します。

      ノート:

      バイナリおよびJSONデータ型の列には、デフォルト値を指定できません。
    • 値はnullではありません:列が常に値を持つように指定するには、このオプションをクリックします。
    • +別の列:列を追加するには、このボタンをクリックします。
  6. 「列の追加」をクリックします。
    新しい列が表に追加されます。
現在のページのヘルプを表示するには、ページの上部にあるヘルプ・リンクをクリックします。

表の列の追加: 拡張DDL入力モード

拡張DDL表列更新モードを使用して、表列をOracle NoSQL Database Cloud Service表に追加する方法について学習します。

表の列を追加するには:
  1. インフラストラクチャ・コンソールからNoSQLコンソールにアクセスします。インフラストラクチャ・コンソールからのサービスへのアクセスを参照してください。
  2. NoSQLコンソールには、テナント内のすべての表がリストされます。
  3. 「列の追加」をクリックします。
  4. 「列の追加」ウィンドウで、「表の列の更新モード」「拡張DDL入力」を選択します。
  5. 表の更新のDDL文を入力します。例については、開発者ガイド表の変更を参照してください。
  6. 「列の追加」をクリックします。
    新しい列が表に追加されます。

表の列の削除

シングルトン表から列を削除する方法を学習します。

表の列を削除するには:
  1. インフラストラクチャ・コンソールからNoSQLコンソールにアクセスします。インフラストラクチャ・コンソールからのサービスへのアクセスを参照してください。
  2. NoSQLコンソールには、テナント内のすべての表がリストされます。表の詳細ページで、「リソース」の下の「列」タブを選択します。表に追加されたすべての列のリストが表示されます。
  3. 削除する非主キー列の末尾にある3つの垂直ドットをクリックします。列を削除できる場合は、確認メッセージが表示されます。確認すると、列が削除されます。

    ノート:

    スキーマが凍結されているため、グローバル・アクティブ表の列は削除できません。

グローバル・アクティブ表のスキーマの変更

スキーマへの変更にはすべてのレプリカへのデータの再同期が含まれるため、グローバル・アクティブ表のスキーマは変更しないでください。

かわりに、JSON列で使用可能な柔軟性を利用して、スキーマを変更することもできます。グローバル・アクティブ表へのスキーマ変更を回避できない場合は、次のステップに従います。
  1. スキーマを変更する必要がある表のレプリカを削除します。
  2. 表の詳細で、「凍結解除」をクリックして、シングルトン表のスキーマを「変更可能」に戻します。
  3. 表のスキーマを変更します。
  4. 表の詳細で、「凍結」をクリックして表のスキーマを凍結します。スキーマの状態が「凍結」に変わります。
  5. リージョナルテーブルレプリカを再作成します。

リージョナル・レプリカの削除

グローバル・アクティブ表のリージョン・レプリカを削除できます。

「表」ページの「リソース」で、「レプリカ」をクリックします。グローバル・アクティブ表のすべてのレプリカがリストされます。リージョナル・レプリカを削除するには、リージョナル・レプリカの右側にある3つのドットをクリックし、「削除」を選択します。確認を指定すると、リージョナル・レプリカが削除されます。すべてのリージョナル・レプリカが削除されると、グローバル・アクティブ表はシングルトン表になります。

親子表のレプリカの削除:

レプリカを削除すると、レプリカ・リージョン内の表が削除されます。親子表には依存関係があります。子表がグローバル・アクティブ表の場合、親表からレプリカを削除する前に、まず子表からレプリカを削除する必要があります。親子表の表階層の最下位から最上位にレプリカを削除します(最初にレプリカから子を削除してから親を削除します)。子表がグローバル・アクティブ表の場合は、他のレプリカ・リージョンからのドロップ・レプリカを使用して削除します。子表がシングルトン表の場合は、ドロップ表を使用してレプリカ・リージョンから削除します。

例: A、A.BおよびA.B.Cの3つの親子表があります。親子表には次のレプリカがあります。
  • 表Aは、iad、phxおよびsjcにレプリカを持つGATです。
  • 表A.Bはiad、phxにレプリカを持つGATです
  • 表A.B.Cは、リージョンphxのシングルトン表です。
表Aからレプリカphxを削除するには、まずその子表A.BおよびA.B.Cをphxから下から上にドロップする必要があります。
  1. phxで、表A.B.Cを削除します
  2. iadで、表A.Bからレプリカphxを削除します

グローバル・アクティブ表をシングルトン表に変更する

グローバル・アクティブ表からすべてのレプリカを削除して、シングルトン表に戻すことができます。

  • 「表の詳細」ページで、「リソース」の下の「レプリカ」をクリックします。表に追加されたリージョナル・レプリカのリストが表示されます。
  • 削除するリージョナルレプリカに対応するアクションメニューをクリックし、「削除」を選択します。

すべてのレプリカが削除されると、表はシングルトン表になります。これを確認するには、データベース内の表のリストを確認します。「表」で、この表のグローバル・アクティブ・オプションの値が「いいえ」であることがわかります。