Ora2Pg v16.0 released - Mailing list pgsql-announce

From Gilles Darold
Subject Ora2Pg v16.0 released
Date
Msg-id 5620BAC5.1010002@dalibo.com
Whole thread Raw
List pgsql-announce
Paris, France - October 16th, 2015

**Ora2Pg 16 released**

Version 16.0 of Ora2Pg, a free and reliable tool used to migrate an
Oracle database to PostgreSQL, has been officially released and is
publicly available for download.

This major release improve PL/SQL code replacement, fixes several
bugs and adds some major new features:

  * Full migration of MySQL database, it just work like with Oracle
    database.
  * Full migration assessment report for MySQL database.
  * New script, ora2pg_scanner, to perform a migration assessment of
    all Oracle and MySQL instances on a network.
  * Add technical difficulty level in migration assessment.
  * Allow migration assessment on client queries extracted from
    AUDIT_TRAIL (oracle) or general_log table (mysql).
  * Ora2Pg has a "made in one night" brand new Web site (still need
    some work) http://ora2pg.darold.net/

Example of technical difficulty level assessment output using the
sakila database with some more difficulties:

  Total 83.90 cost migration units means approximatively 1 man-day(s).
  Migration level: B-5

Here are the explanation of the migration level code:

  Migration levels:
    A - Migration that might be run automatically
    B - Migration with code rewrite and a human-days cost up to 5 days
    C - Migration with code rewrite and a human-days cost above 5 days
  Technical levels:
    1 = trivial: no stored functions and no triggers
    2 = easy: no stored functions but with triggers, no manual rewriting
    3 = simple: stored functions and/or triggers, no manual rewriting
    4 = manual: no stored functions but with triggers or views with code
rewriting
    5 = difficult: stored functions and/or triggers with code rewriting

This is to help you to find the database that can be migrated first
with small efforts (A and B) and those who need to conduct a full
migration project (C).

This release has also some new useful features:

  * Export type SHOW_TABLE now shows additional information about
    table type (FOREIGN, EXTERNAL or PARTITIONED with the number
    of partition).
  * Connection's user and password can be passed through environment
    variables ORA2PG_USER and ORA2PG_PASSWD to avoid setting them at
    ora2pg command line.
  * Improve PL/SQL replacement on ADD_MONTH(), ADD_YEAR(), TRUNC(),
    INSTR() and remove the replacement limitation on DECODE().
  * Add detection of migration difficulties in views, was previously
    reserved to functions, procedures, packages and triggers.
  * Replace values in auto generated configuration file from command
    line options -s, -n, -u and -p when --init_project is used.
  * Adjust lot of scores following new functionalities in Ora2Pg,
    ex: autonomous transactions, dblink or synomyms are now more easy
    to migrate.

There is some new command line options to ora2pg script:

  * -m | --mysql : to be used with --init_project and -i option to
    inform ora2pg that we work with a MySQL format
  * -T | --temp_dir : option to be able to set a distinct temporary
    directory to run ora2pg in parallel.
  * --audit_user : option to set the user used in audit filter and
    enable migration assessment report on queries from AUDIT_TRAIL
    (oracle) or general_log table (mysql).
  * --dump_as_sheet and --print_header options to be able to compute
    a CSV file with all migration assessment from a list of oracle
    database.
  * --dump_as_csv option to report assessments into a csv file. It
    will not include comments or details, just objects names, numbers
    and cost.

Some change can break backward compatibility:

  - Change NULL_EQUAL_EMPTY to be disabled by default to force change
    in the application instead of transforming the PL/SQL.

This release adds some new configuration directives:

  * MYSQL_PIPES_AS_CONCAT: Enable it if double pipe and double
    ampersand (|| and &&) should not be taken as equivalent to
    OR and AND.
  * MYSQL_INTERNAL_EXTRACT_FORMAT: Enable it if you want EXTRACT()
    replacement to use the internal format returned as an integer.
  * AUDIT_USER: Set the comma separated list of user name that must
    be used to filter from the DBA_AUDIT_TRAIL or general_log tables.
  * REPLACE_ZERO_DATE: the "zero" date: 0000-00-00 00:00:00 is
    replaced by a NULL by default, use it to use the date of your
    choice. Useful when you have a NOT NULL constraint.
  * INDEXES_RENAMING: force renaming of all indexes using a name with
    tablename_columnsnames. Useful for database that have multiple
    time the same index name or that use the same name than a table.
  * HUMAN_DAYS_LIMIT: default to 5 days, used to set the number of
    human-days limit for migration of type C.

As usual there is also some bug fixes and Oracle to PostgreSQl
conversion adjustments, for a complete list see:
https://github.com/darold/ora2pg/blob/master/changelog

===== Links & Credits =====

Thanks to all contributors, they are all cited in the changelog file.

Useful Links:

    - Website: http://ora2pg.darold.net/
    - Download: http://sourceforge.net/projects/ora2pg/
    - Development: https://github.com/darold/ora2pg
    - Changelog: https://github.com/darold/ora2pg/blob/master/changelog
    - Documentation: https://github.com/darold/ora2pg/blob/master/README

--------------

**About Ora2Pg**

Ora2Pg is an easy and reliable tool to migrate from Oracle to
PostgreSQL. It is developed since 2001 and can export most of the
Oracle objects (table, view, materialized view, tablespace, sequence,
indexes, trigger, grant, function, procedure, package, partition,
data, blob, external table, etc.).

Ora2Pg works on any platform and is available under the GPL v3 licence.

Docs, Download & Support at http://ora2pg.darold.net/

--------------

--
Gilles Darold
Consultant PostgreSQL
http://dalibo.com - http://dalibo.org



pgsql-announce by date:

Previous
From: David Fetter
Date:
Subject: == PostgreSQL Weekly News - October 18 2015 ==
Next
From: Nicolas Thauvin
Date:
Subject: pitrery 1.10 released