What’s New¶
The following enhancements are added to the EDB Postgres Migration Portal for this release:
Starting this release, Migration Portal supports Advanced Server 12 as a target database. You can now assess or reassess your Oracle schema against Advanced Server version 12. For more information, see Advanced Server Guide.
Updates have been made to the new UI for a better user experience.
New Repair Handlers
The following repair handlers are added to improve the Advance Server compatibility ratio:
ERH 2080 - Converts
SIMPLE_INTEGERdata type toINTEGERtype.For example,
CREATE OR REPLACE PROCEDURE hr.mproc IS v_col1 SIMPLE_INTEGER := 1; BEGIN DBMS_OUTPUT.PUT_LINE('Simple Integer is' || v_col1); END;would becomeCREATE OR REPLACE PROCEDURE hr.mproc IS v_col1 INTEGER := 1; BEGIN DBMS_OUTPUT.PUT_LINE('Simple Integer is' || v_col1); END;ERH 2081 - Converts
NATURALdata type toINTEGERtype.For example,
CREATE OR REPLACE PROCEDURE hr.mproc IS v_col1 NATURAL := 1; BEGIN DBMS_OUTPUT.PUT_LINE('Natural Integer is' || v_col1); END;would becomeCREATE OR REPLACE PROCEDURE hr.mproc IS v_col1 INTEGER := 1; BEGIN DBMS_OUTPUT.PUT_LINE('Natural Integer is' || v_col1); END;ERH 2082 - Removes NOT NULL clause from
VARRAYcollection type declaration within PL/SQL object.For example,
TYPE t1 IS VARRAY(10) OF INTEGER NOT NULL;would becomeTYPE t1 IS VARRAY(10) OF INTEGER;ERH 2083 - Removes
NOT NULLclause from nested table type declaration within PL/SQL object.For example,
TYPE nt IS TABLE OF NUMBER NOT NULL;would becomeTYPE nt IS TABLE OF NUMBER;ERH 2084 - Removes
NOT NULLclause from index-by table type declaration within PL/SQL object.For example,
TYPE ft IS TABLE OF VARCHAR2(10) NOT NULL INDEX BY BINARY_INTEGER;would becomeTYPE ft IS TABLE OF VARCHAR2(10) INDEX BY BINARY_INTEGER;ERH 2085 - Converts
ARRAYtoVARRAYcollection type declaration within PL/ SQL object.For example,
TYPE t1 IS ARRAY(10) OF INTEGER;would becomeTYPE t1 IS VARRAY(10) OF INTEGER;ERH 1010 - Removes the label name from the
ENDclause in SPL object if the label name used in the start of the clause is different.For example,
CREATE OR REPLACE FUNCTION hr.emp_comp (n INTEGER) RETURN NUMBER IS DECLARE counter INTEGER; BEGIN LOOP EXIT WHEN counter = n; counter := counter + 1; END LOOP; RETURN 100; END emp_comp_123;would becomeCREATE OR REPLACE FUNCTION hr.emp_comp (n INTEGER) RETURN NUMBER IS DECLARE counter INTEGER; BEGIN LOOP EXIT WHEN counter = n; counter := counter + 1; END LOOP; RETURN 100; END ;
Knowledge Base
The following new Knowledge Base entries are added; refer to the Knowledge Base section of the Migration Portal for workaround details.
Use of
EXECUTE IMMEDIATE USING IN/OUTparameterOracle supports use of syntax
EXECUTE IMMEDIATE<SQL or SPL Commands> [USING <bind variable list>]. However, Advanced Server does not supportIN/OUTparameters inEXECUTE IMMEDIATE USINGsyntax.Operator does not exist: timestamp without timezone and double precision
Oracle supports addition operation between
timestamp without time zoneanddouble precision datatypesin SQL operations or inVIEW/MVIEWcreation. However, in Advanced Server double precision datatype needs to type cast to numeric data type while adding it to timestamp without time zone datatype.Extract function for
XMLOracle supports extract() function for both extracting date part as well as for extracting
XMLdata.Migrating Database Links
While migrating the Database links from Oracle to Advanced Server sometimes following errors occur: Error ORA-12154: TNS: could not resolve the connect identifier specified server “db_link_name” does not exist.