4

I am running following command to dump my database

./expdp username/password@//host:port/database directory=/home/ubuntu/oracle/instantclient_12_2 dumpfile=dumpfilename.dmp content=METADATA_ONLY

and getting following error

Export: Release 12.2.0.1.0 - Production on Fri Sep 14 06:14:28 2018

Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.
UDE-00018: Data Pump client is incompatible with database version 12.1.0.2.0

I tried searching and there were suggestion to use VERSION parameter which I did still no success.

Does anyone have idea what should i do to overcome the issue?

I cant use instantclient-tools-macos.x32-12.1.0.2.0.zip as it doesnt have expdp command.

2 Answers 2

3

Are you sure about the target and source version? I did here and worked right. My source DB version was 12.1.0.2.0 and the target was 12.2.0.1.0. Please, see my example below:

$ cat myfile.par
directory=DUMP
dumpfile=MYFILE.DMP
logfile=MYFILE.LOG
content=ALL
schemas="DIEGO","HR","USER"

$ expdp user@mypdb parfile=myfile.par

Exporting and Importing Between Different Database Releases

In an upgrade situation, when the target release of a Data Pump-based migration is higher than the source, the VERSION parameter typically does not have to be specified because all objects in the source database will be compatible with the higher target release. An exception is when an entire Oracle Database 11g (release 11.2.0.3 or higher) is exported in preparation for importing into Oracle Database 12c Release 1 (12.1.0.1) or later. In this case, explicitly specify VERSION=12 in conjunction with FULL=YES in order to include a complete set of Oracle internal component metadata.

In a downgrade situation, when the target release of a Data Pump-based migration is lower than the source, the VERSION parameter should be explicitly specified to be the same version as the target. An exception is when the target release version is the same as the value of the COMPATIBLE initialization parameter on the source system; then VERSION does not need to be specified. In general however, Data Pump import cannot read dump file sets created by an Oracle release that is newer than the current release unless the VERSION parameter is explicitly specified.

1

Export/Import DataPump Parameter VERSION - Compatibility of Data Pump Between Different Oracle Versions [Video] (Doc ID 553337.1)

Data Pump client compatibility.
===============================

   expdp and  Connecting to Database version
impdp client     10gR1      10gR2      11gR1      11gR2      12cR1      12cR2        18c
     version  10.1.0.x   10.2.0.x   11.1.0.x   11.2.0.x   12.1.0.x   12.2.0.x   18.x.y.z
----------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
   10.1.0.x  supported  supported  supported  supported         no         no         no
   10.2.0.x         no  supported  supported  supported  supported         no         no
   11.1.0.x         no  supported  supported  supported  supported         no         no
   11.2.0.x         no         no         no  supported  supported  supported  supported
   12.1.0.x         no         no         no         no  supported  supported  supported
   12.2.0.x         no         no         no         no         no  supported  supported
   18.x.y.z         no         no         no         no         no         no  supported

Use a 10.2.0.x - 12.1.0.x version client.

7
  • I tried instantclient-tools-macos.x32-12.1.0.2.0.zip but it doesnt contain expdp. I am not sure how can do that using 10.2.0.x to 12.1.0.x version Sep 14, 2018 at 8:16
  • @BhaskarDabhi 1. You can download the full client at: oracle.com/technetwork/database/enterprise-edition/downloads/… 2. You do not even need expdp on client side, you can just log in to the database and use DBMS_DATAPUMP 3. The value of directory parameter you provided will not work, it needs to be a directory object defined in the database that points to a directory accessible on the database server. Sep 14, 2018 at 8:22
  • Do you mean i have to do SQL> CREATE DIRECTORY dmpdir AS '/rdbms/work'; SQL> GRANT READ, WRITE ON DIRECTORY dmpdir TO user; SQL> SET SERVEROUTPUT ON then replace directory=/home/ubuntu/oracle/instantclient_12_2 with directory=/rdbms/work in my above command and run it? Sep 14, 2018 at 8:27
  • @BhaskarDabhi directory=dmpdir Sep 14, 2018 at 8:28
  • You do not "have to replace directory=/home/ubuntu/oracle/instantclient_12_2 with directory=/rdbms/work". A db directory object ('dmpdir' in this case) is just an internal alias for a (as in "any") OS directory. It doesn't matter what os directory is referenced by 'dmpdir', as long as that directory exists and has the correct OS permissions. Also, SERVEROUTPUT has nothing to do with any of this.
    – EdStevens
    Sep 14, 2018 at 12:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.