What’s New

The following enhancements are added to the Migration Portal for this release:

  • Assessment for EDB Postgres Advanced Server version 13, which has additional Oracle compatibility improvements and new Postgres features.

  • In addition to IBM Cloud, you can now migrate your Oracle schemas to EDB Postgres Advanced Server installed on the following cloud platforms:

    • Amazon AWS

    • Google cloud

    • Microsoft Azure

  • We added a contact form so you can reach out to us about migration services if you need an offline assessment of your schemas.

  • With this release, the DDL extractor script requires fewer privileges. It now only requires CONNECT and SELECT_CATALOG_ROLE role and CREATE TABLE privilege.

Repair Handler

The following repair handlers convert Oracle syntax to Postgres-compatible syntax so that you don’t have to do it manually.

  • ERH 1013 - PACKAGE_BODY_PROC/FUNC_DECLARATION

    Removes PROCEDURE/FUNCTION declaration from the PACKAGE BODY definition.

    For example,

    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;
    

    would become;

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``
  • ERH 2091- CREATE_TABLE_CREATE_INDEX

    Removes schema-name from the name of the INDEX in CREATE INDEX definition.

    For example,

    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");
    

    would become;

    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");
    
  • ERH 2092- ALTER_TABLE_ADD_PRIMARY_KEY

    Transforms Oracle’s ALTER TABLE ADD CONSTRAINT for PRIMARY KEY syntax to Advanced Server compatible syntax.

    For example,

    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;
    

    would become;

    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";