Performing a Schema Extraction¶
前提条件
スキーマを抽出する前に、マイグレーションポータルの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``権限です。!! Note
CONNECTおよびSELECT_CATALOG_ROLEロールとCREATE TABLE権限です。
** SQL * Plus **の場合
SQL * Plusに接続して、コマンドを実行します。
SQL>@edb_ddl_extractor.sql
2.抽出器が抽出されたDDLを保存するスキーマ名前とパスまたはディレクトリします。マルチプルのスキーマを抽出する場合、デリミタとしてコンマ(‘,’)を使用します。
Note現在のデータベースからすべてのユーザスキーマを抽出する場合は、抽出中にスキーマ名を指定しないでください。ただし、抽出するスキーマ名を記載することをお勧めします。!! Note現在のデータベースからすべてのユーザスキーマを抽出する場合は、抽出中にスキーマ名を指定しないでください。ただし、抽出するスキーマ名を記載することをお勧めします。
3.他のスキーマから依存オブジェクトを抽出する場合は、yesまたはnoと入力します。
例、Linux上:
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の場合**
SQLサーバーに接続し、次のコマンドを実行します。
Enter the path for Linux or Windows.¶
図3-1:LinuxまたはWindowsのパスを入力*
2.スキーマのコンマ区切りリストを入力します。
Provide a list of schemas.¶
図3-2:スキーマのリストを提供*
3.出力ファイルのパスを入力します。
Specify the output file path.¶
図3-3:出力ファイルパスの指定*
4.(yes / no)を入力して、依存オブジェクトを抽出します。
Extracting dependent objects.¶
図3-4:依存オブジェクトの抽出*
Note!! Note * SQL * PlusとSQL Developerの両方に単一のスキーマ名前を入力することもできます。
スクリプトはソースデータベース内のオブジェクトタイプを反復処理し、タスクが完了すると、
SQL出力は、入力された場所、つまりc:\Users\Example\Desktop\に保存されます。
追加メモ
オブジェクトを抽出しないEDB DDLエクストラクタスクリプトが
Flashbackを使用して復元し、まだBIN$b54+4XlEYwPgUAB/AQBWwA==$0のような名前を持っています。これらのオブジェクトを抽出する場合は、オブジェクトの名前を変更して、抽出プロセスを再実行する必要があります。DDL DDLエクストラクタは、
nologgingテーブルを通常のテーブルとして抽出します。これらのテーブルがEDB Postgres Advanced Serverに移行されると、WALログファイルが作成されます。 DDLエクストラクタは、スキーマ名とその依存関係情報を保存するためのグローバル一時テーブルを作成します。これらのテーブルは、抽出が正常に終了すると削除されます。DDL DDLエクストラクタスクリプトは、 PostgreSQLがサポートしていないため、名前が
PG_で始まるスキーマを抽出しません。これらのスキーマを抽出する場合は、抽出の前にスキーマの名前を変更する必要があります。
サポートされているオブジェクトタイプ¶
マイグレーションポータルは、次のオブジェクトタイプの移行をサポートしています。
Synonyms
DBリンク
Types and Type Body
シーケンス
テーブル
Constraints
インデックス(LOBインデックスおよびマテリアライズドビューのインデックスを除く)
Views
マテリアライズドViews
トリガー
Functions
Procedures
パッケージ
Note!! Note * 列、表、マテリアライズドViewsのコメントもサポートされています。
サポートされていないオブジェクトタイプ¶
Editions
オペレーター
スケジューラー
LOBインデックスとマテリアライズドViewsのインデックス
XMLスキーマ
プロファイル
ロールおよびオブジェクトの付与
テーブルスペース
ディレクトリ
ユーザー
RLSポリシー
Queues
オラクルシステムスキーマ¶
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 |