Exadata Cloud Infrastructure用のOracle Database機能の構成

このトピックでは、Exadata Cloud Infrastructureインスタンスで使用するためにOracle Multitenant、表領域暗号化およびヒュージ・ページを構成する方法について説明します。

Exadata Cloud InfrastructureインスタンスでのOracle Multitenantの使用

Oracle Database 12c以降を使用するExadata Cloud Infrastructureインスタンスを作成すると、Oracle Multitenant環境が作成されます。

マルチテナント・アーキテクチャを使用すると、0個、1個または多数のプラガブル・データベース(PDB)を含むマルチテナント・コンテナ・データベース(CDB)としてOracleデータベースを機能させることができます。PDBは、スキーマ、スキーマ・オブジェクトおよび非スキーマ・オブジェクトの移植可能なコレクションで、Oracle Net Servicesクライアントには非CDBとして表示されます。Oracle Database 12cより前のバージョンを使用するすべてのOracleデータベースは、非CDBです。

プラガブル・データベース(PDB)でOracle Transparent Data Encryption (TDE)を使用するには、PDBのマスター暗号化キーを作成してアクティブにする必要があります。

マルチテナント環境では、各PDBは独自のマスター暗号化キーを持ち、これはすべてのコンテナが使用する単一のキーストアに格納されます。

Exadata Cloud InfrastructureインスタンスCDBにプラグインする暗号化されたPDBのマスター暗号化キーをエクスポートおよびインポートする必要があります。

ソースPDBが暗号化されている場合は、マスター暗号化キーをエクスポートして、インポートする必要があります。

PDB内からTDEマスター暗号化キーをエクスポートおよびインポートすることで、PDBに属するすべてのTDEマスター暗号化キーをエクスポートおよびインポートできます。TDEマスター暗号化キーのエクスポートおよびインポートでは、PDBのアンプラグおよびプラグ操作がサポートされています。PDBのアンプラグとプラグでは、PDBに属するすべてのTDEマスター暗号化キー、およびメタデータが関係します。

リリース191812.2または12.1Oracle Database Advanced Securityガイドの「PDB向けのTDEマスター暗号化キーのエクスポートおよびインポート」を参照してください。

リリース191812.2または12.1Oracle Database SQL言語リファレンスの「ADMINISTER KEY MANAGEMENT」を参照してください。

PDBの暗号化キーを作成してアクティブ化する必要があるかどうかを判断するには

PDBでマスター暗号化キーを作成してアクティブ化するには

マスター暗号化キーをエクスポートおよびインポートするには

表領域暗号化の管理

デフォルトでは、Exadataデータベースに作成するすべての新しい表領域が暗号化されます。

ただし、データベースの作成時に最初に作成される表領域は、デフォルトでは暗号化されない場合があります。

  • Oracle Database 12cリリース2以降を使用するデータベースの場合、データベースの作成時に最初に作成されるUSERS表領域のみ暗号化されます。次の場所にあるUSERS以外の表領域などの他の表領域は暗号化されません:
    • ルート・コンテナ(CDB$ROOT)。
    • シード・プラガブル・データベース(PDB$SEED)。
    • データベースの作成時に作成される最初のPDB。
  • Oracle Database 12cリリース1またはOracle Database 11gを使用するデータベースの場合、データベースの作成時に最初に作成される表領域はいずれも暗号化されません。

Exadataにおける表領域暗号化の実装と、様々なデプロイメント・シナリオへの影響の詳細は、Oracle CloudにおけるOracle Database表領域暗号化の動作を参照してください。

暗号化された表領域の作成

ユーザーが作成した表領域は、デフォルトで暗号化されます。

デフォルトでは、SQL CREATE TABLESPACEコマンドを使用して作成される新しい表領域は、AES128暗号化アルゴリズムで暗号化されます。デフォルトの暗号化を使用するためにUSING 'encrypt_algorithm'句を含める必要はありません。

CREATE TABLESPACEコマンドにUSING 'encrypt_algorithm'句を含めることで、サポートされている別のアルゴリズムを指定できます。サポートされているアルゴリズムは、AES256、AES192、AES128および3DES168です。

表領域暗号化の管理

ソフトウェア・キーストア(Oracle Database 11gではOracleウォレットと呼ばれる)、マスター暗号化キーの管理、および暗号化をデフォルトで有効にするかどうかの制御を行うことができます。

マスター暗号化キーの管理

表領域の暗号化では、2層式のキーベース・アーキテクチャを使用して表領域を透過的に暗号化(および復号化)します。マスター暗号化キーは、外部セキュリティ・モジュール(ソフトウェア・キーストア)に格納されます。このマスター暗号化キーを使用して表領域暗号化キーを暗号化し、これを使用して表領域のデータを暗号化および復号化します。

Exadata Cloud Serviceインスタンスでデータベースが作成されると、ローカル・ソフトウェア・キーストアが作成されます。キーストアはコンピュート・ノードに対してローカルであり、データベース作成プロセス中に指定された管理パスワードによって保護されます。自動ログイン・ソフトウェア・キーストアは、データベースが起動されたときに自動的に開かれます。

ADMINISTER KEY MANAGEMENT SQL文を使用してマスター暗号化キーを変更(ローテーション)できます。例:

SQL> ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY USING TAG 'tag'
IDENTIFIED BY password WITH BACKUP USING 'backup';
keystore altered.

