DBMS_CLOUD_MIGRATIONパッケージ
DBMS_CLOUD_MIGRATION
パッケージを使用すると、PostgreSQLからOracle SQLへのSQLコードの変換が容易になります。
- DBMS_CLOUD_MIGRATIONサブプログラムの要約
この表は、DBMS_CLOUD_MIGRATION
パッケージに含まれるサブプログラムの概要を示しています。
DBMS_CLOUD_MIGRATIONサブプログラムの概要
この表は、DBMS_CLOUD_MIGRATION
パッケージに含まれるサブプログラムの概要を示しています。
サブプログラム | 説明 |
---|---|
|
|
このプロシージャは、指定されたソース・データベースのSQL文を含むファイルを入力として変換し、SQL文をOracle SQLに変換します。 |
|
このプロシージャは、リアルタイムSQL変換およびAutonomous DatabaseでのOracle以外のSQL文の実行を有効にします。 |
|
このプロシージャを使用すると、SQL言語翻訳を終了できます。 |
- MIGRATE_SQLプロシージャおよびファンクション
MIGRATE_SQLを使用すると、Oracle SQL以外で記述されたSQL文のOracle SQLへの変換が容易になります。このプロシージャはオーバーロードされており、関数およびプロシージャのバリアントがあります。 - MIGRATE_FILEプロシージャ
MIGRATE_FILE
は、指定されたソース・データベースのSQL文を含むファイルを入力として取得し、SQL文をOracle SQLに変換します。 - ENABLE_TRANSLATIONプロシージャ
ENABLE_TRANSLATION
プロシージャを使用すると、リアルタイムSQL変換およびAutonomous DatabaseでのOracle以外のSQL文の実行が可能になります。 - DISABLE_TRANSLATIONプロシージャ
DISABLE_TRANSLATION
プロシージャを使用すると、SQL言語変換を終了できます。セッションでSQL言語変換が有効になっていない場合は、エラーが返されます。
親トピック: DBMS_CLOUD_MIGRATIONパッケージ化
MIGRATE_SQLプロシージャおよびファンクション
MIGRATE_SQLを使用すると、Oracle SQL以外で記述されたSQL文のOracle SQLへの変換が容易になります。このプロシージャはオーバーロードされており、関数およびプロシージャのバリアントがあります。
構文
DBMS_CLOUD_MIGRATION.MIGRATE_SQL
(
original_sql IN CLOB,
output_sql OUT CLOB,
source_db IN VARCHAR2);
DBMS_CLOUD_MIGRATION.MIGRATE_SQL
(
original_sql IN CLOB,
source_db IN VARCHAR2);
RETURN CLOB;
パラメータ
パラメータ | 説明 |
---|---|
|
Oracle SQLに変換する必要があるソース・データベース内の元のSQL文を指定します。 このパラメータは必須です。 |
|
変換されたSQL文を返します。 このパラメータは必須です。 |
|
ソース・データベースの名前を指定します。このパラメータの有効な値は このパラメータは必須です。 |
戻り値
DBMS_CLOUD_MIGRATION.MIGRATE_SQL
のファンクション形式は、変換されたOracle SQLバージョンのORIGINAL_SQL
入力を含むCLOB
を返します。
使用上のノート
-
Oracle SQLで入力SQL文がサポートされていない場合、変換中にエラーが発生することがあります。詳細は、Oracle以外のSQLからOracle SQLへの移行および翻訳の制限事項を参照してください。
-
DBMS_CLOUD_MIGRATION.MIGRATE_SQL
サブプログラムは、入力として1つのSQL文のみを受け入れます。そのため、コールごとに変換できるSQL文は1つのみです。 -
DBMS_CLOUD_MIGRATION.MIGRATE_SQL
プロシージャを実行するには、ADMIN
ユーザーとしてログインするか、DBMS_CLOUD_MIGRATION
パッケージに対するEXECUTE
権限を持っている必要があります。
例
PostgreSQL文をOracle SQLに変換するDBMS_CLOUD_MIGRATION.MIGRATE_SQL
のプロシージャ形式:
BEGIN
DBMS_CLOUD_MIGRATION.MIGRATE_SQL
(
original_sql => 'SELECT e.employee_id, e.last_name, e.salary FROM employees AS e;',
output_sql => output_variable,
source_db => 'POSTGRES');
END;
/
PostgreSQL文をOracle SQLに変換するDBMS_CLOUD_MIGRATION.MIGRATE_SQL
のファンクション形式:
SELECT DBMS_CLOUD_MIGRATION.MIGRATE_SQL
('CREATE TABLE IF NOT EXISTS cars (brand VARCHAR(255), model VARCHAR(255), year INT)', 'POSTGRES') AS output
FROM DUAL;
OUTPUT
------------------------------------------------------------------------------
create table cars (brand VARCHAR2(255), model VARCHAR2(255), year NUMBER(10);
MIGRATE_FILEプロシージャ
MIGRATE_FILE
は、指定されたソース・データベースからSQL文を含むファイルを入力として取得し、SQL文をOracle SQLに変換します。
構文:
DBMS_CLOUD_MIGRATION.MIGRATE_FILE
(
credential_name IN VARCHAR2,
location_uri IN VARCHAR2,
target_uri IN VARCHAR2 DEFAULT NULL,
source_db IN VARCHAR2,
params IN CLOB
パラメータ
パラメータ | 説明 |
---|---|
|
クラウド・オブジェクト・ストレージにアクセスするための資格証明の名前。 このパラメータは必須です。 オプションで、クラウド・オブジェクト・ストアへのアクセスに使用する資格証明は、ポリシーおよびロールを構成することで定義できます。詳細は、リソースにアクセスするためのポリシーとロールの構成を参照してください。 |
|
ソース・ファイルURI。URIの形式は、使用しているCloud Object Storageサービスによって異なります。詳細は、DBMS_CLOUD URI形式を参照してください。 このパラメータは必須です。 |
|
変換されたファイルを格納するターゲット・ファイルURI。このパラメータに値を指定しない場合、変換されたファイルはソース・ファイルと同じ場所に格納されます。 URIの形式は、使用しているCloud Object Storageサービスによって異なります。詳細は、DBMS_CLOUD URI形式を参照してください。 |
|
ソース・データベース言語を指定します。このパラメータの有効な値は このパラメータは必須です。 |
params |
JSON形式で渡すことができる追加パラメータを指定します。 |
使用上のノート
-
DBMS_CLOUD_MIGRATION.MIGRATE_FILE
を実行するには、ADMIN
ユーザーとしてログインしているか、DBMS_CLOUD_MIGRATION
に対するEXECUTE
権限を持っている必要があります。 -
credential_nameパラメータでは、クラウド・オブジェクト・ストレージURIにアクセスするための資格証明を指定します。
DBMS_CLOUD_MIGRATION.MIGRATE_FILE
.mを実行するユーザーには、オブジェクト・ストレージURIへのアクセスに使用される資格証明オブジェクトに対するEXECUTE
権限が必要です。つまり、credential_name
パラメータで指定する資格証明です。
例
BEGIN
DBMS_CLOUD_MIGRATION.MIGRATE_FILE
(
credential_name => 'OBJ_STORE_CRED',
location_uri => 'https://objectstorage.region.oraclecloud.com/n/namespace/b/bucket/o/files/postgrestest.sql',
source_db => 'POSTGRES'
);
END;
/
credential_name
パラメータでは、クラウド・オブジェクト・ストレージURIにアクセスするための資格証明を指定します。
location_uri
はソース・ファイルのURIです。URIの形式は、使用しているクラウド・オブジェクト・ストレージ・サービスによって異なります。詳細は、DBMS_CLOUD URI形式を参照してください。
この例では、namespace-string
はOracle Cloud Infrastructureオブジェクト・ストレージ・ネームスペースで、bucketname
はバケット名です。詳細は、オブジェクト・ストレージ・ネームスペースの理解を参照してください。
ENABLE_TRANSLATIONプロシージャ
ENABLE_TRANSLATION
プロシージャは、リアルタイムSQL変換およびAutonomous DatabaseでのOracle以外のSQL文の実行を有効にします。
構文:
パラメータ
DBMS_CLOUD_MIGRATION.ENABLE_TRANSLATION
(
source_db IN VARCHAR2);
パラメータ | 説明 |
---|---|
|
ソース・データベース言語を指定します。このパラメータの有効な値は このパラメータは必須です。 |
使用上のノート
-
DBMS_CLOUD_MIGRATION.ENABLE_TRANSLATION
を実行するには、ADMIN
ユーザーとしてログインしているか、DBMS_CLOUD_MIGRATION
に対するEXECUTE
権限を持っている必要があります。
例
BEGIN
DBMS_CLOUD_MIGRATION.ENABLE_TRANSLATION
(source_db => 'POSTGRES');
END;
/
DISABLE_TRANSLATIONプロシージャ
DISABLE_TRANSLATION
プロシージャを使用すると、SQL言語変換を終了できます。セッションでSQL言語変換が有効になっていない場合は、エラーが返されます。
構文:
DBMS_CLOUD_MIGRATION.DISABLE_TRANSLATION
();
使用上のノート
-
DBMS_CLOUD_MIGRATION.DISABLE_TRANSLATION
を実行するには、ADMIN
ユーザーとしてログインしているか、DBMS_CLOUD_MIGRATION
に対するEXECUTE
権限を持っている必要があります。
例
BEGIN
DBMS_CLOUD_MIGRATION.DISABLE_TRANSLATION
();
END;
/