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_METADATAFILTERS-1=name:NAME_EXPR,value:'NOT IN(''SYSMAN'')',objectType:SCHEMA
DATAPUMPSETTINGS_METADATAFILTERS-3=name:NAME_EXPR,value:'NOT IN(''SH'')',objectType:SCHEMA
ノート:
SCHEMA
名SYSMAN
は、二重引用符ではなく、一重引用符で囲みます。
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) |
追加の
有効なオブジェクト・タイプのリストを表示するには、次のビューを問い合せます: たとえば、レスポンス・ファイルに無効なオブジェクト・タイプ・パラメータを指定すると、エクスポート・エラーが発生します。 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ジョブに無視リストが適用されます。