E Zero Downtime MigrationのOracle Data Pump設定

拡張データ・ポンプ・パラメータの設定

移行する特定のスキーマを選択したり、表領域の名前を変更したり、移行の一環として特定のオブジェクトを含めたり除外したりできます。

DATAPUMPSETTINGS_JOBMODE=FULLまたはDATAPUMPSETTINGS_JOBMODE=SCHEMAジョブ・モードの設定時にこれらの選択または変更を指定するために使用できるパラメータ設定の例を次に示します。

これらのパラメータは、レスポンス・ファイル($ZDM_HOME/rhp/zdm/template/zdm_logical_template.rsp)で設定されます。

特定のオブジェクト・タイプを除外するには:

DATAPUMPSETTINGS_DATAPUMPPARAMETERS_EXCLUDETYPELIST=COMMENT,DOMAIN_INDEX,MATERIALIZED_VIEW_LOG,RLS_POLICY,TRIGGER

DATAPUMPSETTINGS_JOBMODE=FULLモードの選択したSCHEMAオブジェクトを除外するには:

DATAPUMPSETTINGS_METADATAFILTERS-1=name:NAME_EXPR,value:'NOT IN(''SYSMAN'')',objectType:SCHEMA

DATAPUMPSETTINGS_METADATAFILTERS-3=name:NAME_EXPR,value:'NOT IN(''SH'')',objectType:SCHEMA

ノート:

SCHEMASYSMANは、二重引用符ではなく、一重引用符で囲みます。
DATAPUMPSETTINGS_JOBMODE=SCHEMAモードの選択したSCHEMAオブジェクトを除外するには:

EXCLUDEOBJECTS-1=owner:SYSMAN

EXCLUDEOBJECTS-2=owner:SCOTT

デフォルトでは、Zero Downtime MigrationはOracleのメンテナンス対象オブジェクトを無視します。

DATAPUMPSETTINGS_JOBMODE=SCHEMAモードの選択したSCHEMAオブジェクトを含めるには:

INCLUDEOBJECTS-1=owner:SYSMAN

INCLUDEOBJECTS-2=owner:SCOTT

デフォルトでは、Zero Downtime MigrationはOracleのメンテナンス対象オブジェクトを無視します。

表領域を再マップするには:

DATAPUMPSETTINGS_METADATAREMAPS-1=type:REMAP_TABLESPACE,oldValue:TS_DATA_X,newValue:DATA

DATAPUMPSETTINGS_METADATAREMAPS-2=type:REMAP_TABLESPACE,oldValue:DBS,newValue:DATA

データ・ポンプ・パラメータのデフォルト設定

Zero Downtime Migrationでは、パフォーマンスを向上させ、データのセキュリティを確保するために、データ・ポンプ・パラメータの最適なデフォルトが自動的に設定されます。次の表に、Zero Downtime Migrationによって設定されるデータ・ポンプ・パラメータと、その設定値を示します。

デフォルトのオーバーライドに使用できるZero Downtime Migrationレスポンス・ファイル・パラメータがある場合は、「オーバーライドするZero Downtime Migrationレスポンス・ファイルのオプション・パラメータ」列にリストされます。オーバーライド・パラメータは、レスポンス・ファイル($ZDM_HOME/rhp/zdm/template/zdm_logical_template.rsp)で設定されます。

表E-1 データ・ポンプ・パラメータのデフォルト

データ・ポンプ・パラメータ デフォルト値 オーバーライドするZDMレスポンス・ファイルのオプション・パラメータ

EXCLUDE

index (ADW-S)

cluster (ADB-D, ADB-S)

indextype (ADW-S)

materialized_view (ADW-S)

materialized_view_log (ADW-S)

materialized_zonemap (ADW-S)

db_link (ADB)

statistics (ユーザー管理ターゲットおよびADB)

追加のEXCLUDEエントリを指定できます

ノート

EXCLUDEに無効なオブジェクト・タイプを指定すると、データ・ポンプ・エクスポート・エラーが発生します。DATAPUMPSETTINGS_DATAPUMPPARAMETERS_EXCLUDETYPELISTパラメータに有効なオブジェクト・タイプが指定されていることを確認します。

有効なオブジェクト・タイプのリストを表示するには、次のビューを問い合せます: DATABASE_EXPORT_OBJECTS (FULLモードの場合)、SCHEMA_EXPORT_OBJECTS (SCHEMAモードの場合)、TABLE_EXPORT_OBJECTS (TABLEおよびTABLESPACEモードの場合)。OBJECT_PATH列にリストされる値が有効なオブジェクト・タイプです。

