クロス・プラットフォームのEnterprise Managerリポジトリ・データベースの移行
進化し続けるデータ管理環境において、企業では、様々なエンディアン・プラットフォーム間でデータベースを移行する必要が頻繁に発生します。データベース移行は重要な操作であり、多くの場合、システムのアップグレード、クラウドの導入、またはビジネス要件の変化のために必要になります。クロス・プラットフォームおよびクロス・エンディアンの移行のコンテキストでは、データ構造、バイト・オーダーおよびデータベース形式がシステム間で異なるため、課題は高くなります。データベース移行の領域では、Oracle Data Pumpテクノロジを使用すると、多様なプラットフォームおよびエンディアン・アーキテクチャにわたって、あるデータベースから別のデータベースへのデータの非常に高速な移動が可能になります。オンプレミスのサーバーとクラウド間を移行する場合でも、異なるデータベース管理システム間を移行する場合でも、データの整合性、セキュリティおよびシステム・パフォーマンスを維持するために、堅牢なデータ・ポンプ・メカニズムが重要になります。
Enterprise Managerリポジトリは、Oracle Enterprise Managerの核心であり、組織のITエコシステムを効果的にモニタリングおよび管理するために不可欠で重要なメタデータおよびパフォーマンス・データが含まれています。プラットフォームまたはエンディアン・アーキテクチャ間での移行を検討する際には、この重要なリポジトリの整合性およびアクセシビリティを確保するために、綿密な戦略が最も重要です。
データ・ポンプ・テクノロジは、このような移行中のデータのシームレスな移動を促進する上で重要な役割を果たします。この調査に着手するにあたり、この項では、Enterprise Managerリポジトリ・データベースのコンテキスト内でのクロス・プラットフォーム・クロス・エンディアンの移行の複雑さを説明します。RepMigrateユーティリティを紹介し、最短の時間と最大限の効率でリポジトリ・データベースを正常にかつ確実に移行するために管理者が実行できるプロセスを定義します。
Enterprise Managerリポジトリ・データベースの移行にRepMigrateユーティリティを使用することをお薦めします。
移行の全体の戦略は次の内容によって異なります。
-
ソース・データベースとターゲット・データベースのバージョン
-
リポジトリのデータ量/サイズ
-
移行する実際のデータ
クロス・プラットフォーム・トランスポータブル表領域、データ・ポンプおよびエクスポート/インポート・オプションに関するOracleデータベースの詳細は、Oracle Databaseドキュメントを参照してください。
トピック:
RepMigrateの概要
Enterprise Managerリポジトリ・データベースの移行にRepMigrateユーティリティを使用することをお薦めします。
RepMigrateは、Enterprise Manager管理者のクロス・プラットフォーム・クロス・エンディアン・リポジトリ・データベースの移行を容易にするためにOracle Data Pumpの上に記述されるラッパー・ユーティリティです。基礎となるユーティリティでは、Oracle Data Pumpを使用します。これは、リリース10g以降のOracle Databaseの機能で、リリース9i以前のOracle ExportおよびOracle Import (expおよびimp)ユーティリティの後継です。Oracle Data Pumpは、スキーマ間、バージョンが異なるデータベース間、様々なオペレーティング・システム上、オンプレミスからオンプレミスおよびOracle Cloudへのデータの移行に役立ちます。
RepMigrateユーティリティの入手方法
Enterprise Manager 13cリリース5更新22 (13.5.0.22)以降、リリース更新ファイルにはRepMigrateユーティリティ(RepMigrate.zip
ファイル)が含まれています。
- My Oracle Supportからリリース更新ファイルをダウンロードして抽出します。
- リリース更新を抽出したら、
RepMigrate.zip
ファイルを探します。 RepMigrate.zip
ファイルをソース・データベースにコピーします。ファイルをリポジトリ・データベース・ホスト(ソース・データベース)内の場所にコピーして解凍します。ノート:
ターゲット・データベースでも、同様にファイルをコピーして解凍する必要があります。Enterprise Managerリポジトリ・データベースの移行プロセスに使用されるRepMigrateユーティリティ・バージョンは、デプロイされたEnterprise Managerリリース更新(RU)と同じバージョンである必要があります。
- ファイルを解凍すると、次の各項で説明するように、エクスポートおよびインポートのステップでリポジトリ・データベースの移行プロセスに使用できる
RepMigrate
ユーティリティ・ディレクトリが表示されます。
RepMigrateパラメータの詳細は、「RepMigrateの使用方法」を参照してください。
RepMigrateの使用方法
Enterprise Manager 13cリリース5更新22 (13.5.0.22)以降では、RepMigrateユーティリティがリリース更新ファイルに含まれ、Enterprise Managerリポジトリ・データベースの移行の実行に使用できます。
./RepMigrate.sh -help
便利なパラメータ(一部)のリスト:
-
-datafileLocation
: データファイル・オプションを指定します。これは、ASMおよびRAC環境に必須のパラメータです。
-
-encryptionPassword
: TDE環境用のソース・データベースのエクスポート・ダンプ・ファイル内の暗号化列のデータ、メタデータまたは表データのパスワードを指定します。ターゲット・データベースでのインポート操作中に同じパスワードを必ず渡してください。
-
-parallel
: エクスポート・ジョブまたはインポート・ジョブのために動作するアクティブな実行プロセスの最大数を指定します。 -
-prereqOnly
: エクスポート操作中にRepMigrateの前提条件チェックのみを実行するように指定します。詳細は、「ステップ3. 前提条件チェックの実行」を参照してください。 -
-ignorePrereqList
: 前提条件チェックを無視します。 -
-repmigrate_prereq_dbpatch
: データベース・パッチが適用されているかどうかをチェックします。
RAC環境の場合は、RAC設定の最初のノードで接続文字列ベースの接続を使用します。スキャン・アドレスはサポートされていません。
SSL構成リポジトリの場合は、RepMigrate.sh -help
を使用して使用可能なオプションを確認します。
RepMigrateユーティリティは、TEMP
およびUNDO
表領域をチェックします。十分な空き領域がない場合は、失敗します。
RepMigrateを使用したリポジトリ移行のステップ
次の各項では、RepMigrateユーティリティを使用したリポジトリ移行のステップについて説明します:
ステップ1.データベースの準備
RepMigrateを使用してリポジトリ・データベースを移行するには、次の前提条件を満たします:
ステップ1.1.ソース・データベースとターゲット・データベースの共通の前提条件の実行
データベース・パッチの前提条件
ノート:
ソースとターゲットの両方のデータベースは、すべてのパッチが適用された同じデータベース・リリース更新(DB RU)バージョンである必要があります。- リポジトリ移行プロセスを開始する前に、ソース・データベースとターゲット・データベースの両方にデータベース・パッチ30978304をインストールします。データベース・パッチ情報は、My Oracle Supportを参照してください。
- Oracle Database 19リリース更新19 (19.19)の推奨パッチを適用します。
ノート:
一部のデータベース・パッチは、データベース・リリース更新(DB RU)パッチの一部として含まれる場合があります。データベース・パッチがインベントリにリストされているかどうかを確認することをお薦めします。データベース・パッチがない場合は、My Oracle Supportをチェックし、それらが使用可能かどうかを確認します。データベース・パッチがリリース更新(RU)に使用できない場合は、個別パッチをリクエストする必要があります。Oracle Database 19リリース更新19 (19.19)パッチ:
- パッチ35042068: データベース・リリース更新: 19.19.0.0.230418 (35042068)
- パッチ35261302: データポンプ・バンドル・パッチ19.19.0.0.0
RU19およびデータ・ポンプ・ユーティリティに固有のOracle Database 19リリース更新(RU)パッチ:
- パッチ36205997: 19cで最大PGA制限フラグがリセットされました。
- パッチ36018313: データベースRU 19.19.0.0.0の35261302 35854529に対するマージ(バグ35854529のパッチ)。
- パッチ33421125: PGA制限が高くなると'KOLASLASSIGN'およびPGAのメモリー・リークが増加(DB RU19パッチ35042068の一部)。
- パッチ35799058: パーティション化された表EM_METRIC_VALUES_E (Enterprise Managerリポジトリ)のEXPDPが低速。
タイムゾーンの前提条件
ソース・データベースとターゲット・データベースのタイムゾーンは同じである必要があります。
たとえば、timedatectl
を実行して、Linuxのタイムゾーンを確認できます
表領域の考慮事項
- 表領域の作成: 表領域は
SMALLFILE
を使用して明示的に作成する必要があります。必要なデータ・ファイルを事前に割り当てます。 -
表領域のサイズ:
-
ソース・データベースで表領域(
MGMT_TABLESPACE
、MGMT_ECM_DEPOT_TS
およびMGMT_AD4J_TS
)のサイズを問い合せ、それらをターゲット・データベースで再作成します。 TEMP
およびUNDO
表領域:- インポート時に使用される最大
UNDO
領域は680 MBです。 - インポート時に使用される最大
TEMP
領域は140 GBです。
- インポート時に使用される最大
-
ノート:
表領域を手動で作成する手順は、「ステップ2.2. ターゲット・データベースでの表領域の作成」を参照してください。その他の推奨事項
- RAC環境: RAC環境では、最初のノードで接続文字列ベースの接続を使用します。スキャン・アドレスはサポートされていません。
- パラレル環境:
- エクスポート: コアの半分以下を使用します。デフォルト値は16です。
- インポート: コアの数以下を使用します。デフォルト値は16です。
- パラレル・ジョブのデータベース・パラメータの推奨事項:
- 単一インスタンスの場合:
max_datapump_parallel_per_job=200
- CDB/PDBの場合: 両方のデータベースで次のパラメータを設定します:
max_datapump_jobs_per_pdb=200
max_datapump_parallel_per_job=400
- 単一インスタンスの場合:
ステップ1.2.ソース・データベースの前提条件の完了
リポジトリの移行にRepMigrateユーティリティを使用する場合のソース・データベース(ASMおよび非ASM)の前提条件を次に示します:
- ソース・データベースとターゲット・データベースはいずれも、同じデータベース・リリース更新(DB RU)バージョンで、同じデータベース・パッチがインストールされている必要があります。
「ステップ1.1. ソース・データベースとターゲット・データベースの共通の前提条件の実行」の説明に従って、すべてのデータベース・パッチがソース・データベースに適用されていることを確認します。
- TDEの場合のみ、ソース・データベースとターゲット・データベースに同じRepMigrate
-encryptionPassword
パラメータを必ず渡します。-encryptionPassword
パラメータを使用してソース・データベースでRepMigrateエクスポート操作を実行する場合、ターゲット・データベースのRepMigrateインポート操作時に同じ-encryptionPassword
パラメータ値を渡す必要があります。RepMigrateの詳細は、「RepMigrateの使用方法」を参照してください。 - リポジトリ移行プロセスを開始する前に、ソース・ホストに、エクスポート操作時に作成されるファイル(ダンプファイル)を格納するための十分な領域があることを確認します。
- 表領域の検証を実行します。
ダンプ・ファイルの場所に指定された宛先ディレクトリがデータベースの内容を収容できるかどうかをチェックし、ソース・ホストに十分な領域があることを確認します。
- 表領域の検証を実行します。
ステップ1.3.ターゲット・データベースの前提条件の完了
- ソース・データベースとターゲット・データベースはいずれも、同じデータベース・リリース更新(DB RU)バージョンで、同じデータベース・パッチがインストールされている必要があります。
「ステップ1.1. ソース・データベースとターゲット・データベースの共通の前提条件の実行」の説明に従って、すべてのデータベース・パッチがターゲット・データベースに適用されていることを確認します。
- 管理エージェントは、リポジトリの移行を開始する前に、ターゲット・データベースにプッシュし、OMSで使用されるのと同じEnterprise Managerリリース更新(RU)バージョンを使用してパッチを適用する必要があります。
Enterprise Managerの要件の詳細は、「ステップ1.4. ソースおよびターゲットのEnterprise Managerホストの共通の前提条件の実行」を参照してください。
- SSL構成データベースの場合、EM Oracleホームを使用してソース・データベースで作成したDBウォレットを使用して、同じJDKバージョンが使用されるようにします。
TDEの場合、ソース・データベースとターゲット・データベースに同じRepMigrate
-encryptionPassword
パラメータを必ず渡します。ターゲット・データベースでRepMigrateインポート操作を実行する場合、ソース・データベースでのRepMigrateエクスポート操作時に渡されたのと同じ-encryptionPassword
パラメータ値を渡す必要があります。RepMigrateの詳細は、「RepMigrateの使用方法」を参照してください。 - リポジトリ移行プロセスを開始する前に、ターゲット・ホストに、インポート操作時に使用されるファイル(ダンプファイル)を格納するための十分な領域があることを確認します。
- 表領域の検証を実行します。
インポート操作のためにダンプ・ファイルの場所に指定されたディレクトリがデータベースの内容を収容できるかどうかをチェックし、ターゲット・ホストに十分な領域があることを確認します。
- 表領域の検証を実行します。
- 停止時間を最小限に抑えるには、リポジトリ移行プロセスを実行する前にターゲット・データベースを準備します。詳細は、「ステップ2. ベスト・プラクティス」を参照してください。
ステップ1.4.ソースおよびターゲットのEnterprise Managerホストの共通の前提条件の実行
- ソース環境とターゲットOMS環境の両方に、必要なEnterprise Managerリリース更新(RU)バージョンを適用します。
Enterprise Managerリリース更新バージョンは、ソースおよびターゲットOMSホストとRepMigrateユーティリティで同じである必要があります。RepMigrateの詳細は、「RepMigrateユーティリティの入手方法」を参照してください。
- 一元管理された管理エージェントに、必要なEnterprise Managerリリース更新バージョンを適用します。
ソース・ホストとターゲット・ホスト上のEnterprise Manager管理エージェントは、同じEnterprise Manager RUバージョンである必要があります。
- 適切なEnterprise Managerリリース更新(RU)エージェントをプライマリ・ターゲット・データベース・ノードに追加します。
ステップ2.ベスト・プラクティス
停止時間を最小限に抑えるには、ターゲット・データベースで次のステップを実行します:
ステップ2.1.データベース・オブジェクトの確認
停止時間を最小限に抑えるには、ターゲット・データベースがリポジトリ移行のために準備できていることを確認することが重要です。
リポジトリ移行プロセスを開始する前に、ターゲット・データベースで次を確認することをお薦めします:
- すでに作成済の表領域。
- 要件に応じてサイズ設定されている表領域。
- 更新済のデータベース・パラメータ。
- すでに作成済のEnterprise Manager以外のロールおよびユーザー。
- 保持する外部プロファイルがいずれも作成されていること。
- ソース・データベースから削除された、またはターゲット・データベースに作成されたレガシー・ユーザー。
- ターゲット・データベースで作成されたソース・データベースから保持されるDBAディレクトリ。
- チェック済のストレージ。
- RACサービスを使用する場合は、ジョブがすでに作成されていること。
ステップ2.2.ターゲット・データベースでの表領域の作成
停止時間を最小限に抑えるには、リポジトリの移行を開始する前に、ターゲット・データベースでこのステップを実行することが重要です。
次を実行して、ターゲット・データベースに表領域を手動で作成します:
- SYSユーザーとして次の問合せを使用して、
MGMT、ECM_DEPOTおよびAD4J
表領域について、ソース・データベースで表領域のサイズを確認します:select sum(bytes)/1024/1024 SIZE_IN_MB from dba_segments where tablespace_name='MGMT_TABLESPACE'; select sum(bytes)/1024/1024 SIZE_IN_MB from dba_segments where tablespace_name='MGMT_ECM_DEPOT_TS'; select sum(bytes)/1024/1024 SIZE_IN_MB from dba_segments where tablespace_name='MGMT_AD4J_TS';
- 前述の出力をサイズとして使用し、次の問合せを使用して表領域を作成します:
CREATE SMALLFILE TABLESPACE "MGMT_AD4J_TS" EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO DATAFILE '<datafileLocation>/mgmt_ad4j.dbf' SIZE <MGMT_AD4J_TS_size_as_calculated> REUSE AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED; CREATE SMALLFILE TABLESPACE "MGMT_ECM_DEPOT_TS" EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO DATAFILE '<datafileLocation>/mgmt_depot.dbf' SIZE <MGMT_ECM_DEPOT_TS_size_as_calculated> REUSE AUTOEXTEND ON NEXT 20M MAXSIZE UNLIMITED; CREATE SMALLFILE TABLESPACE "MGMT_TABLESPACE" EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO DATAFILE '<datafileLocation>/mgmt.dbf' SIZE <MGMT_TABLESPACE_size_as_calculated> REUSE AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;
ノート:
<datafileLocation>
の値は、ソース・データベース・ホストで使用したのと同様である必要があります。 TEMP
およびUNDO
表領域の場合、次のサイズを使用することをお薦めします:- 最大PDB TEMP使用量 = 140 GB
- 最大PDB UNDO使用量 = 680 MB
RepMigrateユーティリティは、
TEMP
およびUNDO
表領域をチェックします。十分な空き領域がない場合は、失敗します。
ステップ2.3.RACのみ: RACサービスの作成
停止時間を最小限に抑えるには、リポジトリの移行を開始する前に、ターゲット・データベースでこのステップを実行することが重要です。
これはRAC環境にのみ適用されます: ソース・データベースでRACサービスが使用されている場合は、ターゲット・データベースで必要なRACサービスを作成する必要があります。
サイズ設定の詳細は、Enterprise Managerアドバンスト・インストレーションおよび構成ガイドの「ソフトウェア構成」を参照してください。
RACサービス・リンクの作成の詳細は、Enterprise Managerアドバンスト・インストレーションおよび構成ガイドの「ジョブ」を参照してください。
ステップ3.前提条件チェックの実行
ノート:
続行する前に、データベースの前提条件が完了していることを確認します。詳細は、「ステップ1.1. ソース・データベースとターゲット・データベースの共通の前提条件の実行」を参照してください。-
RepMigrateを実行して、
-prereqOnly
パラメータを使用してソース・データベースの前提条件のみを確認します。たとえば:./RepMigrate.sh -prereqOnly -dbUser sys -dbPassword <db password> -connectString "<connect string>" -dataPumpDir <data pump dir location> -dataPumpUser <datapump user> -dataPumpPassword <datapump password> -action expdp -dbHome <db home location> -reposPassword <repos Password> [-parallel <number>]
-
標準出力からレポートされた問題に対処します。
満足するまでステップ1を繰り返し、必要な修正をすべて実行します。
-prereqOnly
パラメータを使用すると、外部ユーザー、外部プロファイル、外部ロール、外部ディレクトリ、レガシーEMスキーマ(SYSMAN_BIPLATFORM
やSYSMAN_APM
など)、DBMS
スケジューラ・ジョブ、外部スキーマ内の無効なオブジェクトの問題がないか確認できます。レポートを受信したら、RepMigrateの指示に従って問題を解決します。その後、RepMigrateを再度度実行します(ステップ1)。まだ問題がある場合は、-ignorePrereqList
パラメータを使用して無視することが可能です。指示に従わずに-ignorePrereqList
を渡すと、インポート操作が失敗します。
ノート:
RAC環境の場合は、RAC設定の最初のノードで接続文字列ベースの接続を使用します。スキャン・アドレスはサポートされていません。
SSL構成リポジトリの場合は、RepMigrate.sh -help
を使用して使用可能なオプションを確認します。
RepMigrateユーティリティの詳細は、「RepMigrateの使用方法」を参照してください。
ステップ4.移行の実行
前述のステップを完了した後、RepMigrateを使用してリポジトリ・データベースを移行するには、次を実行します:
ステップ4.1.OMSおよびエージェントの停止
Enterprise Manager OMSおよび管理エージェントを停止するには、ソース・ホストに接続し、次を実行します:
$OMS_Home/bin
ディレクトリからOMSを停止します。emctl stop oms -all -force
ノート:
複数のOMS環境がある場合は、すべてのノードで各OMSおよびエージェントを停止します。- 管理エージェントを停止します。
emctl stop agent
- すべての中央管理エージェントを停止します。
SYSMAN
ユーザーとしてごみ箱をパージします。SYSMAN
ユーザーとしてソース・リポジトリ・データベースに接続し、次を実行します:SQL> PURGE RECYCLEBIN;
ステップ4.2.ソース・データベースの再起動
プラガブル・データベースが含まれるソース・データベースを停止して再起動します。
-
OMSリポジトリが単一インスタンス・データベースにある場合は、データベースを停止して再起動する必要があります。
-
OMSリポジトリがプラガブル・データベースにある場合は、プラガブル・データベースのみを停止して再起動する必要があります。
-
OMSリポジトリがRAC環境にある場合は、すべてのデータベース・インスタンスを停止して再起動します。
ステップ4.3.RepMigrateを使用したソース・データベースからのエクスポート
RepMigrateユーティリティを使用して、ソース・データベースからのエクスポート操作を続行できるようになりました。
クロス・プラットフォーム・クロス・エンディアン・リポジトリ・データベースでのエクスポート操作を成功させるためにソース・データベースで実行する必要があるステップを次に示します:
- コマンドラインでRepMigrateを起動します。
./RepMigrate.sh -dbUser sys -dbPassword <db password> -connectString "<connect string>" -dataPumpDir <data pump dir location> -dataPumpUser <datapump user> -dataPumpPassword <datapump password> -action expdp -dbHome <db home location> -reposPassword <repos Password> [-parallel <number>]
各項目の意味は次のとおりです。
- <db password>は、
SYS
データベース・ユーザーのパスワードです。 - <connect string>は、Enterprise Managerリポジトリ・データベースの接続文字列です。
- <data pump dir location>は、データポンプ・エクスポート・ダンプ・ファイルのコピー先の場所です。
- <datapump user>は、
SYSTEM
データベース・ユーザーまたはEXP_FULL_DATABASE
権限を持つユーザーです。 - <datapump password>は、データポンプ・ユーザーのパスワードです。この場合、
SYSTEM
ユーザーのパスワードです。 - <db home location>は、Enterprise Managerリポジトリのデータベース・ホームです。
- <repos Password>は、
SYSMAN
データベース・ユーザーのパスワードです。 - -parallel <number>はオプションです。パラレル・ワーカーの数です。デフォルトは16です。
- <db password>は、
ノート:
ASM環境では、-dataPumpDir <data pumpdir location>
パラメータにASM固有の場所を渡す必要があります。たとえば:
-dataPumpDir +DATAC1/DP_EXPORT_DIR
RepMigrateユーティリティの詳細は、「RepMigrateの使用方法」を参照してください。
例
./RepMigrate.sh -dbUser sys -dbPassword abc -connectString "(DESCRIPTION=(ADDRESS=(PROTOCOL=abc)(HOST=abchostname)(PORT=0000))(CONNECT_DATA=(SERVER=DEDICATED)(SID=sidname)))" -dataPumpDir /abc/dirname -dataPumpUser system -dataPumpPassword abc -action expdp -dbHome /abc/db_home -reposPassword abc
あるいは、レスポンス・ファイルを使用してRepMigrateを起動することもできます。詳細は、「RepMigrateレスポンス・ファイル」を参照してください。
出力
出力は次のようになります。
Looking for suitable Agent.
_agentRUVersion=13.5.0.22
Arguments validated Successfully
RepMigrate invoked with command line parameters: -action expdp -dataPumpPassword ******** -dataPumpUser system -dataPumpDir /abc/dirname -dbUser sys-dbPassword ******** -reposPassword ******** -script_dir /abc/RepMigrate -connectString (DESCRIPTION=(ADDRESS=(PROTOCOL=abc)(HOST=abchostname)(PORT=0000))(CONNECT_DATA=(SERVER=DEDICATED)(SID=sidname))) -dbHome /abc/db_home
RepMigrate parameters from command line: -action expdp -dataPumpPassword ******** -dataPumpUser system -dataPumpDir /abc/dirname -dbUser sys -dbPassword ******** -reposPassword ******** -script_dir /abc/RepMigrate -connectString (DESCRIPTION=(ADDRESS=(PROTOCOL=abc)(HOST=abchostname)(PORT=0000))(CONNECT_DATA=(SERVER=DEDICATED)(SID=sidname))) -dbHome /abc/db_home
DB Patch 30978304applied.
External Role check passed.
External User check passed.
External Profile check passed.
Legacy User check passed.
DBMS Scheduler Jobs check passed.
Invalid Objects check passed.
DBA Directory check passed.
Directory Created Successfully
Directory Created Successfully
Stopping AQ...
RCU Logfile: /abc/RepMigrate/logs/rcu.log
Processing command line ....
Repository Creation Utility - Checking Prerequisites
Checking Global Prerequisites
Repository Creation Utility - Checking Prerequisites
Checking Component Prerequisites
Repository Creation Utility - Creating Tablespaces
Validating and Creating Tablespaces
Create tablespaces in the repository database
Repository Creation Utility - Create
Repository Create in progress.
Executing pre create operations
Percent Complete: 55
...
Creating DB Migration Utility(EM_REPOS_MIGRATE_EXPORT)
Percent Complete: 84
Executing post create operations
Percent Complete: 100
Repository Creation Utility: Create - Completion Summary
Database details:
-----------------------------
Connect Descriptor :(DESCRIPTION=(ADDRESS=(PROTOCOL=abc)(HOST=abchostname)(PORT=0000))(CONNECT_DATA=(SERVER=DEDICATED)(SID=sidname)))
Connected As : SYS
RCU Logfile :/abc/RepMigrate/logs/rcu.log
Component schemas created:
-----------------------------
Component Status Logfile
DB Migration Utility Success /abc/RepMigrate/logs/em_repos_migrate_export.log
Repository Creation Utility - Create : Operation Completed
Please copy the logs folder from baseHome to a safe location if you plan to delete the baseHome folder where baseHome is the location where the RepMigrate Utility is unzipped.
ログ・ファイル
<full_path_RepMigrate_location>/logs
ディレクトリのログ・ファイルを確認します。詳細は、「RepMigrateログ・ファイル」を参照してください。
ステップ4.4.ソースからターゲットへのダンプファイルのコピー
エクスポート操作が完了したら、エクスポート操作時に使用された-dataPumpDir
の場所の内容を、ソースからターゲット・ホストにコピーします。
-dataPumpDir
の場所にあるすべてをソースからターゲットにコピーします。admin_gen_grants_to_ro_user.sql
およびcarry_info.txt
ファイルを$BASE_DIR
(BASE_DIR値は、ソース・ホストでRepMigrateユーティリティを解凍した場所)から、ターゲット・ホストの$BASE_DIR
(RepMigrateユーティリティを解凍した場所)の下にコピーします。- ASMの場合は、次を実行します:
- 次を使用して、ASMソース・ホストからASMターゲット・ホストにコピーします:
asmcmd cp +DATAC1/DP_MIGRATE_DIR/* sys/<pwd>@<IPAddress>.+ASM1:+DATAC1/DP_MIGRATE_DIR
<pwd>
はASM SYS
のパスワードです。
- 次を使用して、ASMソース・ホストからASMターゲット・ホストにコピーします:
ステップ4.5.RepMigrateを使用したターゲット・データベースへのインポート
RepMigrateユーティリティを使用して、ターゲット・データベースへのインポート操作を続行できるようになりました。
クロス・プラットフォーム・クロス・エンディアン・リポジトリ・データベースでのインポート操作を成功させるためにターゲット・データベースで実行する必要があるステップを次に示します:
./RepMigrate.sh -dbUser sys -dbPassword <db password> -connectString "<connect string>" -dataPumpDir <data pump dir location> -dataPumpUser <datapump user> -dataPumpPassword <datapump password> -action impdp -dbHome <db home location> -reposPassword <repos Password> [-datafileLocation <Location To Create Datafiles>] [-parallel <number>]
- <db password>は、
SYS
データベース・ユーザーのパスワードです。 - <connect string>は、Enterprise Managerリポジトリ・データベースの接続文字列です。
- <data pump dir location>は、データポンプ・エクスポート・ダンプ・ファイルのコピー先の場所です。
- <datapump user>は、
SYSTEM
データベース・ユーザーまたはIMP_FULL_DATABASE
権限を持つユーザーです。 - <datapump password>は、データポンプ・ユーザーのパスワードです。この場合、
SYSTEM
ユーザーのパスワードです。 - <db home location>は、Enterprise Managerリポジトリのデータベース・ホームです。
- <repos Password>は、
SYSMAN
データベース・ユーザーのパスワードです。-reposPassword <repos Password>値は、ソース・データベースに使用されたのと同じにする必要があります。
- -datafileLocation <Location To Create Datafiles>]はオプションです。データファイルを作成する場所です。
- -parallel <number>はオプションです。パラレル・ワーカーの数です。デフォルト値は16です。
ノート:
- RepMigrateユーティリティは、デフォルトでは、ジョブ・キュー・プロセスを設定し、ターゲットのジョブを送信します。これを止めるには、
-keepQuiesce
を追加します。 - ASMの場合は、追加パラメータ
-datafileLocation <Location to Datafile>
を指定します。
例
./RepMigrate.sh -dbUser sys -dbPassword abc -connectString (DESCRIPTION=(ADDRESS=(PROTOCOL=abc)(HOST=123hostname)(PORT=0000)) (CONNECT_DATA=(SERVER=DEDICATED)(SID=sidname))) -dataPumpDir /abc/dirname -dataPumpUser system -dataPumpPassword abc -action impdp -dbHome /abc/db_home -reposPassword abc
あるいは、レスポンス・ファイルを使用してRepMigrateを起動することもできます。詳細は、「RepMigrateレスポンス・ファイル」を参照してください。
出力
Looking for suitable Agent.
_agentRUVersion=13.5.0.22
Arguments validated Successfully
RepMigrate invoked with command line parameters: -action impdp -dataPumpPassword ******** -dataPumpUser system -dataPumpDir /abc/dirname -dbUser sys -dbPassword ******** -reposPassword ******** -connectString (DESCRIPTION=(ADDRESS=(PROTOCOL=abc)(HOST=abchostname)(PORT=0000))(CONNECT_DATA=(SERVER=DEDICATED)(SID=sidname))) -dbHome /abc/db_home
RepMigrate parameters from command line: -action impdp -dataPumpPassword ******** -dataPumpUser system -dataPumpDir /abc/dirname -dbUser sys -dbPassword ******** -reposPassword ******** -connectString (DESCRIPTION=(ADDRESS=(PROTOCOL=abc)(HOST=abchostname)(PORT=0000))(CONNECT_DATA=(SERVER=DEDICATED)(SID=sidname))) -dbHome /abc/db_home
DB Patch 30978304 applied.
Directory Created Successfully
Datafile Folder Validated
Directory Created Successfully
Folder already exists. Skipping creation of the folder.
RCU Logfile: /abc/RepMigrate/logs/rcu.log
Processing command line ....
Repository Creation Utility - Checking Prerequisites
Checking Global Prerequisites
Repository Creation Utility - Checking Prerequisites
Checking Component Prerequisites
Repository Creation Utility - Creating Tablespaces
Validating and Creating Tablespaces
Create tablespaces in the repository database
Repository Creation Utility - Create
Repository Create in progress.
Executing pre create
operations
Percent Complete: 55
...
Creating DB Migration Utility(EM_REPOS_MIGRATE_IMPORT)
Percent Complete: 84
Executing post create operations
Percent Complete: 100
Repository Creation Utility: Create - Completion Summary
Database details:
-----------------------------
Connect Descriptor : (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=em1111.subnetaaa.bbbb.oraclevcn.com)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SID=orcl)))
Connected As : SYS
RCU Logfile : /abc/RepMigrate/logs/rcu.log
Component schemas created:
-----------------------------
Component Status Logfile
DB Migration Utility Success /abc/RepMigrate/logs/em_repos_migrate_import.log
Repository Creation Utility - Create : Operation Completed
Please copy the logs folder from baseHome to a safe location ifyou plan to delete the baseHome folder where baseHome is the location where the RepMigrate Utility is unzipped.
Starting AQ.
ログ・ファイル
<full_path_RepMigrate_location>/logs
ディレクトリのログ・ファイルを確認します。詳細は、「RepMigrateログ・ファイル」を参照してください。
ステップ4.6.新しいリポジトリの設定
- adminオプションを使用してEnterprise Manager OMSを再起動します。
emctl start oms -admin_only
- OMS構成を変更します。
emctl config oms -store_repos_details -repos_conndesc '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=<Host_NAME>)(PORT=<Port>)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=<Service>)))' -repos_user SYSMAN -repos_pwd <pwd>
emctl config emrep -sysman_pwd <sysman password> -conn_desc "new DB descriptor"
- Enterprise Managerで使用されるすべてのサービスを変更します。
RACの場合、Enterprise Managerには、RACサービスを使用する特定のサブシステムの接続文字列があります。これらが構成されている場合は、変更する必要があります。詳細は、Enterprise Managerアドバンスト・インストレーションおよび構成ガイドを参照してください。
- OMSを停止します。
emctl stop oms -all
- OMSおよび管理エージェントを再起動します。
emctl start oms
emctl start agent
移行後の検証の実行
次の検証ステップを移行後に実行し、移行が完全に成功したかどうかを確認します。
-
ソース・データベースとターゲット・データベースをEnterprise Managerで比較してオブジェクトの矛盾を検証します。
-
移行されたデータベースをEnterprise Managerで検証し、データベースが問題なく実行しているかどうかを確認します。
-
リポジトリ操作、dbmsジョブ、管理システム・エラーが報告されているかどうかを検証します。
-
すべてのEnterprise Manager機能が移行後適切に機能しているかどうかを検証します。
-
Enterprise Managerによる検証で、管理サービスとリポジトリ・データベースが適切に再配置されていることを確認します。
RepMigrateファイルとトラブルシューティング
Enterprise Manager 13cリリース5更新22 (13.5.0.22)以降では、RepMigrateユーティリティをEnterprise Managerリポジトリ・データベースの移行の実行に使用できます。
RepMigrateログ・ファイル
この項では、RepMigrateユーティリティの使用時に生成されるログ・ファイルについて説明します。
場所
<RepMigrate_location>/logs
フォルダにあります。
エクスポート・ログ・ファイル
em_repos_migrate_export.log
error.txt
export/
restOfSchemasExportOutput.log
sysmanTypesDataOnlySchemaExportOutput.log
sysmanUsersOnlyExportOutput.log
tableExportOutput.log
viewExportOutput.log
logger<number>.properties
(<number>は、生成された乱数です。)output.txt
rcu.log
repmigrate/
m_<timestamp>.expdp
(<timestamp>は、生成された日時です。)repmigrate_expdp.log
インポート・ログ・ファイル
custom_comp_create_tbs.log
import/
restOfSchemasImportOutput.log
sysmanTypesDataOnlySchemaImportOutput.log
sysmanUsersOnlyImportOutput.log
tableImportOutput.log
viewImportOutput.log
output.txt
repmigrate/
m_<timestamp>.impdp
(<timestamp>は、生成された日時です。)repmigrate_impdp.log
em_repos_migrate_import.log
error.txt
logger<number>.properties
(<number>は、生成された乱数です。)rcu.log
utlprp.sql
RepMigrateレスポンス・ファイル
この項では、レスポンス・ファイルを使用したRepMigrateの起動について説明します。
レスポンス・ファイルを作成し、RepMigrateユーティリティの起動時に使用できます。
レスポンス・ファイルの場所
RepMigrateホーム・ディレクトリ(RepMigrateが解凍された場所)の下に作成および保存できます。
エクスポート・レスポンス・ファイル
テキスト・エディタを使用してレスポンス・ファイルを作成し、エクスポート操作に必要なパラメータを追加して、任意の希望の名前で保存できます。たとえば、<RepMigrate_location>/repmigrate_exp.rsp
ファイルとして保存できます。
エクスポート用のレスポンス・ファイルの例:
action=expdp
connectString=(DESCRIPTION=(ADDRESS=(PROTOCOL=abc)(HOST=abchostname)(PORT=0000))(CONNECT_DATA=(SERVER=DEDICATED)(SID=sidname)))
dbUser=SYS
dbPassword=welcome***
reposPassword=welcome***
dataPumpUser=SYSTEM
dataPumpPassword=welcome***
dataPumpDir=/abc/dirname
dbHome=/abc/db_home
前述のパラメータおよび値の詳細は、「ステップ4.3. RepMigrateを使用したソース・データベースからのエクスポート」を参照してください。
インポート・レスポンス・ファイル
テキスト・エディタを使用してレスポンス・ファイルを作成し、インポート操作に必要なパラメータを追加して、任意の希望の名前で保存できます。たとえば、<RepMigrate_location>/repmigrate_imp.rsp
ファイルとして保存できます。
action=impdp
connectString=(DESCRIPTION=(ADDRESS=(PROTOCOL=abc)(HOST=abchostname)(PORT=0000))(CONNECT_DATA=(SERVER=DEDICATED)(SID=sidname)))
dbUser=SYS
dbPassword=welcome****
reposPassword=welcome***
dataPumpUser=SYSTEM
dataPumpPassword=welcome***
dataPumpDir=/abc/dirname
dbHome /abc/em/db_home
前述のパラメータおよび値の詳細は、「ステップ4.5. RepMigrateを使用したターゲット・データベースへのインポート」を参照してください。
レスポンス・ファイルを使用したRepMigrateの起動
RepMigrate.sh -responsefile <full_path_response_file>
RepMigrate.sh -responsefile /abc/repmigrate_exp.rsp
RepMigrateのトラブルシューティング
この項では、RepMigrateユーティリティに関連する一般的な問題および解決策についていくつか説明します。
リポジトリ移行プロセス中には、様々なエラーが発生することがあります。一般的なエラーの原因と推奨処置を次に示します。
- エージェント・ホームのRUバージョンがOMSのバージョンと異なります。エージェントにOMSと同じRUバージョンでパッチが適用されていることを確認してから、操作を再試行してください。
- DBパッチ30978304が見つかりません。このエラーを解決するには、Oracleサポートに連絡してください。
- 外部ユーザー・チェックに失敗しました。インポート前に、ターゲットDBでEM_ADMINユーザーを作成してください。
- 外部ロール・チェックに失敗しました。インポート前に、ターゲットDBでSYSMAN_READ1ロールを作成してください。
- 外部プロファイル・チェックに失敗しました。インポート前に、ターゲットDBでPGGDプロファイルを作成してください。
- 古いEnterprise Managerのリカバリ
- エクスポート時の障害からのリカバリ
- インポート時の障害からのリカバリ
エージェント・ホームのRUバージョンがOMSのバージョンと異なります。エージェントにOMSと同じRUバージョンでパッチが適用されていることを確認してから、操作を再試行してください。
原因: RepMigrateユーティリティでは、OMSと同じリリース更新(RU)レベルのEMエージェントが、ソースおよびターゲットのデータベース・ホストで実行されている必要があります。EMエージェントがソース・ホストまたはターゲット・ホストで実行されていない場合、前述のエラーが表示されます。
処置: エクスポート(expdp
)操作またはインポート(impdp
)操作を実行する前に、OMSと同じRUのEMエージェントをソース・ホストまたはターゲット・ホストにプッシュしてください。
DBパッチ30978304が見つかりません。このエラーを解決するには、Oracleサポートに連絡してください。
原因: RepMigrateユーティリティでは、expdpまたはimpdp操作の前に、ソース・ホストとターゲット・ホストの両方にデータ・ポンプ・パッチ30978304を適用する必要があります。パッチがソース・ホストまたはターゲット・ホストに適用されていない場合、このエラーがスローされます。
可能な処置: My Oracle Supportに連絡し、データベース・パッチ30978304またはソース・ホストまたはターゲット・ホストのデータベース・バージョンに固有のデータ・ポンプ・パッチを適用してください。データベース・パッチ情報は、My Oracle Supportを参照してください。
外部ユーザー・チェックに失敗しました。インポート前に、ターゲットDBでEM_ADMINユーザーを作成してください。
原因: RepMigrateユーティリティは、ソース・データベースで作成されたEMユーザー以外の外部ユーザーがないかチェックします。外部ユーザーが見つかった場合、ソース内の外部ユーザーのすべての名前とともにこのエラーがスローされます。前述の例では、EM_ADMIN
は外部ユーザーです。
可能な処置: エラーでリストされた外部ユーザーをターゲットで作成する必要があります。
-ignorePrereqList repmigrate_external_user_check
パラメータを渡してユーティリティを再実行する必要があります。
次のように、同じ情報がエラーとともにコンソールに表示されます:
"-ignorePrereqList repmigrate_external_user_check"オプションを指定してソース・データベースでRepMigrateユーティリティを再実行し、エクスポート操作を完了してください。複数の前提条件が満たされていない場合は、カンマ(,)区切りのリストで渡してください。例: "-ignorePrereqList repmigrate_<x>_check,repmigrate_<y>_check"。使用方法については、RepMigrate -helpを使用してください。
外部ロール・チェックに失敗しました。インポート前に、ターゲットDBでSYSMAN_READ1ロールを作成してください。
原因: RepMigrateユーティリティは、ソース・データベースで作成されたEMロール以外の外部ロールがないかチェックします。外部ロールが見つかった場合、ソース内の外部ロールのすべての名前とともにこのエラーがスローされます。前述の例では、SYSMAN_READ1
は外部ロールです。
可能な処置: エラーでリストされた外部ロールをターゲットで作成する必要があります。
-ignorePrereqList repmigrate_external_roles_check
パラメータを渡してユーティリティを再実行する必要があります。
次のように、同じ情報がエラーとともにコンソールに表示されます:
"-ignorePrereqList repmigrate_external_role_check"オプションを指定してソース・データベースでRepMigrateユーティリティを再実行し、エクスポート操作を完了してください。複数の前提条件が満たされていない場合は、カンマ(,)区切りのリストで渡してください(例: "-ignorePrereqList repmigrate_<x>_check,repmigrate_<y>_check")。使用方法については、RepMigrate -helpを使用してください。
外部プロファイル・チェックに失敗しました。インポート前に、ターゲットDBでPGGDプロファイルを作成してください。
原因: RepMigrateユーティリティは、ソースDBで作成されたEMプロファイル以外の外部プロファイルがないかチェックします。外部プロファイルが見つかった場合、ソース内の外部プロファイルのすべての名前とともにこのエラーがスローされます。この例では、PGDBは外部プロファイルです。
可能な処置: エラーでリストされた外部プロファイルをターゲットで作成する必要があります。
-ignorePrereqList repmigrate_external_profile_check
パラメータを渡してユーティリティを再実行する必要があります。
次のように、同じ情報がエラーとともにコンソールに表示されます:
"-ignorePrereqList repmigrate_external_profile_check"オプションを指定してソース・データベースでRepMigrateユーティリティを再実行し、エクスポート操作を完了してください。複数の前提条件が満たされていない場合は、カンマ(,)区切りのリストで渡してください(例: "-ignorePrereqList repmigrate_<x>_check,repmigrate_<y>_check")。使用方法については、RepMigrate -helpを使用してください。
古いEnterprise Managerのリカバリ
SYS
として次を実行します:
ALTER SYSTEM SET job_queue_processes=<JOB_QUEUE_MAX> sid='*'; where JOB_QUEUE_MAX can be checked from carry_info.txt file present in <dataPumpDir>.
ASMの場合、
JOB_QUEUE_MAX
の値は、<BASEDIR>にあるcarry_info.txt
ファイルから確認できます。ALTER SESSION SET CURRENT_SCHEMA = SYSMAN;
@<baseDir>/rsc/sql/admin_submit_dbms_jobs.sql;
<baseDir>
は、RepMigrateが解凍されている場所です。- AQを起動するには、
SYSMAN
として次を実行します:begin for emqrec in (select name from dba_queues where owner='SYSMAN' and name not like 'AQ$%') loop DBMS_AQADM.start_queue( queue_name => emqrec.name, enqueue => true, dequeue => true); end loop; end; /
- OMSを起動します
emctl start oms
- エージェントを起動します
emctl start agent
エクスポート時の障害からのリカバリ
- ソース・データベースで
SYS
として次を実行します:ALTER SYSTEM SET job_queue_processes=<JOB_QUEUE_MAX> sid='*'; where JOB_QUEUE_MAX can be checked from carry_info.txt file present in <dataPumpDir>.
ASMの場合、
JOB_QUEUE_MAX
の値は、<baseDir>にあるcarry_info.txt
ファイルから確認できます。ALTER SESSION SET CURRENT_SCHEMA = SYSMAN;
@<baseDir>/rsc/sql/admin_submit_dbms_jobs.sql;
<baseDir>
は、RepMigrateが解凍されている場所です。 - AQを起動するには、
SYSMAN
として次を実行します:begin for emqrec in (select name from dba_queues where owner='SYSMAN' and name not like 'AQ$%') loop DBMS_AQADM.start_queue( queue_name => emqrec.name, enqueue => true, dequeue => true); end loop; end; /
- 次を削除します:
-
-dataPumpDir
オプションに指定された、ステップ3でユーティリティに渡された<dumpfile folder>
。 -
<baseDir/logs>
フォルダ。 - ASMの場合、前述のステップに加えて、
<baseDir>
からcarry_info.txt
およびadmin_gen_grants_to_ro_user.sql
を削除します。 - エクスポートを再試行します。
-
インポート時の障害からのリカバリ
- 古いDBインスタンスを削除します。
古いデータベース・インスタンスがCDBで、PDBにインポートしている場合は、PDBを削除して再作成できます。
- 新しいインスタンスを作成します。
- インポートを再試行する前に、
<baseDir>
の<baseDir/logs>
フォルダを削除します。<baseDir>
は、RepMigrateが解凍されている場所です。 - ASMの場合、前述のステップに加えて、次を実行することで、ASMCMDを使用してDUMPSETを削除します:
- ASMCMDにログインします。
- ASMインスタンスのDUMPSETに移動します。
- 次を実行します:
rm sysman_* rm view.dmp rm table.dmp