Requirements for Migration¶
System¶
PostgreSQL Migrator runs on Linux 2.6.32 or later on AMD64 silicon. You may build on other target.
Memory¶
PostgreSQL Migrator streams data to PostgreSQL, reducing drastically memory usage.
512MB of RAM is very large for dumping. PostgreSQL Migrator refuses to allocate more than 1GB of RAM.
Versions¶
See Features page for supported versions of source system and PostgreSQL target.
Privileges¶
PostgreSQL Migrator requires read access to the source database. Some objects require specific privileges. Missing privileges can lead to incomplete catalog extraction and migration failure. Still, PostgreSQL Migrator will try to extract as much as possible.
For best results, the user must have the following privileges:
SELECT ON V_$INSTANCEfor software inspection.SELECT ON V_$PARAMETER.SELECT ON DBA_JOBSfor jobs inspection.SELECT ON DBA_RGROUPfor materialized views extraction.SELECT ON DBA_SEGMENTSfor proper size calculation.SELECT ON DBA_TRIGGERSfor database and schema trigger inspection.
For role inspection:
SELECT ON DBA_ROLES.SELECT ON DBA_ROLE_PRIVS.SELECT ON DBA_SYS_PRIVS.SELECT ON DBA_USERS.
PostgreSQL Migrator uses ALL_* system views to inspect database objects.
Grant privilege on each object you want to migrate.
For LOB dump, up to Oracle 12.1 included:
CREATE PROCEDUREon dumping user.
Here is the SQL snippet for a user named sakila:
GRANT SELECT ON DBA_JOBS TO SAKILA;
GRANT SELECT ON DBA_RGROUP TO SAKILA;
GRANT SELECT ON DBA_ROLES TO SAKILA;
GRANT SELECT ON DBA_ROLE_PRIVS TO SAKILA;
GRANT SELECT ON DBA_SEGMENTS TO SAKILA;
GRANT SELECT ON DBA_SYS_PRIVS TO SAKILA;
GRANT SELECT ON DBA_TRIGGERS TO SAKILA;
GRANT SELECT ON DBA_USERS TO SAKILA;
GRANT SELECT ON V_$INSTANCE TO SAKILA;
GRANT SELECT ON V_$PARAMETER TO SAKILA;
-- For Oracle 12.1 and below.
GRANT CREATE PROCEDURE TO SAKILA;
Read access to data and information_schema is enough.
Dumping directly to PostgreSQL requires write access or even administrative access to create some instance objects
CREATEROLEorSUPERUSERto create roles.CREATEon database to create schemas.CREATEon schemas to create objects.
Connexion usage¶
Connexion usage varies according to job count of dump command and the complexity of the data.
When inspecting Oracle system views, PostgreSQL Migrator uses up to 8 connections.
For dumping data, PostgreSQL Migrator uses one connection per migration job. When average row size is greater than 256kB, PostgreSQL Migrator consumes one connection per LOB column.
Inspection uses two connections.
Dumping data uses one connexion per job.
One connexion per job.