Skip to content

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_$INSTANCE for software inspection.
  • SELECT ON V_$PARAMETER.
  • SELECT ON DBA_JOBS for jobs inspection.
  • SELECT ON DBA_RGROUP for materialized views extraction.
  • SELECT ON DBA_SEGMENTS for proper size calculation.
  • SELECT ON DBA_TRIGGERS for 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 PROCEDURE on 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

  • CREATEROLE or SUPERUSER to create roles.
  • CREATE on database to create schemas.
  • CREATE on 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.