たとえば、レスポンス・ファイルに無効なオブジェクト・タイプ・パラメータを指定すると、エクスポート・エラーが発生します。

ORA-39038: オブジェクト・パス"<specified invalid>"はSCHEMAジョブにサポートされていません。

PARALLEL

ZDMはデフォルトでPARALLELパラメータを次のように設定します

ユーザー管理DBの場合:- (ノード当たり2 x (物理CPUの数)の合計)で、最大32個の上限があります。

ADBの場合:- OCPUの数

DATAPUMPSETTINGS_DATAPUMPPARAMETERS_IMPORTPARALLELISMDEGREE

DATAPUMPSETTINGS_DATAPUMPPARAMETERS_EXPORTPARALLELISMDEGREE

CLUSTER

ZDMは常にクラスタ・モードをデフォルトとして設定します

DATAPUMPSETTINGS_DATAPUMPPARAMETERS_NOCLUSTER

COMPRESSION

COMPRESSION_ALGORITHMはBASIC (11.2の場合)およびMEDIUM (12.1以上の場合)に設定されます

COMPRESSIONはALLに設定されます

N/A

ENCRYPTION

ENCRYPTIONはALLに設定されます

ENCRYPTION_ALGORITHMはAES128に設定されます

ENCRYPTION_MODEはPASSWORDに設定されます

N/A

FILESIZE

FILESIZEは5Gに設定されます

N/A

FLASHBACK_SCN

OFFLINE_LOGICAL ZDMの場合、FLASHBACK_TIMEが現在のシステム時間に設定されます。

ONLINE LOGICAL ZDMの場合、FLASHBACK_SCNもFLASHBACK_TIMEも使用されません

N/A

REUSE_DUMPFILES

常にYESに設定されます

N/A

TRANSFORM

19c以上のターゲットの場合、常にOMIT_ENCRYPTION_CLAUSE:Yが設定されます

常にLOB_STORAGE:SECUREFILEが設定されます

ADBターゲットの場合、次の変換がデフォルトで設定されます

SEGMENT_ATTRIBUTES:N

DWCS_CVT_IOTS:Y

CONSTRAINT_USE_DEFAULT_INDEX:Y

追加のTRANSFORMを指定できます

METRICS

常にYesに設定されます

N/A

LOGTIME

常にALLに設定されます

N/A

TRACE

常に1FF0b00に設定されます

N/A

LOGFILE

常にデータ・ポンプ・ジョブ名に設定され、指定されたエクスポートまたはインポート・ディレクトリ・オブジェクトの下に作成されます。

データ・ポンプ・ジョブがZDM_2_DP_EXPORT_8417で、使用されるディレクトリ・オブジェクトがDATA_PUMP_DIRの場合、操作ログはZDM_2_DP_EXPORT_8417.logという名前でDATA_PUMP_DIRの下に作成されます。

N/A

データ・ポンプのエラー処理

Zero Downtime Migrationでは、デフォルトで次のデータ・ポンプ・エラーが無視されます。これは、zdm_base/crsdata/zdm_service_host/rhp/conf/zdm.propertiesで指定されているプロパティoracle.zdm.datapump.ignore_error_listによって決定されます。

  • ORA-31684: XXXXはすでに存在します

  • ORA-39111: 依存オブジェクト型XXXXはスキップされ、ベース・オブジェクト型です

  • ORA-39082: オブジェクト型ALTER_PROCEDURE: XXXXの作成の際、コンパイル・エラーが発生しました

Zero Downtime Migrationでは、プロパティの更新を介してこれらの無視できるエラーを構成できます。

Oracle Data Pumpフェーズが完了すると、Zero Downtime Migrationはデータ・ポンプ・ログを解析してエラーを検出し、さらにORA-*エラーがレポートされた場合、Zero Downtime Migrationはフェーズを失敗としてマークし、見つかったエラー数とともにORA-20002エラーをレポートします。

次に例を示します。

ORA-20002: Oracle Data Pump操作が8つのエラーで完了しました

前述のレポートは、oracle.zdm.datapump.ignore_error_listプロパティで指定されたエラーに加えて、8つのORA-*エラーがあることを示しています。

データ・ポンプ・インポート・ログを確認する必要があり、レポートされた8つのORA-*エラーを無視する場合は、oracle.zdm.datapump.ignore_error_listプロパティを更新し、失敗したジョブを再開して完了できます。

oracle.zdm.datapump.ignore_error_listプロパティを更新する場合、Zero Downtime Migrationサービスを再起動する必要はなく、一度更新すると、その時点からスケジュールされているすべてのZero Downtime Migrationジョブに無視リストが適用されます。