4.4 Oracle Data Pumpを使用したOracle Data Redactionポリシーおよびオブジェクト転送
データ・リダクション・ポリシーがあるオブジェクトは、データ・ポンプの操作に影響を与える可能性があります。
4.4.1 Oracle Data RedactionのためのOracle Data Pumpセキュリティ・モデル
DATAPUMP_EXP_FULL_DATABASE
ロールには、強力なEXEMPT REDACTION POLICY
システム権限が含まれます。
デフォルトでは、DBA
ロールにDATAPUMP_EXP_FULL_DATABASE
ロールおよび DATAPUMP_IMP_FULL_DATABASE
ロールが付与されることに注意してください。
これによって、これらのロールを付与されたユーザーは、データ・リダクション・ポリシーから除外されます。このため、オブジェクトに定義されているデータ・リダクション・ポリシーでオブジェクトをエクスポートすると、保護されている表の実際のデータは、リダクションされずにData Pumpのターゲット・システムにコピーされます。DBA
ロールを含むこれらのロールを持つユーザーは、ターゲット・システム内の実際のデータを参照できます。
ただし、デフォルトでは、Data Pumpのソース・システムの任意の表およびビューに関連付けられたすべてのデータ・リダクション・ポリシーも(オブジェクト自体とともに)エクスポートおよびインポート操作に含まれ、ターゲット・システムのオブジェクトに適用されるため、ユーザーがターゲット・システム内のオブジェクトを問い合せると、データはリダクションされます。
4.4.2 Oracle Data Redactionポリシーが定義されているオブジェクトのエクスポートおよびインポート
Oracle Data Redactionポリシーがすでに定義されているオブジェクトをエクスポートできます。
4.4.2.1 Oracle Data Pumpで使用されるオブジェクト・タイプの検索
Oracle Data Redactionポリシーが定義されているオブジェクトをエクスポートする前に、Oracle Data Pumpで使用されるオブジェクト・タイプを検索する必要があります。
これらのオブジェクト・タイプを検索した後、これらのオブジェクト・タイプをEXPDP
ユーティリティのINCLUDE
ディレクティブに対するパラメータとして使用して、その特定のオブジェクト・タイプのメタデータのみをダンプ・ファイルに選択的にエクスポートできます。
-
オブジェクト・タイプを検索するには、
DATABASE_EXPORT_OBJECTS
ビューを問い合せます。
例:
SELECT OBJECT_PATH FROM DATABASE_EXPORT_OBJECTS WHERE OBJECT_PATH LIKE 'RADM_%';
次のような出力が表示されます。
OBJECT_PATH ------------ RADM_FPTM RADM_POLICY RADM_POLICY_EXPR
4.4.2.2 データ・リダクション・ポリシーに関連するデータ・ディクショナリ・メタデータのみのエクスポート
Oracle Database Pumpメタデータ・フィルタを使用して、データ・ディクショナリ・メタデータのみをエクスポートできます。
この種のデータ・ポンプ・エクスポートは、開発、テストおよび本番の各データベース間でデータ・リダクション・ポリシーおよび設定の同じセットを使用する必要がある場合などに使用できます。content=metadata_only
フラグが指定されているため、ダンプ・ファイルに実際のデータは含まれません。
-
データ・リダクション・ポリシー、完全リダクション設定およびポリシー式に関連するデータ・ディクショナリ・メタデータのみをエクスポートするには、
RADM_POLICY
、RADM_FPTM
およびRADM_POLICY_EXPR
を次のようなEXPDP
ユーティリティ・コマンドに含めます:expdp system/password \ full=y \ COMPRESSION=NONE \ content=metadata_only \ INCLUDE=RADM_FPTM,RADM_POLICY,RADM_POLICY_EXPR \ directory=my_directory \ job_name=my_job_name \ dumpfile=my_data_redaction_policy_metadata.dmp
関連トピック
4.4.2.3 IMPDPのINCLUDEパラメータを使用したデータ・ディクショナリ・メタデータのみのインポート
Oracle Database Pumpメタデータ・フィルタを使用して、データ・ディクショナリ・メタデータのみをインポートできます。
-
データ・リダクション・ポリシー、完全リダクション設定およびポリシー式に関連するデータ・ディクショナリ・メタデータのみをインポートするには、
RADM_POLICY
、RADM_FPTM
およびRADM_POLICY_EXPR
を次のようなIMPDP
ユーティリティ・コマンドに含めます:impdp system/password \ full=y \ content=metadata_only \ INCLUDE=RADM_FPTM,RADM_POLICY,RADM_POLICY_EXPR \ directory=my_directory \ job_name=my_job_name \ dumpfile=my_data_redaction_policy_metadata.dmp
4.4.3 EXPDPユーティリティのaccess_methodパラメータを使用したデータのエクスポート
Oracle Data Pumpによって、データ・リダクション・ポリシーのあるオブジェクトを含むスキーマからデータをエクスポートできます。
Oracle Data Pumpを使用して、新しいデータ・ポンプのデフォルト設定(direct_path
)に基づいてデータベースの全体エクスポート操作を実行し、理解できないエラー・メッセージが返された場合、この項を使用して、エラーをより正確に理解できるような方法で操作を繰り返してください。
access_method
パラメータがdirect_path
に設定されたOracle Data Pump Export (EXPDP
)ユーティリティを使用してデータをスキーマからエクスポートしようとするとき、このスキーマにデータ・リダクション・ポリシーが定義されているオブジェクトが含まれていると、次のエラー・メッセージが表示される場合があり、エクスポート操作は失敗します。
ORA-31696: unable to export/import TABLE_DATA:"schema.table" using client specified DIRECT_PATH method
この問題は、スキーマ・レベルのエクスポートを、EXP_FULL_DATABASE
ロールを付与されていないユーザーとして実行する場合にのみ発生します。EXP_FULL_DATABASE
ロールを必要とするフル・データベース・エクスポート時には発生しません。EXP_FULL_DATABASE
ロールにはEXEMPT REDACTION POLICY
システム権限が含まれており、これによりデータ・リダクション・ポリシーが無視されます。
潜在的な問題を見つけるには、EXPDP
起動を再度試してください。ただし、access_method
パラメータをdirect_path
には設定しないでください。かわりに、automatic
とexternal_table
のどちらかを使用してください。潜在的な問題とは、たとえば次のような権限の問題です。
ORA-28081: Insufficient privileges - the command references a redacted object.
関連トピック
4.4.4 Oracle Data Redactionで保護されているオブジェクトへのデータのインポート
Oracle Data Redactionで保護されているオブジェクトへのインポート操作中に、問題が発生する可能性があるため注意してください。
Oracle Data Redactionポリシーの意図しない削除
インポート操作中に、インポートされるデータを保護するデータ・リダクション・ポリシーを誤って削除しないように注意してください。
Oracle Data Pumpエクスポート(EXPDP
)ユーティリティを使用してエクスポートされたソース表にOracle Data Redactionポリシーが存在しないシナリオを考えてみます。ただし、Oracle Data Pumpインポート(IMPDP
)を使用してデータをインポートする宛先表には、Oracle Data Redactionポリシーが存在します。
IMPDP
コマンドのCONTENT
オプションによって異なります。
-
IMPDP
コマンドでCONTENT=ALL
またはCONTENT=METADATA_ONLY
オプションを使用する場合、宛先表のデータ・リダクション・ポリシーは削除されます。データ・リダクション・ポリシーを再作成する必要があります。 -
IMPDP
コマンドでCONTENT=DATA_ONLY
を使用する場合、宛先表のデータ・リダクション・ポリシーは削除されません。
インポートされないデータ・リダクション・ポリシー
インポート操作中に、ORA-28069: A Data Redaction Policy Already Exists On This Object
エラーが発生する可能性があります。
Oracle Data Pump Export (EXPDP
)ユーティリティを使用してエクスポートされたソース表にOracle Data Redactionポリシーが存在するシナリオを考えてみます。Oracle Data Pump (IMPDP
)を使用してデータをインポートする宛先表にも、Oracle Data Redactionポリシーが存在します。
データ・ポンプ・インポート操作中に、ORA-28069
エラーが発生する可能性があります。このエラーを回避するには、CONTENT=DATA_ONLY
パラメータを使用してデータのみをインポートする必要があります。または、ターゲット・オブジェクトのリダクション・ポリシーを削除してから、すべてのデータをインポートできます。
関連トピック