リリース191812.2または12.1Oracle Database Advanced Security管理者ガイドの「TDEマスター暗号化キーの管理」、またはリリース11.2Oracle Database Advanced Security管理者ガイドの「マスター暗号化キーの設定および再設定」を参照してください。

デフォルト表領域暗号化の制御

ENCRYPT_NEW_TABLESPACES初期化パラメータは、新しい表領域のデフォルトの暗号化を制御します。Exadataデータベースでは、このパラメータはデフォルトでCLOUD_ONLYに設定されています。

このパラメータの値は次のとおりです。

説明
ALWAYS 作成中、ENCRYPTION句に別のアルゴリズムが指定されていない場合、表領域はAES128アルゴリズムで透過的に暗号化されます。
CLOUD_ONLY ENCRYPTION句に別のアルゴリズムが指定されていない場合、Exadataデータベース内に作成された表領域はAES128アルゴリズムで透過的に暗号化されます。非クラウド・データベースの場合、表領域が暗号化されるのは、ENCRYPTION句が指定されている場合のみです。デフォルト値はENCRYPTIONです。
DDL 作成中、表領域はデフォルトでは透過的に暗号化されず、ENCRYPTION句が指定されている場合にのみ暗号化されます。
ノート

Oracle Database 12cリリース2 (12.2)以降では、Exadataデータベースに暗号化されていない表領域を作成できなくなりました。ENCRYPT_NEW_TABLESPACESDDLに設定して、ENCRYPTION句を指定しないでCREATE TABLESPACEコマンドを発行すると、エラーメッセージが返されます。

ヒュージ・ページの管理

メモリー量の多いシステムにあるOracle Databaseでは、ヒュージ・ページによってパフォーマンスが大幅に向上します。Exadata Cloud InfrastructureインスタンスのOracle Databaseには、ヒュージ・ページをデフォルトで使用するための構成設定が用意されていますが、ヒュージ・ページの構成を最適化するために手動で調整できます。

ヒュージ・ページはLinuxカーネル2.6に統合されている機能です。ヒュージ・ページを有効化すると、オペレーティング・システムで大規模なメモリー・ページをサポートすることが可能になります。ヒュージ・ページを使用することで、仮想メモリー・アドレスと物理メモリー・アドレスの間のマッピングを格納するLinuxページ表の管理に必要なシステムCPUとメモリー・リソースが削減され、システムのパフォーマンスが向上します。Oracle Databaseでは、ヒュージ・ページを使用すると、システム・グローバル領域(SGA)に関連付けられるページ表エントリの数を大幅に削減できます。

Exadata Cloud Infrastructureインスタンスでは、標準ページは4KBですが、ヒュージ・ページはデフォルトで2MBです。したがって、SGAが50GBのExadata DBシステム上のOracle Databaseでは、SGAを格納するために13,107,200の標準ページが必要ですが、ヒュージ・ページの場合は25,600のみです。結果として、ページ表が小さくなり、格納するためのメモリーとアクセスおよび管理のためのCPUリソースも少なくて済みます。

ヒュージ・ページの構成の調整

Oracle Databaseのヒュージ・ページの構成は、2ステップのプロセスです:

  • オペレーティング・システム・レベルでは、ヒュージ・ページに割り当てられるメモリーの総量は/etc/sysctl.confファイルのvm.nr_hugepagesエントリで制御されます。これは環境内の各コンピュート・ノードで設定されます。すべてのコンピュート・ノードで設定が一貫していることを強くお薦めします。ヒュージ・ページの割当てを変更するには、各コンピュート・ノードで次のコマンドをrootユーザーとして実行します:

    # sysctl -w vm.nr_hugepages=value 

    ここで、valueは割り当てるヒュージ・ページの数です。

    Exadata Cloud Infrastructureインスタンスでは、各ヒュージ・ページはデフォルトで2MBです。したがって、ヒュージ・ページに50GBのメモリーを割り当てるには、次のコマンドを実行します:

    # sysctl -w vm.nr_hugepages=25600
  • Oracle Databaseレベルでは、ヒュージ・ページの使用はUSE_LARGE_PAGESインスタンス・パラメータの設定によって制御されます。この設定は、クラスタ・データベースの各データベース・インスタンスに適用されます。データベースに関連付けられているすべてのデータベース・インスタンスで一貫性のある設定を使用することを強くお薦めします。次のオプションがあります:
    • TRUE - データベース・インスタンスで使用可能な場合にヒュージ・ページを使用できることを示します。11.2.0.3以降のすべてのバージョンのOracle Databaseでは、Oracleはヒュージ・ページを使用して、可能なかぎり多くのSGAを割り当てます。ヒュージ・ページの割当てが使い果たされると、標準メモリー・ページが使用されます。
    • FALSE - データベース・インスタンスでヒュージ・ページを使用しないことを指定します。一般に、ヒュージ・ページが使用可能な場合、この設定は推奨されません。
    • ONLY - データベース・インスタンスでヒュージ・ページを使用する必要があります。この設定では、SGA全体がヒュージ・ページに収まらない場合、データベース・インスタンスの起動に失敗します。

オペレーティング・システム・レベルまたはOracle Databaseレベルで調整を行う場合は、構成全体が機能することを確認してください。

ヒュージ・ページの概要とヒュージ・ページの構成の詳細は、リリース191812.1または11.2Oracle Database管理者リファレンスfor Linux and UNIX-Based Operating Systemsを参照してください。リリース12.212.1または11.2Oracle DatabaseリファレンスUSE_LARGE_PAGESも参照してください。