12

I was browsing the net to find a solution, but I had no luck. :(

How can I install Oracle's imp / exp binaries to my CentOS box without installing an Oracle Server? I'm accessing an existing Oracle database on another machine, so I only need a client here. I already installed sqlplus and its dependencies (oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm, and oracle-instantclient11.2-odbc-11.2.0.3.0-1.x86_64.rpm), but that didn't provide those tools.

Do I really need to fully install Oracle?

My aim is to suck a database dump from the Oracle to my CentOS box. If there is another way to do this without using exp I wouldn't feel bad about NOT using it, but it seems to me there is no alternative.

5 Answers 5

9

To get the export (exp) and import (imp) binaries, install the full Oracle Client, instead of the Instant Client or the full RDBMS. The 11gR2 Client is actually the 4th file of a 7 file set for the full RDBMS. The latest version is 11.2.0.3.0 (659,229,728 bytes, released in Q4 2011 - technically called a "patch set" but it is a complete install). It is not available for public download. (Only the obsolete 11.2.0.1.0 for Linux x86-64 is available publicly).

To download the full Oracle Client, follow these steps:

  1. Log in to My Oracle Support (MOS), formerly known as metalink.

  2. Click the "Patches & Updates" menu at the top.

  3. In the Patch Search section, click the Search tab.

  4. Enter 13390677 in the "Patch Name or Number" field. (13390677 is version 11.2.0.4.0)

  5. Also select a "Platform". (e.g., "Linux x86-64")

  6. Click Search.

  7. In the search results, click on the patch number to display the details or click Download - assuming your MOS account has been given download privileges.

The file name for the client-only download is "p13390677_112040_platform_4of7.zip" (where platform is "Linux-x86-64" for example).

NOTE: exports/dumps are not true backups. They are only logical copies of the database. The meta-data and indexes get re-created during import and so won't be byte-for-byte identical to the source database.

12

Here is how I did it. Had to hack it.

a) Download Oracle 11.2 XE for Linux 64 in your $HOME
b) Unzip the zip file you get
c) Unpack the content of the rpm file without installing it (we don't need the Oracle RDBMS to be running on the server)
    mkdir ~/Oracle11XE-binaries
    cd ~/Oracle11XE-binaries

    # extract all the binaries from the RPM (rather than installing the RPM)
    rpm2cpio ../Disk1/oracle-xe-11.2.0-1.0.x86_64.rpm  | cpio -idmv

    sudo mkdir /opt/oracle
    sudo mv u01/app/oracle/product /opt/oracle

    # clean up downloaded and extracted files (they are BIG)
    cd
    rm -rf Disk1 oracle-xe-11.2.0-1.0.x86_64.rpm.zip

    echo 'export ORACLE_HOME=/opt/oracle/product/11.2.0/xe
    export PATH=$PATH:$ORACLE_HOME/bin
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib
    export TNS_ADMIN=$ORACLE_HOME/network/admin' | sudo tee /etc/profile.d/oracle.sh

    # source it so it takes effect in the current session
    . /etc/profile.d/oracle.sh

    # now you can run imp and exp
    $ imp

    Import: Release 11.2.0.2.0 - Production on Mon Aug 4 14:39:39 2014

    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

Username:

3
4

You do NOT need to fully install an Oracle instance.

  1. Download the Oracle Client as mentioned in George3's answer
  2. Install - when it asks you to select either Instant Client, Runtime, Administrator, or Custom <-- pick Custom.
  3. Select Database Utilities. This contains the exp/imp files
2

Instant client tools provides exp / imp utilities since v12.2.0.1.0. Unrestricted download is available:

https://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html

1
  • 1
    v12.2.0.1.0 has the utilties in rpm oracle-instantclient12.2-tools-12.2.0.1.0-1.x86_64.rpm
    – onknows
    Oct 4, 2018 at 12:26
-1

You want to import a database without DBMS system in place, sorry, but this is impossible in every definition of the word...

So, yes, you have to do full Oracle install before imp and exp will work.

Also, in the future I'd suggest using expdp and impdp instead.

1
  • 7
    What Sotapanna wants to do is to run exp/imp commands on a machine that is not the DBMS server. Since exp/imp can connect across the network, it should be plausible that you can install these commands without installing the full Oracle RDBMS server package, presumably with some oracle-client package. If Sotapanna isn't finding a suitable package, the problem seems to have more to do with Oracle's packaging decisions for RHEL/CentOS than any technical limitation.
    – cjc
    Nov 24, 2011 at 15:28

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .