The following setup of the Oracle source is needed:
To run prosync, on the source, enable
SUPPLEMENTED LOGS of the PRIMARY KEY level:
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS
Grant the user under which the migration will run with the following permissions:
GRANT CONNECT, RESOURCE TO PROGATE_USER; GRANT EXECUTE ON DBMS_LOGMNR TO PROGATE_USER; GRANT EXECUTE ON SYS.DBMS_CRYPTO TO PROGATE_USER; -- for procheck to compare LOB objects GRANT EXECUTE_CATALOG_ROLE TO PROGATE_USER; GRANT LOGMINING TO PROGATE_USER; GRANT SELECT ON V_$LOG TO PROGATE_USER; GRANT SELECT ON V_$LOGFILE TO PROGATE_USER; GRANT SELECT ON V_$LOGMNR_LOGS TO PROGATE_USER; GRANT SELECT ON V_$LOGMNR_CONTENTS TO PROGATE_USER; GRANT SELECT ON V_$LOGMNR_PARAMETERS TO PROGATE_USER; GRANT SELECT ON V_$ARCHIVED_LOG TO PROGATE_USER; GRANT SELECT ON V_$TRANSACTION TO PROGATE_USER; GRANT SELECT ON V_$DATABASE TO PROGATE_USER;
For prosync to work with the Oracle source, grant the user under which the migration will run with more permissions:
GRANT CONNECT, RESOURCE TO PROGATE_USER; GRANT EXECUTE ON DBMS_LOGMNR TO PROGATE_USER; GRANT EXECUTE_CATALOG_ROLE TO PROGATE_USER; GRANT LOGMINING TO PROGATE_USER; GRANT SELECT ON V_$LOG TO PROGATE_USER; GRANT SELECT ON V_$LOGFILE TO PROGATE_USER; GRANT SELECT ON V_$LOGMNR_LOGS TO PROGATE_USER; GRANT SELECT ON V_$LOGMNR_CONTENTS TO PROGATE_USER; GRANT SELECT ON V_$LOGMNR_PARAMETERS TO PROGATE_USER; GRANT SELECT ON V_$ARCHIVED_LOG TO PROGATE_USER; GRANT SELECT ON V_$TRANSACTION TO PROGATE_USER; GRANT SELECT ON V_$DATABASE TO PROGATE_USER;
For procheck to work with an Oracle source, the following drivers are supported:
oracle, does not require third-party software.
godror, requires installation of the
Oracle Instant Client. Once the downloaded
archive is unpacked, add the path to the catalog to the LD_LIBRARY_PATH
environment variable:
LD_LIBRARY_PATH=<path_to_oracle_client>
Grant the user under which the connection to the database will occur
with the CONNECT, SELECT,
and EXECUTE permissions:
GRANT SELECT ON ALL TABLES IN SCHEMA public TO PROGATE_USER; GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO PROGATE_USER; GRANT CONNECT ON DATABASE dbname TO PROGATE_USER;
If large objects are available in the source database, grant additional permissions to access them.
To read the changes, set the configuration parameter of the database server:
wal_level = logical
For correct operation of prosync,
set max_slot_wal_keep_size
to a value that is greater than the volume of changes that occur during
the time interval needed to execute the initial data load. If the value
set is not sufficiently great, database errors can be encountered while
running prosync:
ERROR: can no longer get changes from replication slot.
In this case, the correct transfer of the changes by prosync
gets impossible. It is recommended to set max_slot_wal_keep_size
to -1 for running the migration.