You will most likely bump into this error when you take load an oracle database taken from a higher version of Oracle (Such as 11g) into a database running a lower version.
To overcome ORA-39142 incompatible version number 3.1 in dump file: you will need to specify the oracle version the destination Database server is running. Not specifying this will mean the dump assumes same version as the parent database.
In the dump script, add the extra parameter indicating the destination oracle version: VERSION=10.2.0.1.0
In my case, I was downgrading from 11g to 10g.
Below are basic steps of Database Importation/Exportation, in case you are a beginner:
#1. Create export directory if you have none:
chmod -R 777 arch/
#2. Create directory at the database level:
sqlplus / as sysdba
SQL>grant create any directory to sys ;
SQL>create or replace directory audit_arch as '/backup1/arch';
#3. Export the DB using the parameters specified above (among others) - Remember to include version if the destination is different:
ORA-39142: incompatible version number 3.1 in dump file "H:\audit_dmp\audit_log_arch.dmp"
expdp sys/****** tables=audarch.DBA_FGA_AUDIT_TRAIL_ARCH directory=audit_arch dumpfile=audit_log_arch.dmp logfile=audit_log_arch.log VERSION=10.2.0.1.0
#4. Copy Dump to Old Server:
#5. Create dump directory on dest. DB for new dump
Create or Replace directory audit_arch as 'H:\audit_dmp';
#6. Import Dump into new database:
impdp sys/****** DIRECTORY=audit_arch DUMPFILE=audit_log_arch.dmp Logfile = imp_audit_log_arch.log
You can read more about Data Pump Export here: http://www.toadworld.com/platforms/oracle/w/wiki/994.oracle-data-pump-export.aspx