Thursday, February 5, 2009

Important guideline about data pump compatibility.

Before doing any data pump operation clearly know about database version, database compatibility level, data pump dumpfile set, and data pump client version. These four topics are discussed in

http://arjudba.blogspot.com/2009/02/how-to-determine-software-version-of.html


http://arjudba.blogspot.com/2009/02/how-to-determine-database-compatibility.html

Below is the data pump compatibility guidelines:

1)The compatibility level of data pump dumpfile is set by the compatibility level of the table from which you are taking dump. That means a database version 11.1.0.6 compatibility level is set to 10.2 and you if are taking dump of it then the compatibility level of the data pump dumpfile set will be set to 1.1 (If database compatibility is 10.2 then datapump dumpfile set compatibility became 1.1).
You should remember,

If database compatibility is 11.1.* then datapump dumpfile set compatibility is 2.1
If database compatibility is 10.2.* then datapump dumpfile set compatibility is 1.1
If database compatibility is 10.1.* then datapump dumpfile set compatibility is 0.1


2)When to use export datapump client (expdp), always try to use the same export datapump client version as of the database version you want to export. That is if you want to use data pump export of database version 11.1.0.6 then try to use expdp client of version 11.1.0.6. Note that upto one major version lower expdp client is supported but it is not recommended. So to export 11.1.0.6 database you can use 10g data pump client version(expdp) but it is not recommended.

3)When to use import datapump client (impdp), always try to use the same import datapump client version as of the database version t which you want to import. That is if you want to use data pump import into database version 11.1.0.6 then try to use impdp client of version 11.1.0.6. Note that upto one major version lower impdp client is supported but it is not recommended. So to import into 11.1.0.6 database you can use 10g data pump client version(impdp) but it is not recommended.

4)You can't use upper version of data pump client(expdp or impdp) in order to export data from or import data into lower database version. For example to export data from database version 10.2.0.2 you can't use 11.1.0.6 data pump client or to import data into database version 10.1.0.2 you can't use 10.2.0.1 data pump client.

5)When you decide to use data pump operation from a higher compatibility level database to a lower compatibility level database(i.e expdp from a higher compatibility level database and then impdp to a lower compatibility level database) then always while performig data pump exoprt operation always add VERSION parameter and the value of the VERSION parameter need to match the compatiblity level of the database to which you will perform data pump import. For example if you decide to use data pump export from database version 11.1.0.6 and then import into database 10.2.0.1 then while data pump export operation, with expdp add VERSION=10.2

6)You can't import a data pump dump file set if it's compatibility is higher than the database to which you are trying to import. For example, you took a data pump export of a database which has compatibility 11.1.0.6. (of course without version parameter). Then the dump file set compatibility is set to 2.1 and you can never import this data pump dump file set into database which has compatibility level 10.2 or 10.1.

7)Import data pump can always read export datapump dumpfile sets created by older versions of database. So a datapump dumpfile set with version 1.1 which was exported from database with compatibility 10.2 can easily be imported in 11.1.0.6 database version.

8)Data pump network mode through NETWORK_LINK is supported even if the other database have the different version than the one database. But note that up to one major version is supported. And through network mode export the data pump dumpfile sets compatibility is selected automatically to the database whichever is the lower compatibility between the two.

9)Data pump export client(impdp) can't read file created by the original export client (exp).

10)Data exported by data pump client(expdp) can't be readable by original import client(imp).
Related Documents
http://arjudba.blogspot.com/2009/02/how-to-do-data-pump-import-from-higher.html
http://arjudba.blogspot.com/2008/04/data-pump-exportimport-how-we-can-do-it.html
http://arjudba.blogspot.com/2009/02/ude-00018-data-pump-client-is.html
http://arjudba.blogspot.com/2008/04/exportimport-datapump-parameter-query.html

1 comment:

  1. This article saved me quite a few moments. Thanks. Keep posting.

    ReplyDelete