Ora2pg 可以用來將 Oracle 資料庫轉換成 PostgreSQL。
Ora2pg 16.0 發布，此版本主要改進了 PL/SQL 代碼替換，修復了一些 bug，添加了一些新特性：
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/
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.
為 ora2pg 腳本增加新選項：
-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.
Change NULL_EQUAL_EMPTY to be disabled by default to force change in the application instead of transforming the PL/SQL.
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.
[admin ] Ora2pg 16.0 發布，Oracle 轉 PostgreSQL 工具已經有 次圍觀