6 表領域およびデータベースの暗号化変換
オンラインとオフラインの両方の表領域およびデータベースで暗号化操作を実行できます。
- 表領域およびデータベースの暗号化変換について
CREATE TABLESPACE
SQL文を使用して、新しい表領域を暗号化できます。ALTER TABLESPACE
によって、既存の表領域を暗号化できます。 - 暗号化された表領域に対する閉じられたTDEキーストアの影響
Oracle管理の表領域が暗号化されている場合は、TDEキーストアを閉じたり、移行したりできますが、Oracle管理の表領域に対する操作を禁止するにはデータベース・システム自体を停止する必要があります。 - 透過的データ暗号化表領域暗号化の使用に関する制限
表領域を暗号化する際は、透過的データ暗号化の使用に関する制限事項に注意する必要があります。 - 暗号化された新しい表領域の作成
新しい表領域を作成する際、作成のプロセス中に暗号化設定を構成できます。 - 表領域のデフォルトの暗号化アルゴリズムの設定
TABLESPACE_ENCRYPTION_DEFAULT_ALGORITHM
動的パラメータは、今後の表領域作成操作のデフォルトの暗号化アルゴリズムを定義します。 - 将来の表領域の暗号化
将来作成する表領域を自動的に暗号化するようOracle Databaseを構成できます。 - データ・ディクショナリ内の機密資格証明データの暗号化
SYS.LINK$
システム表内およびSYS.SCHEDULER$_CREDENTIAL
システム表内の機密資格証明データを暗号化できます。 - 既存のオフライン表領域の暗号化変換
ALTER TABLESPACE
SQL文のOFFLINE
、ENCRYPT
およびDECRYPT
句を使用して、オフライン暗号化変換を実行できます。 - 既存のオンライン表領域の暗号化変換
ALTER TABLESPACE
SQL文をONLINE
およびENCRYPT
またはDECRYPT
句とともに使用することによって、オンラインの既存の表領域を暗号化および復号化できます。 - 既存のデータベースの暗号化変換
オフラインおよびオンライン両方のデータベースを暗号化できます。
親トピック: 透過的データ暗号化の使用
表領域およびデータベースの暗号化変換について
CREATE TABLESPACE
SQL文を使用して、新しい表領域を暗号化できます。ALTER TABLESPACE
によって、既存の表領域を暗号化できます。
新規または既存の表領域の暗号化に加えて、全データベースを暗号化できます。その場合、Oracle管理の表領域(このリリースではSYSTEM
、SYSAUX
、TEMP
およびUNDO
表領域)も暗号化されます。全データベースを暗号化するには、ALTER DATABASE
ではなく、ALTER TABLESPACE
を使用してOracle管理の表領域を暗号化します。
次の表で、表領域およびデータベースのオフラインとオンラインの暗号化変換の違いを比較します。
表6-1 オフラインとオンラインの表領域およびデータベースの暗号化変換
機能 | オフライン変換 | オンライン変換 |
---|---|---|
最小の変換機能があるリリース |
Oracleデータベース11gリリース2 (11.2) |
Oracle Database 12cリリース2 (12.2)以降 |
バックポートできるもの |
AES128 アルゴリズムでのデータ・ファイルの暗号化および復号化の機能(次を使用 またはDECRYPT )をOracle Databaseリリース12.1.0.2および11.2.0.4で使用できます。
|
いいえ |
サポートされるアルゴリズム |
TDEがサポートするすべての対称型暗号化アルゴリズム。サポートされる暗号化と整合性のアルゴリズムを参照してください。既存のオフライン表領域の暗号化変換についてを参照してください。 |
TDEがサポートするすべての対称型暗号化アルゴリズム。サポートされる暗号化と整合性のアルゴリズムを参照してください。既存のオンライン表領域の暗号化変換についてを参照してください。 |
変換をいつ実行できるか |
表領域がオフラインであるか、データベースがマウント段階にあるとき。 |
表領域がオンラインで、データベースが読取り/書込みモードで開いているとき。 |
変換に補助領域が必要か |
いいえ |
はい。ガイドラインは、オンライン変換での既存の表領域の暗号化を参照してください。 |
Oracle Data Guardの変換ガイドライン |
プライマリおよびスタンバイの両方を手動で変換します。スタンバイを最初に変換し、最小停止時間に切り替えます |
プライマリを変換した後、スタンバイ変換が自動的に行われます。スタンバイでは、オンライン変換を直接実行することはできません。 |
表領域 |
Oracle Database 12cリリース2 (12.2)以降のみ。 |
Oracle Database 12cリリース2 (12.2)以降のみ。 |
既存の |
いいえ、ただし、Oracle Database 12cリリース2 (12.2)以降で |
いいえ、ただし、Oracle Database 12cリリース2 (12.2)以降で |
既存の表領域を復号化できるか |
以前にオフライン暗号化操作によって暗号化された表領域またはデータ・ファイルのみ復号化できます。一度暗号化された |
はい、ただし、一度暗号化された |
暗号化キーをキー更新できるか |
いいえ、ただし、表領域が暗号化された後、オンライン変換を使用してOracle Database 12cリリース2 (12.2)の互換性でキー変更できます。 |
はい |
暗号化操作を並列して実行できるか |
複数のユーザー・セッションを実行しているデータ・ファイル・レベルで、並列した暗号化変換を実行できます。 |
複数のユーザー・セッションが実行している表領域レベルで、並列した暗号化変換を実行できます。 |
暗号化変換SQL文が完了できなかった場合どうするか |
暗号化または復号化SQL文を再発行して、表領域内のすべてのデータ・ファイルが確実に一貫して暗号化または復号化されるようにします。 |
|
親トピック: 表領域およびデータベースの暗号化変換
暗号化された表領域に対する閉じられたTDEキーストアの影響
Oracle管理の表領域が暗号化されている場合は、TDEキーストアを閉じたり、移行したりできますが、Oracle管理の表領域に対する操作を禁止するにはデータベース・システム自体を停止する必要があります。
閉じられたTDEキーストアは、暗号化されたOracle管理の表領域(このリリースでは、SYSTEM
、SYSAUX
、TEMP
およびUNDO
表領域)に関係する操作に影響しません。これにより、TDEキーストアが閉じられているときにも、バックグラウンド・プロセス(ログ・ライターなど)によって実行される操作をこれらの表領域に対して引き続き実行できます。暗号化されたOracle管理の表領域に対する操作を禁止する場合は、データベースを停止する必要があります。
ユーザー作成の表領域に関しては、TDEキーストアが閉じられていることによって、キーのローテーション、表領域の復号化などの操作が、以前のリリースと同様にORA-28365 ウォレットがオープンしていません
というエラーで失敗します。ユーザー作成の表領域に対する操作を禁止する場合は、TDEキーストアを閉じます(または、データベースを停止します)。
ユーザー作成のデータは、TDEキーストアが開いている間にユーザー作成の表領域から暗号化されたOracle管理の表領域にコピーできます(たとえば、DBMS_STATS
統計収集などの内部プロセスによって)。キーストアを閉じた場合、ユーザーがV$ENCRYPTION_WALLET
ビューを問い合せたときにTDEキーストアがCLOSED
状態であっても、後でこのデータを表示することは妨げられません。暗号化されたユーザー作成の表領域を問い合せることによって元のデータにアクセスしようとすると失敗し、ORA-28365 ウォレットがオープンしていません
というエラーが返されます。
表6-2に、ユーザー作成の表領域およびOracle管理の表領域の暗号化されたデータに対する操作を禁止または許可するために必要な操作を示します。たとえば、最初のシナリオでは、ユーザー作成の表領域とOracle管理の表領域の両方が暗号化されています。この場合、暗号化されたユーザー作成の表領域の暗号化データに関しては、管理者はキーストアを開閉し、暗号化されたユーザー作成の表領域を持つデータベースを停止およびオープンできます。暗号化されたOracle管理の表領域が構成されている場合、管理者はデータベースを停止することで操作を禁止できます。また、マウント・モードで起動してTDEキーストアを開き、データベースをオープンすることで操作を許可できます。(暗号化されたOracle管理の表領域にあるブートストラップ・ディクショナリ表を復号化するためにTDEマスター暗号化キーが必要になる可能性があるため、データベースをオープンする前にTDEキーストアを開く必要があります。)この表の該当なしフラグは暗号化されていないデータを示しており、インスタンスが停止されないかぎり、常に操作できます。
表6-2 暗号化データの操作を禁止または許可するために必要なコマンド
表領域の暗号化のシナリオ | 暗号化されたユーザー作成の表領域のデータの操作を禁止するコマンド | 暗号化されたOracle管理の表領域のデータの操作を禁止するコマンド | 暗号化されたユーザー作成の表領域のデータの操作を許可するコマンド | 暗号化されたOracle管理の表領域のデータの操作を許可するコマンド |
---|---|---|---|---|
ユーザー作成の表領域およびOracle管理の表領域の両方が暗号化されている |
|
SHUTDOWN |
|
|
ユーザー表領域は暗号化されていて、Oracle管理の表領域は暗号化されていない |
|
該当なし |
|
該当なし |
ユーザー表領域は暗号化されておらず、Oracle管理の表領域は暗号化されている | 該当なし | SHUTDOWN |
該当なし |
|
ユーザー表領域もOracle管理の表領域も暗号化されていない | 該当なし | 該当なし | 該当なし | 該当なし |
親トピック: 表領域およびデータベースの暗号化変換
透過的データ暗号化表領域暗号化の使用に関する制限
表領域を暗号化する際は、透過的データ暗号化の使用に関する制限事項に注意する必要があります。
次の制約に注意してください:
-
透過的データ暗号化(TDE)表領域暗号化では、SQLレイヤーでデータを暗号化および復号化するTDE列暗号化とは対照的に、読取りおよび書込み操作時にデータを暗号化または復号化します。このことは、データ型制限や索引タイプ制限など、TDE列暗号化に適用される制限のほとんどが、TDE表領域暗号化には適用されないことを意味します。
-
インポートおよびエクスポート操作を実行するには、Oracle Data Pumpを使用します。
暗号化された新しい表領域の作成
新しい表領域を作成する際、作成のプロセス中に暗号化設定を構成できます。
- ステップ1: 表領域暗号化のCOMPATIBLE初期化パラメータの設定
暗号化された表領域を作成する前に、COMPATIBLE
初期化パラメータを設定する必要があります。 - ステップ2: 表領域TDEマスター暗号化キーの設定
TDEマスター暗号化キーが構成されていることを確認する必要があります。 - ステップ3: 暗号化された表領域の作成
COMPATIBLE
初期化パラメータを設定したら、暗号化された表領域の作成の準備は完了です。
親トピック: 表領域およびデータベースの暗号化変換
ステップ1: 表領域暗号化のCOMPATIBLE初期化パラメータの設定
暗号化された表領域を作成する前に、COMPATIBLE
初期化パラメータを設定する必要があります。
- 表領域暗号化のためのCOMPATIBLE初期化パラメータの設定について
最小のCOMPATIBLE
初期化パラメータ設定である11.2.0.0
では、表領域暗号化機能の完全なセットが有効になります。 - 表領域暗号化のためのCOMPATIBLE初期化パラメータの設定について
COMPATIBLE
初期化パラメータを設定するには、データベース・インスタンスの初期化パラメータを編集する必要があります。
親トピック: 暗号化された新しい表領域の作成
表領域暗号化のためのCOMPATIBLE初期化パラメータの設定について
最小のCOMPATIBLE
初期化パラメータ設定である11.2.0.0
では、表領域暗号化機能の完全なセットが有効になります。
互換性を11.2.0.0
に設定すると、次の機能を使用できます。
-
11.2.0.0
に設定することにより、データベースでは、データの暗号化にサポートしている4つのアルゴリズム(3DES168
、AES128
、AES192
およびAES256
)の任意のものを使用できます。 -
11.2.0.0
に設定することにより、ソフトウェア・キーストアからハードウェア・キーストアにキーを移行できます(TDEマスター暗号化キーがハードウェア・キーストア用に構成されていることを確認します)。 -
11.2.0.0
に設定することにより、TDEマスター暗号化キーをキー更新できます。
COMPATIBLE
パラメータを11.2.0.0
に設定すると、変更を元に戻せないことに注意してください。表領域暗号化を使用するには、互換性設定が最低でも11.2.0.0
であることを確認します。
関連項目:
-
COMPATIBLE
パラメータの詳細は、Oracle Database SQL言語リファレンスを参照してください。 -
初期化パラメータ・ファイルの詳細は、Oracle Database管理者ガイドを参照してください。
ステップ2: 表領域TDEマスター暗号化キーの設定
TDEマスター暗号化キーが構成されていることを確認する必要があります。
- 統一モードまたは分離モードで使用するステップと同じステップを使用して、ソフトウェアTDEマスター暗号化キーまたはハードウェアTDEマスター暗号化キーのTDEマスター暗号化キーを設定します。
親トピック: 暗号化された新しい表領域の作成
ステップ3: 暗号化された表領域の作成
COMPATIBLE
初期化パラメータを設定したら、暗号化された表領域の作成は完了です。
- 暗号化された表領域の作成について
暗号化された表領域を作成するには、CREATE TABLESPACE
SQL文を使用します。 - 暗号化された表領域の作成
暗号化された表領域を作成するには、ENCRYPTION USING
句を含むCREATE TABLESPACE
文を使用する必要があります。 - 例: AES192を使用する暗号化された表領域の作成
CREATE TABLESPACE
SQL文を使用して、暗号化された表領域を作成できます。 - 例: デフォルト・アルゴリズムを使用する暗号化された表領域の作成
CREATE TABLESPACE
SQL文を使用して、デフォルト・アルゴリズムを使用する暗号化された表領域を作成できます。
親トピック: 暗号化された新しい表領域の作成
暗号化された表領域の作成について
暗号化された表領域を作成するには、CREATE TABLESPACE
SQL文を使用します。
暗号化された表領域を作成するには、CREATE TABLESPACE
システム権限が必要です。
Oracle Data Pumpを使用して、暗号化された表領域にデータをインポートできます。CREATE TABLE...AS SELECT...
やALTER TABLE...MOVE...
などのSQL文を使用して、暗号化された表領域にデータを移動することもできます。CREATE TABLE...AS SELECT...
文は、既存の表から表を作成します。ALTER TABLE...MOVE...
文は、暗号化された表領域に表を移動します。
セキュリティ上の理由から、NO SALT
オプションを使用して表領域を暗号化することはできません。
表領域が暗号化されたかどうかを確認するために、DBA_TABLESPACES
データ・ディクショナリ・ビューおよびUSER_TABLESPACES
データ・ディクショナリ・ビューのENCRYPTED
列を問い合せることができます。
関連項目:
DBA_TABLESPACES
およびUSER_TABLESPACES
データ・ディクショナリ・ビューの詳細は、Oracle Databaseリファレンスを参照してください。
親トピック: ステップ3: 暗号化された表領域の作成
暗号化された表領域の作成
暗号化された表領域を作成するには、ENCRYPTION USING
句を含むCREATE TABLESPACE
文を使用する必要があります。
CREATE TABLESPACE
文を実行します。
例:
CREATE TABLESPACE encrypt_ts
DATAFILE '$ORACLE_HOME/dbs/encrypt_df.dbf' SIZE 1M
ENCRYPTION USING 'AES256' ENCRYPT;
ここでは次のように指定します。
-
ENCRYPTION USING 'AES256' ENCRYPT
は、暗号化アルゴリズムおよび暗号化キーの長さを指定します。ENCRYPT
句は、表領域を暗号化します。この設定は一重引用符(' ')で囲みます。キー長は、アルゴリズムの名前に含まれています。暗号化アルゴリズムを指定しない場合は、デフォルトの暗号化アルゴリズムAES128
が使用されます。
親トピック: ステップ3: 暗号化された表領域の作成
例: AES192を使用する暗号化された表領域の作成
CREATE TABLESPACE
SQL文を使用して、暗号化された表領域を作成できます。
例6-1では、AES192
アルゴリズムを使用して暗号化された、securespace_1
という表領域を作成します。キー長は192ビットです。
例6-1 AES192を使用する暗号化された表領域の作成
CREATE TABLESPACE securespace_1 DATAFILE '/home/user/oradata/secure01.dbf' SIZE 150M ENCRYPTION USING 'AES192' ENCRYPT;
親トピック: ステップ3: 暗号化された表領域の作成
例: デフォルト・アルゴリズムを使用する暗号化された表領域の作成
CREATE TABLESPACE
SQL文を使用して、デフォルト・アルゴリズムを使用する暗号化された表領域を作成できます。
例6-2では、securespace_2
という表領域を作成します。暗号化アルゴリズムが指定されていないため、デフォルトの暗号化アルゴリズム(AES128
)が使用されます。キー長は128ビットです。
既存の表領域は暗号化できません。
例6-2 デフォルト・アルゴリズムを使用する暗号化された表領域の作成
CREATE TABLESPACE securespace_2 DATAFILE '/home/user/oradata/secure01.dbf' SIZE 150M ENCRYPTION ENCRYPT;
親トピック: ステップ3: 暗号化された表領域の作成
表領域のデフォルトの暗号化アルゴリズムの設定
TABLESPACE_ENCRYPTION_DEFAULT_ALGORITHM
動的パラメータは、今後の表領域作成操作のデフォルトの暗号化アルゴリズムを定義します。
TABLESPACE_ENCRYPTION_DEFAULT_ALGORITHM
は、オフライン表領域暗号化操作とオンライン表領域暗号化操作の両方に適用されます。また、ENCRYPT_NEW_TABLESPACES
パラメータで設定される今後の暗号化される表領域にも適用されます。マルチテナント環境では、ルートまたは個々のPDBでTABLESPACE_ENCRYPTION_DEFAULT_ALGORITHM
を設定できます。
親トピック: 表領域およびデータベースの暗号化変換
将来の表領域の暗号化
将来作成する表領域を自動的に暗号化するようOracle Databaseを構成できます。
- 将来の表領域の暗号化について
将来の表領域を暗号化する機能は、Oracle Cloud環境でのデータ侵害の防止に役立ちます。 - 将来の表領域の暗号化設定
ENCRYPT_NEW_TABLESPACES
データベース初期化パラメータを設定して、将来作成する表領域を自動的に暗号化できます。
親トピック: 表領域およびデータベースの暗号化変換
将来の表領域の暗号化について
将来の表領域を暗号化する機能は、Oracle Cloud環境でのデータ侵害の防止に役立ちます。
ENCRYPT_NEW_TABLESPACES
データベース初期化パラメータは、将来のデータベースの暗号化方法を制御します。
Oracle Databaseを完全にOracle Cloudで作成および実行できます。この構成はクラウド内の顧客のデータをホストするため、可能なかぎり暗号化を有効にすることをお薦めします。長期的な目標は、Oracle Cloud内のすべてのデータを暗号化することです。あるいは、データベースをクラウドとオンプレミスの両方で持つこともできます。
Oracle Cloud環境では、Oracle Cloud環境およびオンプレミスの環境に暗号化された表領域を作成するときに、次のシナリオが発生する場合があります。
-
Oracle Cloudにテスト・データベースを作成し、
ENCRYPT_NEW_TABLESPACE
パラメータが、暗号化の際にクラウド・データベースを自動的に作成するよう設定されているときに表領域が暗号化されました。ところが、そういった意図がないか、暗号化されたデータベースをオンプレミスに戻すAdvanced Security Optionライセンスさえも持っていない場合があります。 -
プライマリ・データベースがオンプレミスで、スタンバイ・データベースがOracle Cloudにある、ハイブリッドの定義者権限環境を作成します。切り替え操作が行われた場合、新しいプライマリはOracle Cloud上になります。新しい表領域が透過的に暗号化された場合、このリストの最初の項目に対して同様のシナリオが発生することがあります。たとえば、Advanced Security Option (ASO)ライセンスを持っておらず、自動的に暗号化された表領域がOracle Cloudにあるとします。オンプレミスのスタンバイ・データベースも自動的に暗号化されます。この場合、ASOライセンスを持っていないため、スタンバイ・データベースを使用できません。この問題を修正するには、
ENCRYPT_NEW_TABLESPACES
をDDL
に設定して、Oracle Cloudの表領域の暗号化を防ぎます。
親トピック: 将来の表領域の暗号化
データ・ディクショナリ内の機密資格証明データの暗号化
SYS.LINK$
システム表およびSYS.SCHEDULER$_CREDENTIAL
システム表内の機密資格証明データを暗号化できます。
デフォルトでは、SYS.LINK$
システム表内およびSYS.SCHEDULER$_CREDENTIAL
システム表内の資格証明データは、不明瞭化されています。ただし、多くのタイプの不明瞭化解除アルゴリズムが使用可能であるため、Oracleでは、この機密資格証明データを暗号化することをお薦めします。データ・ディクショナリ資格証明のステータスを確認するために、DICTIONARY_CREDENTIALS_ENCRYPT
データ・ディクショナリ・ビューを問い合せることができます。
これらの2つのシステム表内の機密資格証明データの暗号化には、透過的データ暗号化を使用します。資格証明データの暗号化には、AES256アルゴリズムを使用します。資格証明データを暗号化するには、Oracle Advanced Security Optionライセンスを所有している必要はありませんが、SYSKM
管理権限が付与されている必要があります。また、データベースには、開いているキーストアがある必要があります。
親トピック: 表領域およびデータベースの暗号化変換
既存のオフライン表領域の暗号化変換
ALTER TABLESPACE
SQL文のOFFLINE
、ENCRYPT
およびDECRYPT
句を使用して、オフライン暗号化変換を実行できます。
- 既存のオフライン表領域の暗号化変換について
表領域がオフラインのとき、またはデータベースが開いていないときに、ユーザー表領域の既存のデータ・ファイルを暗号化または復号化できます。 - オフライン変換での既存のユーザー定義表領域の暗号化
既存の表領域をオフライン変換で暗号化するには、ALTER TABLESPACE
SQL文をOFFLINE
句およびENCRYPT
句とともに使用できます。 - オフライン変換での既存の表領域の復号化
既存の表領域をオフライン変換で復号化するには、ALTER TABLESPACE
SQL文をOFFLINE
句およびDECRYPT
句とともに使用できます。
親トピック: 表領域およびデータベースの暗号化変換
既存のオフライン表領域の暗号化変換について
表領域がオフラインのとき、またはデータベースが開いていないときに、ユーザー表領域の既存のデータ・ファイルを暗号化または復号化できます。
このオフラインの暗号化方法は、データベースの互換性をOracle Database 11cリリース2 (11.2)またはOracle Database 12cリリース1 (12.1)からリリース18cに変更する(元に戻すことはできません)ことを計画していない場合に使用します。オフラインの暗号化方法は、このデータベースをリリース18cにアップグレードする前に、透過的データ暗号化を簡単に利用する場合にも便利です。オフライン表領域は、暗号化と復号化の両方を行うことができます。
次の点に注意してください。
-
Oracle Database提供の表領域(
SYSTEM
、SYSAUX
およびUNDO
)をオフライン変換方法を使用して暗号化する場合には、オフライン変換での既存のデータベースの暗号化に記載された方法を使用する必要があります。 -
オンラインの方法を使用して、以前にオフラインの方法で暗号化された表領域をキー更新できます。
-
Oracle Data Guardを構成している場合には、先にスタンバイの表領域を暗号化し、プライマリに切り替えてから、プライマリの表領域を暗号化することによって、停止時間を最小限に抑えることができます。
-
USING ... ENCRYPT
句を使用して、暗号化アルゴリズムを指定できます。サポートされているアルゴリズムは、AES128
、AES192
、AES256
およびその他(ARIA
、GOST
など)です。暗号化キーを確認するには、V$DATABASE_KEY_INFO
ビューのENCRYPTIONALG
列を問い合せます。 -
今後のオフライン表領域暗号化操作のためにデフォルトの暗号化アルゴリズムを設定するには、
TABLESPACE_ENCRYPTION_DEFAULT_ALGORITHM
動的パラメータを設定します。 -
ALTER TABLESPACE
文を使用すると、各種のデータ・ファイルを暗号化するために、オフライン表領域を複数のフォアグラウンド・セッションを使用して並列で変換できます。 -
Oracle Data Guardを使用する場合には、先にスタンバイの表領域を暗号化し、切り替えてから、次に元のプライマリの表領域を暗号化することによって、停止時間を最小限に抑えることができます。
-
Oracle Database 11gリリース2 (11.2.0.4)およびOracle Database 12cリリース1 (12.1.0.2)では、表領域
SYSTEM
およびSYSAUX
のオフライン暗号化は実行できません。また、これらのリリースでUNDO
表領域をオフラインで暗号化することはお薦めしません。これを行うとキーストアを閉じられなくなり、データベースが機能しなくなります。また、暗号化された表領域に関連付けられたすべてのUNDOレコードは、すでに自動的にUNDO
表領域に暗号化されているため、データベースがオフラインの間にUNDO
表領域を暗号化する必要はありません。TEMP
表領域を暗号化するには、削除してから、暗号化済として再作成する必要があります。
オフライン変換での既存のユーザー定義表領域の暗号化
既存の表領域をオフライン変換で暗号化するには、ALTER TABLESPACE
SQL文をOFFLINE
句およびENCRYPT
句とともに使用できます。
SYSTEM
およびUNDO
は、オフラインにできません。表領域をオフラインで暗号化する場合には、オフライン変換での既存のデータベースの暗号化に記載された方法を使用する必要があります。
親トピック: 既存のオフライン表領域の暗号化変換
オフライン変換での既存の表領域の復号化
既存の表領域をオフライン変換で復号化するには、ALTER TABLESPACE
SQL文をOFFLINE
句およびDECRYPT
句とともに使用できます。
親トピック: 既存のオフライン表領域の暗号化変換
既存のオンライン表領域の暗号化変換
ALTER TABLESPACE
SQL文をONLINE
およびENCRYPT
またはDECRYPT
句とともに使用することによって、オンラインの既存の表領域を暗号化および復号化できます。
- 既存のオンライン表領域の暗号化変換について
既存のユーザー表領域、SYSTEM
、SYSAUX
およびUNDO
表領域がオンラインのとき、これらを暗号化、復号化またはキー更新できます。 - オンライン変換での既存の表領域の暗号化
オンライン変換で既存の表領域を暗号化するには、ALTER TABLESPACE
をONLINE
およびENCRYPT
句とともに使用します。 - オンライン変換での既存の表領域のキー更新
オンラインの既存の表領域をキー更新するには、ALTER TABLESPACE
SQL文のREKEY
句を使用できます。 - オンライン変換での既存の表領域の復号化
既存の表領域をオンライン変換で復号化するには、ALTER TABLESPACE
SQL文をDECRYPT
句とともに使用できます。 - 中断されたオンライン暗号化変換の終了
オンライン暗号化プロセスが中断された場合は、FINISH
句を使用してALTER TABLESPACE
文を再実行することで、変換を完了できます。
親トピック: 表領域およびデータベースの暗号化変換
既存のオンライン表領域の暗号化変換について
既存のユーザー表領域、SYSTEM
、SYSAUX
およびUNDO
表領域がオンラインのとき、これらを暗号化、復号化またはキー更新できます。
ただし、一時表領域をオンラインで暗号化、復号化またはキー更新することはできません。
オンラインの表領域は、CREATE TABLESPACE
SQL文のONLINE
句を使用して作成できます。表領域をオンラインで暗号化またはキー更新すると、表領域は固有の暗号化キーおよびアルゴリズムを持つことになります。
次の点に注意してください。
-
オフライン表領域が暗号化されている場合、オンラインでキー更新して別のアルゴリズムを使用できます。
-
異なる表領域を暗号化するために、複数のフォアグラウンド・セッションを使用して、複数の表領域をオンラインで並列して暗号化できます。各表領域内では、データ・ファイルは順に暗号化されます。
-
今後のオンライン表領域暗号化操作のためにデフォルトの暗号化アルゴリズムを設定するには、
TABLESPACE_ENCRYPTION_DEFAULT_ALGORITHM
動的パラメータを設定します。 -
変換が中断された場合、
ALTER TABLESPACE
SQL文のFINISH
句を発行してプロセスを再開できます。 -
各オンライン表領域変換に対してREDOログが生成されます。
-
表領域
SYSTEM
およびUNDO
は、他の表領域と同時に暗号化しないでください。 -
表領域を暗号化している間は、Oracle Data Pumpでトランスポータブル表領域機能を使用できません。
-
ALTER TABLESPACE
文は、次の機能と同時に実行することはできません。-
ADMINSTER KEY MANAGEMENT SET KEY
SQL文 -
FLASHBACK DATABASE
SQL文
-
-
データ・ファイルにOracle Managed Filesを使用する場合、暗号化プロセスは表領域に関連付けられたデータ・ファイルをキー更新し、それらをデフォルトのOracle Managed Filesの場所にコピーまたは移動します。
-
新しいファイルは、暗号化した後に表領域に追加できます。Oracle Databaseは新しいファイルを新しい暗号化キーで再フォーマットします。新しいキーを使用してブロックが暗号化されます。
-
ルートまたはPDBで行われた以前の操作は、オンライン変換プロセスを開始する前に、制御ファイルをデータ・ディクショナリに対してクロスチェックする必要がある場合があります。
ORA-241 operation disallowed: control file is not yet checked against data dictionary
エラーが発生する場合があります。この問題を解決するには、ルートまたはPDBを再起動し、再度オンライン変換コマンドの発行を試行します。 - セキュリティ上の理由から、オンライン変換によってデータ・ファイルが処理されると、元のデータ・ファイルが削除前にゼロアウトされます。これにより、データベースがディスク・セクターにゴースト・データを残さなくなります。ただし、Oracle Recovery Manager (Oracle RMAN)のファイルの検証と同時にオンライン表領域変換を実行した場合に発生する可能性がある既知の制限があります。オンライン表領域変換では、各ファイルが一度に1つずつ処理されます。オンライン表領域変換によってファイルが処理されているときにOracle RMANがファイルを検証した場合、Oracle RMANが破損の問題を報告することがあります(
ORA-01578: Oracleデータ・ブロックに障害が発生しました(ファイル番号%s、ブロック番号%s))。
このようになるのは、ファイルを構成するブロックがゼロと見なされるためです。これは間違ったアラームであり、このエラーは無視できます。これが発生した場合は、Oracle RMAN検証プロセスを再度実行してください。
オンライン変換での既存の表領域の暗号化
オンライン変換で既存の表領域を暗号化するには、ALTER TABLESPACE
をONLINE
およびENCRYPT
句とともに使用します。
V$ENCRYPTED_TABLESPACES
動的ビューのSTATUS
列を問い合せて、暗号化ステータスを確認できます。このビューのENCRYPTIONALG
列には、使用されている暗号化アルゴリズムが示されます。変換プロセスが中断された場合、ALTER TABLESPACE
をFINISH
句とともに実行してプロセスを再開できます。たとえば、プライマリ・データ・ファイルが変換され、スタンバイ・データ・ファイルは変換されなかった場合、スタンバイ・データ・ファイルのスタンバイ・データベースでALTER TABLESPACE ... FINISH
を実行できます。
オンライン変換での既存の表領域のキー更新
オンラインの既存の表領域をキー更新するには、ALTER TABLESPACE
SQL文のREKEY
句を使用できます。
-
TEMP
表領域をキー更新することはできません。TEMP
表領域に異なる暗号化アルゴリズムを割り当てる場合には、TEMP
を削除して、正しい暗号化アルゴリズムで再作成します。 -
オンライン表領域のキー更新操作とマスター・キーの操作を同時に実行しないでください。いずれかの表領域が現在キー更新中かどうかを確認するには、次の問合せを発行して、暗号化された表領域のキー更新ステータスを確認します。
SELECT TS#,ENCRYPTIONALG,STATUS FROM V$ENCRYPTED_TABLESPACES;
REKEYING
というステータスは、対応する表領域がまだキー更新中であることを意味します。このステータスが適用される間は、マスター・キーをキー更新しないでください。
オンライン変換を使用して既存の表領域をキー更新するには、次の手順を実行します。
ALTER TABLESPACE
をFINISH
句とともに実行してプロセスを再開できます。
オンライン変換での既存の表領域の復号化
既存の表領域をオンライン変換で復号化するには、ALTER TABLESPACE
SQL文をDECRYPT
句とともに使用できます。
ALTER TABLESPACE
をFINISH
句とともに実行してプロセスを再開できます。
親トピック: 既存のオンライン表領域の暗号化変換
中断されたオンライン暗号化変換の終了
オンライン暗号化プロセスが中断された場合は、FINISH
句を使用してALTER TABLESPACE
文を再実行することで、変換を完了できます。
ALTER TABLESPACE
SQL文のFILE_NAME_CONVERT
句でのORA-28425: missing a valid FILE_NAME_CONVERT clause
エラーなどの可能性があります。中断されたプロセスの他の例としては、変換でデータ・ファイルをスキップした場合(Oracleデータベース・ライター(DBWR)プロセスがデータ・ファイルをオフラインにしたときにエラーがあった場合に発生する可能性がある)や、補助ファイルのための十分な領域がない場合などがあります。ALTER TABLESPACE
文をFINISH
句を指定して再実行しない場合であっても、表領域は操作可能である必要があります。
親トピック: 既存のオンライン表領域の暗号化変換
既存のデータベースの暗号化変換
オフラインおよびオンライン両方のデータベースを暗号化できます。
- 既存のデータベースの暗号化変換について
データベース全体の暗号化変換では、Oracle提供のSYSTEM
、SYSAUX
、UNDO
およびTEMP
表領域を含むすべての表領域が暗号化されます。 - オフライン変換での既存のデータベースの暗号化
既存のデータベースをオフライン変換で暗号化する場合、Oracle管理の表領域には暗号化アルゴリズムを指定しません。 - オンライン変換での既存のデータベースの暗号化
既存のデータベースをオンライン変換で暗号化するときには、暗号化アルゴリズムを指定しません。
親トピック: 表領域およびデータベースの暗号化変換
既存のデータベースの暗号化変換について
データベース全体の暗号化変換では、Oracle提供のSYSTEM
、SYSAUX
、UNDO
およびTEMP
表領域を含むすべての表領域が暗号化されます。
次の点に注意してください。
-
暗号化を実行するには、表領域暗号化変換のオフラインおよびオンライン機能を使用できます。
-
Oracle提供の表領域のどれかまたはすべてを、任意の順に暗号化できます。Oracle提供の表領域の暗号化は、ユーザー作成の表領域の暗号化に影響が及ぶことはありません。
-
Oracle提供の表領域を暗号化する際、Oracle Databaseはキーストアが閉じないようにします。
-
既存の一時表領域は暗号化できませんが、既存の一時表領域を削除してから、暗号化済として再作成することはできます。
-
暗号化された表領域の機密データから生成されたメタデータ
UNDO
およびTEMP
は、すでに自動的に暗号化されています。そのため、UNDO
およびTEMP
の暗号化はオプションです。 -
Oracle提供の表領域は、デフォルトの表領域暗号化アルゴリズム
AES128
を使用して暗号化することをお薦めします。ただし、必要であれば、これらの表領域を後で異なる暗号化アルゴリズムを使用するようにキー更新できます。(現在のデータベースの暗号化キーを検出するには、V$DATABASE_KEY_INFO
動的ビューを問い合せることができます。) -
データベース内のすべての表領域を暗号化するパフォーマンスの影響は、ワークロードおよびプラットフォームにより異なります。近年のCPUの多くには、内蔵のハードウェア・アクセラレーションが搭載されているため、パフォーマンスへの影響は最小限になります。
-
マルチテナント環境では、Oracle提供の表領域を含めた、プラガブル・データベース(PDB)内の表領域を暗号化できます。ただし、CDBルート内のキーストアは、PDBがキーストアを開けるように、常に開いている必要があります。キーストアが開いているかどうかのステータスは、
V$ENCRYPTION_WALLET
ビューのSTATUS
列を問い合せて、確認できます。
親トピック: 既存のデータベースの暗号化変換
オフライン変換での既存のデータベースの暗号化
既存のデータベースをオフライン変換で暗号化する場合、Oracle管理の表領域には暗号化アルゴリズムを指定しません。
SYSTEM
、SYSAUX
およびUNDO
表領域に異なる暗号化アルゴリズムを使用(TDEマスター暗号化キーを変更)する場合は、オンライン変換を使用する必要があります。サポートされている暗号化アルゴリズムは、AES128
に加えて、AES192
とAES256
、およびARIA
、GOST
などのその他のアルゴリズムです。
親トピック: 既存のデータベースの暗号化変換
オンライン変換での既存のデータベースの暗号化
既存のデータベースをオンライン変換で暗号化するときには、暗号化アルゴリズムを指定しません。
ALTER TABLESPACE ENCRYPTION REKEY
SQL文を発行できます。
関連項目
親トピック: 既存のデータベースの暗号化変換