スキーマ抽出の実行¶
前提条件
スキーマを抽出する前に、移行ポータルの Projects ページまたはポータルWikiのDDLExtractorガイドで提供されているリンクから最新のEDBDDLExtractorスクリプトをダウンロードする必要があります。このスクリプトは、SQLDeveloperまたはSQL*Plusで実行できます。Oracleの DBMS_METADATA 組み込みパッケージを使用して、スキーマ(スクリプトの実行中に指定)の下にあるさまざまなオブジェクトのDDLを抽出します。EDBDDLエクストラクターは、ポータルにアップロードされ、EDBPostgresの互換性について分析されるDDLファイルを作成します。
注釈
*スクリプトユーザー*には、 CONNECT 、 RESOURCE 、および SELECT_CATALOG_ROLE の役割が必要です。
SQL*Plusの場合
SQL*Plusに接続してコマンドを実行します。
SQL>@edb_ddl_extractor.sqlスキーマ名と、抽出プログラムが抽出されたDDLを保存するパスまたはディレクトリを指定します。複数のスキーマを抽出する場合は、区切り文字としてコンマ(
、)を使用します。
注釈
現在のデータベースからすべてのユーザースキーマを抽出する場合は、抽出中にスキーマ名を指定しないでください。ただし、抽出するスキーマ名を記載することをお勧めします。
他のスキーマから依存オブジェクトを抽出する場合は、
yesまたはnoを入力します。たとえば、Linuxの場合:
Enter a comma separated list of schemas to be extracted (Default all schemas):HR, SCOTT, FINANCELocation 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):yesWindowsの場合:
Enter comma separated list of schemas to be extracted (Default all schemas):HR, SCOTT, FINANCELocation 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
SQLDeveloperの場合
SQLサーバーに接続し、次のコマンドを実行します。
LinuxまたはWindowsのパスを入力します。¶
スキーマのコンマ区切りリストを入力します。
スキーマのリストを提供します。¶
出力ファイルのファイルパスを入力します。
出力ファイルのパスを指定します。¶
(yes/no)を入力して、依存オブジェクトを抽出します。
依存オブジェクトの抽出¶
注:SQL*PlusとSQLDeveloperの両方に単一のスキーマ名を入力することもできます。
次に、スクリプトはソースデータベースのオブジェクトタイプを反復処理し、タスクが完了すると、.SQL出力は入力された場所、つまり c:/Users/Example/Desktop/ に保存されます。
追加メモ
EDBDDLExtractorスクリプトは、
Flashbackを使用して復元され、BIN$b54+4XlEYwPgUAB/AQBWwA==$0のような名前をまだ持っているオブジェクトを抽出しません。これらのオブジェクトを抽出する場合は、オブジェクトの名前を変更して、抽出プロセスを再実行する必要があります。DDLExtractorは
nologgingテーブルを通常のテーブルとして抽出します。これらのテーブルがEDBPostgresAdvancedServerに移行されると、WALログファイルが作成されます。
サポートされているオブジェクトタイプ¶
移行ポータルは、次のオブジェクトタイプの移行をサポートしています。
Synonyms
DB Links
Types and Type Body
Sequences
Tables
Constraints
Indexes(LOBインデックスとマテリアライズドビューのインデックスを除く)
Views
Materialized Views
Triggers
Functions
Procedures
Packages
注釈
Columns、Tables、およびMaterialized Viewsに関するコメントもサポートされています。
サポートされていないオブジェクトタイプ¶
Editions
Operators
Schedulers
LOB indexes and Indexes on Materialized Views
XML Schemas
Profiles
Role and Object Grants
Tablespaces
Directories
Users
RLS Policy
Queues
Oracleシステムスキーマ¶
EDBDDLExtractorスクリプトは、Oracleからの抽出中に次のシステムスキーマを無視します。
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 |
TSMSYSWKPROXY |
WKSYS |
WK_TEST |
WMSYS |
XDB |
XS$NULL |