To be able to say “Yeah, we migrate to PostgreSQL”, we have to be confident by studying the technical aspects of it.
For that, we assess the feasibility of the migration from oracle to postgres.
The assessments consist in validating the :
- Metadata structure and datatypes
- Data consistency
- Data integrity
For this, we use the free tool called ora2Pg.
=> to extract lob tables with ora2pg with normal user toto :
GRANT EXECUTE on DBMS_LOB to toto;
Pour exporter les metadata dans le fichier ora2pg.conf mettre :
STOP_ON_ERROR 0
Par contre pour exporter les données, mettre
STOP_ON_ERROR 1
ajouter cela dans l’entete du fichier : set ON_ERROR_STOP on
ou au pire
psql -v ON_ERROR_STOP=ON -f ‘sample_sql.sql’
To Allow object database to be saved in a separate file during schema export, set to 1 theses settings:
FILE_PER_CONSTRAINT 1
FILE_PER_INDEX 1
FILE_PER_FKEYS 1
FILE_PER_TABLE 0
FILE_PER_FUNCTION 0
If you want to replace some columns as PostgreSQL boolean define here a list of tables and column separated by space as follows.
You can also give a type and a precision to automatically convert all fields of that type as a boolean
For example: NUMBER:1 or CHAR:1 will replace any field of type number(1) or char(1) as a boolean in all exported tables.
REPLACE_AS_BOOLEAN NUMBER:1
Use this to add additional definitions of the possible boolean values in Oracle field.
You must set a space separated list of TRUE:FALSE values.
BY default:
BOOLEAN_VALUES yes:no y:n 1:0 true:false enabled:disabled
Note: Invalid objects will not be exported unless the EXPORT_INVALID configuration directive is activated, rebind it or correct the source code.
Pour l’export des metadata avec une application démarrées il faudra positionner la clé TRANSACTION à readonly
Pour l’export des données avec une application démarrées il faudra positionner la clé TRANSACTION à commited
Pour l’export des données avec une application arrêtée il faudra positionner la clé TRANSACTION à serializable
Laisser un commentaire