EnterpriseDB
マイグレーションポータルは、 オラクルデータベーススキーマをEDB Postgresプラットフォームに移行するためのWebベースのサービスです。マイグレーションポータルは、 オラクルデータベーススキーマを評価および分析し、タイプ、テーブル、シーケンス、コンストレイン、トリガー、ビュー、ストアドプロシージャ、パッケージソフト、データベースリンク(dblinks)、マテリアライズドビュー、インデックスを変換し、 EDB Postgres Advanced Serverと互換性のあるDDLを生成します。
ユーザフレンドリポータルインタフェースは、評価と移行プロセスを簡素化します。ポータルにログインし、移行プロセスをスタートします。
マイグレーションポータルガイドには、移行プロセスに含まれる手順の概要が記載されています。このガイドには、一般的な移行の問題ソリューション、サポートされていない機能の詳細、および潜在的な回避策も含まれています。
EnterpriseDBは、企業が既存のデータベースシステムを長年Postgresに移行するのを支援してきました。詳細については、次のEnterpriseDB ウェブサイトにアクセスしてください。< https://www.edbpostgres.com/ >
whats_new supported_platforms mp_using_portal mp_migrating_database mp_advanced_data_migration
</ div>
リリース3.1.0のマイグレーションポータルには、次の機能強化が追加されています。
マルチプルのプロジェクトを作成し、評価を並行して実行し、評価が完了すると通知を受け取ることができるようになりました。また、マルチプルのブラウザタブを使用して、プロジェクトで同時に作業します。
互換性のないファンクション/パッケージに関する統合された情報とともに、読みやすさを高めるためにスキーマ評価レポートを再構築しました
洗練されたオブジェクト検索とフィルターエクスペリエンス、およびその他のUIの強化
このリリース、 マイグレーションポータルはEPASでサポートされていないパッケージソフト('Incompatible function/package found : UTL_FILE.GET_RAW'例)からファンクション/プロシージャ名を検出し、エラーと必要な移行作業をよりよく理解できるようにします。
更新された修復ハンドラ
リペアーハンドラーは、 オラクルの構文をPostgres互換の構文に変換するため、手動で行う必要はありません。
** ERH-2055-UNSUPPORTED_USING_INDEX_CLAUSE **
** ERH-1012-INSERT_STATEMENT_ALIAS **
** ERH-2090-CONVERT_FUNCTION **
** ERH-2027-SESSION_GLOBAL_SEQUENCE **
** ERH-2079-GLOBAL_PARTITIONED_INDEX **
ナレッジベース
知識ベースのエントリは、評価中に失敗したオブジェクトの回避策またはソリューション策を提供します。ナレッジベースソリューションをビューおよび適用して、失敗したオブジェクトを再評価できます。
新しいナレッジベースのエントリ
追加された新しいナレッジベースエントリは次のとおりです。
** オラクル SQLERRMファンクションの回避策**
SQLERRM()ファンクションは、最後に発生したエラー例外に関連付けられたエラーメッセージを返します。同様の結果を得るには、例外ブロックでAdvanced ServerがサポートするSQLCODEおよびSQLERRM変数を使用できます。** オラクル SQLCODEファンクションの回避策**
SQLCODEは、Advanced Serverでエラーの数値を結果ことができますカスタムファンクションを作成することができ、例外の数値コードを取得するために使用することができます。パッケージ内のTYPE定義に対する%type演算子を使用した値の割り当て
グローバルインデックス
ネストされたテーブルの回避策
Advanced Serverでは、ARRAYを使用して同じ種類の機能を実現できます。
オラクルでは、ユーザーは引数の名前を変更することにより、パッケージ内のメソッドをオーバーロードできます。 Advanced Serverでは、ユーザーは引数の型を変更してメソッドをオーバーロードする必要があります。
マイグレーションポータルは、 オラクル 11gおよび12cからEDB Postgres Advanced Server 、または13への評価と移行をサポートしています。MigrationPortalは、次のブラウザーおよびオペレーティングシステムでサポートされています。
サポートされているブラウザ
最高のユーザエクスペリエンスを得るには、 Google Chromeブラウザーを使用することをお勧めします。マイグレーションポータルは、次のブラウザーでもサポートされています。
| Browser | Supported Version |
|---|---|
| Apple Safari on Macintosh OS | 11 and above |
| Google Chrome | 68 and above |
| Microsoft Edge | 42 and above |
| Mozilla Firefox | 60 and above |
サポートされているオペレーティングシステム
| Operating Systems | Supported Version |
|---|---|
| Macintosh | OS X Sierra |
| Windows | 10 |
マイグレーションポータルを使用すると、データベーススキーマをオラクルからEDB Postgres Advanced Serverに簡単に移行できます。評価用のスキーマをアップロードして、すぐにフィードバックと提案を得ることができます。ポータルを使用すると、すべてのオブジェクトの評価済みDDLをダウンロードし、オンプレミスまたはクラウドでEDB Postgresデータベースを作成できます。
Note * マイグレーションポータルには現在、チームコラボレーション機能がありません。共同会議、スクリーン共有、およびダウンロード可能な評価レポートを使用して結果を共有することをお勧めします。
マイグレーションポータルにアクセスするには:
1.ブラウザーを開き、https://www.edbpostgres.com/に移動します。
Products]> [Migration Portal]をクリックします。
Open Migration Portalをクリックします。4.資格情報を使用してログインします。
mp_overview_home mp_overview_project mp_overview_wiki
</ div>
マイグレーションポータルのページでは、移行ツールにすばやくアクセスできます。
マイグレーションポータルのページでは、次のマイグレーションポータル機能にアクセスできます。
プロジェクト:Projectsパネルには、評価されたプロジェクトのリストが表示されます。
プロジェクトの作成:+ New(Projectslabelの右側にあるボタン)をクリックして、新しいプロジェクトを作成します。
Note * ラージDDLファイルをアップロードすると、ブラウザーがフリーズまたはクラッシュする場合があります(ブラウザーと使用中のシステムリソースによって異なります)。このシナリオでは、別のブラウザでマイグレーションポータルを実行するか、より少ないスキーマを抽出して、そのファイルをマイグレーションポータルにアップロードしてみてください。
プロジェクトの検索:Searchボックスを使用してプロジェクトを検索します。
概要:Overviewパネルには、選択したプロジェクトの詳細が表示され、スキーマ評価後の互換性のパーセンテージが表示されます。
移行先:Migrate toボタンを使用して、 EDB Postgres Advanced Server互換の.sqlファイルをダウンロードするか、オンプレミスまたはクラウドのEDB Postgres Advanced Serverにスキーマを移行します。詳細については、Schema Migrationを参照してください。
レポート:Reportボタンを使用して、スキーマ評価レポートをビューおよびダウンロードします。
削除:Deleteボタンを使用して、選択したプロジェクトを削除します。
警告サイン:プロジェクトまたはスキーマの互換性が70%より小さいの場合、またはマルチプル試行してもDDLが成功しない場合は、ワーニングメッセージが表示されます。
** DDLファイルのアップロード**:Upload new schemaボタンを使用して、新規または追加のDDLファイルをアップロードします。
スキーマ:Schemasパネルには、アップロードされたDDLファイルからの評価結果が表示されます。
クイックヘルプ:Quick helpパネルには、いくつかの必要なリソースへのクイックハンドルが含まれています。
** Portal Wiki **:Portal Wikiには、製品情報およびさまざまなヘルプガイドへのリンクがあります。
[マイグレーションポータルプロジェクト]ページには、移行に関する詳細情報が表示されます。
次のリソースを使用して、移行プロジェクトに関する情報を収集します。
互換性:Compatibleゲージは、評価されたスキーマの互換性のパーセンテージに基づいて色を表示します。
スキーマ数:プロジェクト内のスキーマの数を表示します。
移行先:Migrate toを使用して、スキーマを* EDB Postgres Advanced Server *オンプレミスまたはクラウドに移行します。
オブジェクトの検索:Searchボックスを使用してオブジェクトを検索します。
フィルター:[プロジェクト]ページの左パネルからシステム修復およびマニュアル修復オブジェクトをフィルターできます。また、1つ以上のフィルターの組み合わせを選択して、情報を絞り込むことができます。
オブジェクト:選択したスキーマのオブジェクトを表示します。
よくある失敗:選択したスキーマの失敗したオブジェクトの理由を表示します。
Note * プロジェクトの一般的な失敗については、
CSVファイルをダウンロードできます。
スキーマ:Schemaパネルに評価の結果が表示されます。
ツールチップ:結果セットにカーソルを合わせて、合格、失敗、修復されたオブジェクトの数を含むツールチップを表示します。
クイックヘルプ:Quick helpパネルには、ナレッジベース記事と修復ハンドラ文書へのリンクが表示されます。
検索:Searchボックスを使用して、Knowledge baseエントリを検索するか、特定の情報についてハンドラの文書を修復します。
ポータルWikiページから情報にすばやくアクセスできます。
データベースを移行するには、次の手順を完了する必要があります。
次のセクションでは、移行プロセスの各ステップに関する詳細情報を提供します。
mp_schema_extraction mp_schema_assessment mp_schema_migration mp_data_migration
</ div>
前提条件
スキーマを抽出する前に、マイグレーションポータルのProjectsページまたはポータルWikiのDDLエクストラクタガイドで提供されているリンクから最新のEDB DDLエクストラクタスクリプトをダウンロードする必要があります。このスクリプトは、 SQL DeveloperまたはSQL * Plusで実行できます。 OracleのDBMS_METADATAビルトインパッケージを使用して、スキーマ(スクリプトの実行中に指定)の下にあるさまざまなオブジェクトのDDLを抽出します。 EDB DDLエクストラクタは、ポータルにアップロードされ、 EDB Postgresの互換性について分析されたDDLファイルを作成します。
Note *
CONNECTおよびSELECT_CATALOG_ROLEロールとCREATE TABLE権限です。
** SQL * Plus **の場合
SQL * Plusに接続して、コマンドを実行します。
SQL>@edb_ddl_extractor.sql2.抽出器が抽出されたDDLを保存するスキーマ名前とパスまたはディレクトリします。マルチプルのスキーマを抽出する場合、デリミタとしてコンマ(‘,’)を使用します。
Note * 現在のデータベースからすべてのユーザスキーマを抽出する場合、抽出中にスキーマ名を指定しないでください。ただし、抽出するスキーマ名を記載することをお勧めします。
3.他のスキーマから依存オブジェクトを抽出する場合は、yesまたはnoと入力します。
Enter a comma separated list of schemas to be extracted (Default all schemas): HR, SCOTT, FINANCE
Location for output file (Default current location) : /home/oracle/extracted_ddls/
WARNING:
Given schema(s) list may contain objects which are dependent on objects from other schema(s), not mentioned in the list.` `Assessment may fail for such objects. It is suggested to extract all dependent objects together.
Extract dependent object from other schemas?(yes/no) (Default no / Ignored for all schemas option): yes
Enter comma separated list of schemas to be extracted (Default all schemas): HR, SCOTT, FINANCE
Location for output file (Default current location) : c:\Users\Example\Desktop\
WARNING:
Given schema(s) list may contain objects which are dependent on objects from other schema(s), not mentioned in the list.` `Assessment may fail for such objects. It is suggested to extract all dependent objects together.
Extract dependent object from other schemas?(yes/no) (Default no / Ignored for all schemas option): yes
** SQL Developerの場合**
2.スキーマのコンマ区切りリストを入力します。
3.出力ファイルのパスを入力します。
4.(yes / no)を入力して、依存オブジェクトを抽出します。
Note * SQL * PlusとSQL Developerの両方に単一のスキーマ名前を入力することもできます。
スクリプトはソースデータベース内のオブジェクトタイプを反復処理し、タスクが完了すると、 SQL出力は、入力された場所、つまりc:\Users\Example\Desktop\に保存されます。
追加メモ
Flashbackを使用して復元し、まだBIN$b54+4XlEYwPgUAB/AQBWwA==$0のような名前を持っています。これらのオブジェクトを抽出する場合は、オブジェクトの名前を変更して、抽出プロセスを再実行する必要があります。nologgingテーブルを通常のテーブルとして抽出します。これらのテーブルがEDB Postgres Advanced Serverに移行されると、WALログファイルが作成されます。 DDLエクストラクタは、スキーマ名とその依存関係情報を保存するためのグローバル一時テーブルを作成します。これらのテーブルは、抽出が正常に終了すると削除されます。PG_で始まるスキーマを抽出しません。これらのスキーマを抽出する場合は、抽出の前にスキーマの名前を変更する必要があります。マイグレーションポータルは、次のオブジェクトタイプの移行をサポートしています。
Note * COMMENTS列、テーブル、およびマテリアライズドViewsもサポートされています。
EDB DDLエクストラクタスクリプトは、 オラクルからの抽出中に次のシステムスキーマを無視します。
| ANONYMOUS | APEX_PUBLIC_USER | APEX_030200 |
| APEX_040000 | APEX_040000 | APPQOSSYS |
| AUDSYS | BI | CTXSYS |
| DMSYS | DBSNMP | DIP |
| DVF | DVSYS | EXFSYS |
| FLOWS_FILES | FLOWS_020100 | GSMADMIN_INTERNAL |
| GSMCATUSER | GSMUSER | IX |
| LBACSYS | MDDATA | MDSYS |
| MGMT_VIEW | OE | OJVMSYS |
| OLAPSYS | ORDPLUGINS | ORDSYS |
| ORDDATA | OUTLN | ORACLE_OCM |
| OWBSYS | OWBYSS_AUDIT | PM |
| RMAN | SH | SI_INFORMTN_SCHEMA |
| SPATIAL_CSW_ADMIN_USR | SPATIAL_WFS_ADMIN_USR | SYS |
| SYSBACKUP | SYSDG | SYSKM |
| SYSTEM SYSMAN | TSMSYS WKPROXY | WKSYS |
| WK_TEST XS$NULL | WMSYS | XDB |
EDB Postgres Advanced Serverとの互換性についてオラクルデータベーススキーマを評価するには、以下を行う必要があります。
Migration Portalに移動します。
EDB資格情報を入力します。
Newをクリックして、新しいプロジェクトを作成します。
New project ]ダイアログボックスで、 [ Project name ]フィールドにプロジェクト名前を入力します。5.プロジェクトの詳細を指定します。
Application interfaceの横のラジオボタンを選択します。 -ソースとしてSource DBおよびVersionを選択します。 -ターゲットのTarget DBおよびVersionを選択します。Choose fileをクリックして、をアップロードします。 オラクル Database用の最新のEDB DDLエクストラクタによって生成されたSQLファイル。Note * -変更しないでください。 SQLファイル。 -のみ。最新のEDB DDLエクストラクタで生成されたSQLファイルをアップロードできます。
EDB Postgres Advanced Serverはテーブルとインデックスの同じ名前をサポートしていないため、プロジェクトを作成するときにAdd Index Prefixの隣のボックスをオンにして、より良い評価結果を保証にインデックスプレフィックス(idx)を指定します。
Create & assessをクリックして、新しいプロジェクトを作成し、スキーマを評価します。
図3-6:スキーマ分析結果
分析ツールは、すべてのコンストラクトを確認して修復アクションを実行し、 EDB Postgres Advanced Serverとの互換性を改善し、マニュアル介入が必要な残りのエラーにフラグます。
100%の成功率を示さないDDLオブジェクト(たとえば、TABLES)を確認します。
11.右側のパネルのナレッジベース情報を参照して、 EDB Postgres Advanced Serverとすぐに互換性のないオブジェクトの可能な回避策を見つけます。ポータルWikiページでナレッジベース情報をビューすることもできます。
Knowledge Base]タブで、 EDB Postgres Advanced Serverとの互換性のないオブジェクトのエラーメッセージを入力し、[Search]をクリックします。Assessment]タブで変更をmake、Reassessをクリックすることができます。Note * 再評価中に失敗したオブジェクトが合格した場合、そのオブジェクトの依存オブジェクトも再評価されます。
同様に、互換性のないすべてのオブジェクトを互換性のあるものにmakeことができます。
Note * 互換性のないオブジェクトに関する情報または回避策がナレッジベースにない場合は、サポートチームに連絡してください。
DDLの使用が終了したら、変更されたEDB互換DDLを.sqlファイルとしてダウンロードするか、スキーマを移行します(Schema Migrationを参照)。
</ div>
移行ポータルのレポート機能は、プロジェクトに対して評価されたスキーマの高レベルの評価概要を提供します。さらに、このレポートは、失敗したオブジェクトと失敗の原因に関する詳細を提供します。
レポートを生成するには:
Reportボタンをクリックして、スキーマ選択ダイアログにアクセスします。2.レポートに含めるスキーマを選択します。
Generateをクリックして、画面上のレポートを生成します。
オプションでGenerate PDFを選択して、レポートを.pdf形式で保存できフォーマット。選択したスキーマの下のDDLに適用された個別のリペアハンドラーの数をビューすることもできます。
スキーマのエラーを解決した後、pgAdmin、ToadEdge、PSQLクライアントなどのクライアントアプリケーションでスキーマを使用するか、スキーマをEDB Postgres Advanced Serverに移行できます。
Note * EDB Postgres Advanced ServerでToad Edgeを使用する方法の詳細については、 PostgresのToad Edgeを参照してください。
スキーマを移行するには、次のオプションのいずれかを選択できます。に移行する:
</ div>
WindowsまたはLinuxプラットフォーム上の既存のオンプレミスEDB Postgres Advanced Serverにスキーマを移行できます。
Existing on-premises EDB Postgres Postgres Advanced Serverオプションを選択します。
Note * スキーマの互換性が100%でない場合、次のようにバナーが表示されます。必要な支援が必要な場合は、
Contact Usフォームに記入してください。
3.評価されたスキーマをダウンロードします。
Windowsをクリックします。
5.スキーマをインポートするには、次のコマンドを実行します。
\i c:\users\...\<project_name>.sql
edb-psql -f <project_name>.sql
Note * 代わりに
pgAdminを使用することもできます。
変換されたスキーマは、ターゲットサーバーに移行されます。
Linux上の既存のオンプレミスEDB Postgres Advanced Serverにスキーマを移行するには、次の手順を実行します。
Existing on-premises EDB Postgres Advanced Serverオプションをクリックします。
3.評価されたスキーマをダウンロードします。
Linuxをクリックします。
5.スキーマをインポートするには、次のedb-psqlクライアントコマンドを呼び出します。
sudo su - enterprisedb
edb-psql edb
create database <database_name>;
\\connect <database_name>
\\i <project_name>.sql
Note * オプションで、インポートに
pgAdminクライアントを使用できます。
変換されたスキーマは、ターゲットサーバーに移行されます。
</ div>
新しいEDB Postgres Advanced ServerをオンプレミスでWindowsまたはLinuxプラットフォームにWindows、スキーマを移行できます。
Windows上の新しいオンプレミスEDB Postgres Advanced Serverにスキーマを移行するには、次の手順を実行します。
New on-premises EDB Postgres Postgres Advanced Serverオプションをクリックします。
Windowsオペレーティングシステムを選択します。
Windows Installerをダウンロードします。
5.インストール手順については、EDB Postgres Advanced Server Installation Guide for Windowsをクリックします。
6.評価されたスキーマをダウンロードします。
7.次のコマンドを実行して、スキーマをインポートできます。
\i c:\users\...\<project_name>.sql
edb-psql -f <project_name>.sql
Note * 代わりに
pgAdminを使用することもできます。
スキーマがターゲットサーバーに移行されます。
</ figure>
LinuxでスキーマをオンプレミスEDB Postgres Advanced Serverに移行するには、次の手順を実行します。
New On-premises EDB Postgres Advanced Serverオプションをクリックします。
Linuxオペレーティングシステムを選択します。
4.次のオプションのいずれかを選択して、 EDB Postgres Advanced Serverをインストールできます。
リポジトリ
その他のオプション
5.インストールプロシージャは、LinuxのEDB Postgres Advanced Server Installation Guideをクリックしてください。
6.評価されたスキーマをダウンロードします。
7.スキーマをインポートするには、次のコマンドを実行します。
sudo su - enterprisedb
edb-psql edb
create database <database_name>;
\connect <database_name>
\i <project_name>.sql
Note * 代わりにpgAdminを使用することもできます。
変換されたスキーマは、ターゲットサーバーに移行されます。
EDB Postgres Advanced Serverのスキーマをクラウドに移行するには、次の手順を実行します。
EDB Postgres Advanced Server on Cloudオプションをクリックします。
4.クラウドプラットフォームを選択します。例、IBM Cloud:
5.新しいクラスターを起動するには、Go to Cloudをクリックします。
または、既存のクラスターを実行している場合は、Nextをクリックします。
Connectページで必要な接続の詳細を入力します。
Note *
Edit Connectionをクリックして、接続の詳細を変更し、接続の詳細を再テストできます。
Test Connectionをクリックして、接続の詳細を確認します。
8.接続が成功したら、Nextをクリックします。
変換されたスキーマは、ターゲットサーバーに移行されます。
スキーマの移行を実行した後、次の手順を実行してデータを移行します。
Migration Toolkitを使用してデータを移行します。 Migration Toolkitの使用に関する詳細については、Migration Toolkit Guideを参照してください。
Migration Toolkit toolkit.propertiesファイルを構成し、ソースファイルとターゲットデータベースの接続情報がプロパティファイルで利用できることを確認します。
SRC_DB_URL = jdbc: oracle:thin:@localhost:1521:ORCL
SRC_DB_USER = user_name
SRC_DB_PASSWORD = password
TARGET_DB_URL= jdbc:edb://localhost:5444/migration
TARGET_DB_USER = enterprisedb
TARGET_DB-PASSWORD = password
詳細については、Building the toolkit.properties Fileを参照してください。
–dataOnlyモードでMigration Toolkitを呼び出します。テーブル間で外部キーの依存関係を解決するには、–truncLoadキーワードを含めます。例、hr名前付けのスキーマにコマンド移行データを以下:
runMTK.sh –dataOnly –targetSchema hr –truncLoad HR
このコマンドは、指定されたsource_schemaをtarget_schemaに移行します。データは、ローカルにインストールされたEDB Postgresインスタンスに、enterprisedb名前付けのデータベーススーパーユーザとpasswordというパスワードでロードされます。
Note * テーブルはデータロードを試みる前に切り捨てられます。
並列データロードを必要とする大規模なデータベースでは、次のいずれかの方法を使用できます。
EDB Postgres Advanced Serverデータベースリンク機能を使用します( オラクルデータベースとの互換性のため)。
または
Dblinkまたはデータベースリンクスタイルの移行を使用します(データにCLOBデータが含まれる場合)。
詳細については、Migration Toolkit Guideを参照してください。