A colleague asked me a few days ago whether exp/imp involved the version. I think that as long as it is software, it will involve the compatibility of high and low versions. Oracle is also software, so is it.
Simple experiment:
Exp tool Version: 10 GB
Exported source database version: 9i
Bash-4.1 $ exp x/x @ x tables = T file =/home/x/t. dmp
Export: Release 10.2.0.4.0-Production on Wed Dec 11 15:17:05 2013
Copyright (c) 1982,200 7, Oracle. All rights reserved.
EXP-00056: ORACLE error 6550 encountered
ORA-06550: line 1, column 41:
PLS-00302: component 'set _ NO_OUTLINES 'must be declared
ORA-06550: line 1, column 15:
PL/SQL: Statement ignored
EXP-00000: Export terminated unsuccessfully
From the error message, it seems that a component is undefined, leading to export failure.
An article on MOS provides a classic summary about compatibility of exp/imp:
Export client compatibility:
Always use a version of the EXPORT utility that is equal to the lowest version of either the source or the target database.
EXPORT client compatibility: We recommend that you use the same EXPORT tool version as the lowest version in the source or target database.
Import client compatibility:
Always use a version of the IMPORT utility that is equal to the version of the target database.
IMPORT client compatibility: We recommend that you use the same IMPORT tool version as the target database version.
This clearly specifies the direction for exp/imp import and export.
The following is a Version Matrix for import and export:
Import data into an older release (desupported) target database.
Import data into Oracle8i or higher release database.
Oracle ORA-01555 snapshot old description
Troubleshooting for ORA-01078 and LRM-00109
ORA-01555 ultra-long Query Duration time
Notes on ORA-00471 Processing Methods
ORA-00314, redolog corruption, or missing Handling Methods
Solution to ORA-00257 archive logs being too large to store