What's New¶
このリリースの移行ポータルには、次の機能強化が追加されています。
EDB Postgres Advanced Serverバージョン13の評価。Oracleの互換性がさらに向上し、新しいPostgres機能が追加されました。
IBMCloudに加えて、Oracleスキーマを次のクラウドプラットフォームにインストールされたEDB Postgres Advanced Serverに移行できるようになりました。
AmazonAWS
Googleクラウド
MicrosoftAzure
スキーマのオフライン評価が必要な場合は、移行サービスについて連絡できるように、お問い合わせフォームを追加しました。
このリリースでは、DDL抽出スクリプトに必要な特権が少なくなりました。現在は、
CONNECTとSELECT_CATALOG_ROLEの役割とCREATE TABLEの特権のみが必要です。
Repair Handler
次の修復ハンドラは、Oracleの構文をPostgres互換の構文に変換するため、手動で行う必要はありません。
ERH1013-PACKAGE_BODY_PROC/FUNC_DECLARATION
PACKAGEBODY定義からPROCEDURE/FUNCTION宣言を削除します。
たとえば、
CREATE OR REPLACE PACKAGE BODY package_name IS PROCEDURE sample_proc; var1 number:=0; FUNCTION Func_name RETURN number; PROCEDURE proc_name IS BEGIN NULL; END; PROCEDURE sample_proc IS BEGIN NULL; END; FUNCTION Func_name RETURN number IS BEGIN return 1; END; END;このようになります;
CREATE OR REPLACE PACKAGE BODY package_name IS var1 number:=0; PROCEDURE proc_name IS BEGIN NULL; END; PROCEDURE sample_proc IS BEGIN NULL; END; FUNCTION Func_name RETURN number IS BEGIN return 1; END; END``
ERH2091-CREATE_TABLE_CREATE_INDEX
CREATEINDEX定義のINDEXの名前からschema-nameを削除します。
たとえば、
CREATE TABLE "HR"."DEPARTMENTS" ( "DEPARTMENT_ID" NUMBER(4,0), "DEPARTMENT_NAME" VARCHAR2(30) CONSTRAINT "DEPT_NAME_NN" NOT NULL ENABLE, "MANAGER_ID" NUMBER(6,0), "LOCATION_ID" NUMBER(4,0) ) ; CREATE UNIQUE INDEX "HR"."DEPT_ID_PK" ON "HR"."DEPARTMENTS" ("DEPARTMENT_ID");このようになります;
CREATE TABLE "HR"."DEPARTMENTS" ( "DEPARTMENT_ID" NUMBER(4,0), "DEPARTMENT_NAME" VARCHAR2(30) CONSTRAINT "DEPT_NAME_NN" NOT NULL ENABLE, "MANAGER_ID" NUMBER(6,0), "LOCATION_ID" NUMBER(4,0) ) ; CREATE UNIQUE INDEX "DEPT_ID_PK" ON "HR"."DEPARTMENTS" ("DEPARTMENT_ID");ERH2092-ALTER_TABLE_ADD_PRIMARY_KEY
PRIMARYKEY構文のOracleのALTERTABLEADDCONSTRAINTをAdvancedServer互換構文に変換します。
たとえば、
CREATE TABLE "HR"."DEPARTMENTS" ( "DEPARTMENT_ID" NUMBER(4,0), "DEPARTMENT_NAME" VARCHAR2(30) CONSTRAINT "DEPT_NAME_NN" NOT NULL ENABLE, "MANAGER_ID" NUMBER(6,0), "LOCATION_ID" NUMBER(4,0) ) ; CREATE UNIQUE INDEX "HR"."DEPT_ID_PK" ON "HR"."DEPARTMENTS" ("DEPARTMENT_ID"); ALTER TABLE "HR"."DEPARTMENTS" ADD CONSTRAINT "DEPT_ID_PK" PRIMARY KEY ("DEPARTMENT_ID") USING INDEX "HR"."DEPT_ID_PK" ENABLE;このようになります;
CREATE TABLE "HR"."DEPARTMENTS" ( "DEPARTMENT_ID" NUMBER(4,0), "DEPARTMENT_NAME" VARCHAR2(30) CONSTRAINT "DEPT_NAME_NN" NOT NULL ENABLE, "MANAGER_ID" NUMBER(6,0), "LOCATION_ID" NUMBER(4,0) ) ; CREATE UNIQUE INDEX "DEPT_ID_PK" ON "HR"."DEPARTMENTS" ("DEPARTMENT_ID"); ALTER TABLE "HR"."DEPARTMENTS" ADD PRIMARY KEY USING INDEX "DEPT_ID_PK";