DBMS_CLOUD_MIGRATIONパッケージ
DBMS_CLOUD_MIGRATION
パッケージを使用すると、Oracle以外のSQLフレーバからOracle SQLへのSQLコードの変換が容易になります。
- DBMS_CLOUD_MIGRATIONサブプログラムのサマリー
この表は、DBMS_CLOUD_MIGRATION
パッケージに含まれるサブプログラムの概要を示しています。
DBMS_CLOUD_MIGRATIONサブプログラムのサマリー
この表は、DBMS_CLOUD_MIGRATION
パッケージに含まれるサブプログラムの概要を示しています。
サブプログラム | 説明 |
---|---|
|
|
このプロシージャは、指定されたソース・データベースからのSQL文を含むファイルを入力として変換し、SQL文をOracle SQLに変換します。 |
|
このプロシージャは、Autonomous DatabaseでOracle以外のSQL文のリアルタイムSQL変換および実行を有効にします。 サポートされているSQLフレーバは、PostgreSQL、MySQLおよびSQL Serverです。 |
|
このプロシージャは、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
の関数形式は、ORIGINAL_SQL
入力の変換されたOracle SQLバージョンを含むCLOB
を返します。
使用上のノート
-
Oracle SQLで入力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
パラメータ
パラメータ | 説明 |
---|---|
|
Cloud Object Storageにアクセスするための資格証明の名前。 このパラメータは必須です。 オプションで、クラウド・オブジェクト・ストアへのアクセスに使用する資格証明は、ポリシーおよびロールを構成することで定義できます。 詳細については、「リソースにアクセスするためのポリシーおよびロールの構成」を参照してください。 |
|
ソース・ファイルURI。 URIの形式は、詳細は、「DBMS_CLOUD URIの書式」に表示されている、使用しているクラウド・オブジェクト・ストレージ・サービスによって異なります。 このパラメータは必須です。 |
|
翻訳されたファイルを格納するターゲット・ファイルURI。 このパラメータに値を指定しない場合、変換されたファイルはソース・ファイルと同じロケーションに格納されます。 URIの形式は、詳細は、「DBMS_CLOUD URIの書式」に表示されている、使用しているクラウド・オブジェクト・ストレージ・サービスによって異なります。 |
|
ソース・データベースの言語を指定します。 このパラメータの有効な値は、 このパラメータは必須です。 |
params |
JSON形式で渡すことができる追加パラメータを指定します。 |
使用上のノート
-
DBMS_CLOUD_MIGRATION.MIGRATE_FILE
を実行するには、ADMIN
ユーザーとしてログインするか、DBMS_CLOUD_MIGRATION
に対するEXECUTE
権限を持っている必要があります。 -
credential_nameパラメータは、クラウド・オブジェクト・ストレージURIにアクセスするための資格証明を指定します。
DBMS_CLOUD_MIGRATION.MIGRATE_FILE
を実行するユーザーには、オブジェクト・ストレージ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;
/