Cómo instalar los binarios exp / imp de Oracle

11

Estaba buscando en la red una solución, pero no tuve suerte. :(

¿Cómo puedo instalar Oracle imp/ expbinarios en mi caja CentOS sin instalar un servidor Oracle? Estoy accediendo a una base de datos Oracle existente en otra máquina, por lo que solo necesito un cliente aquí. Ya instalé sqlplusy sus dependencias ( oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm, y oracle-instantclient11.2-odbc-11.2.0.3.0-1.x86_64.rpm), pero eso no proporcionó esas herramientas.

¿Realmente necesito instalar completamente Oracle?

Mi objetivo es aspirar un volcado de base de datos desde el Oracle a mi caja CentOS. Si hay otra forma de hacer esto sin usar exp, no me sentiría mal por NO usarlo, pero me parece que no hay alternativa.

Dennis Winter
fuente

Respuestas:

9

Para obtener los archivos binarios de exportación (exp) e importación (imp), instale el Cliente Oracle completo , en lugar del Cliente Instantáneo o el RDBMS completo. El 11gR2 Client es en realidad el cuarto archivo de un conjunto de 7 archivos para el RDBMS completo. La última versión es 11.2.0.3.0 (659,229,728 bytes, lanzada en el cuarto trimestre de 2011, técnicamente denominada "conjunto de parches", pero es una instalación completa). No está disponible para descarga pública. (Solo el obsoleto 11.2.0.1.0 para Linux x86-64 está disponible públicamente).

Para descargar el Cliente Oracle completo, siga estos pasos:

  1. Inicie sesión en My Oracle Support (MOS), anteriormente conocido como metalink.

  2. Haga clic en el menú "Parches y actualizaciones" en la parte superior.

  3. En la sección Búsqueda de parches, haga clic en la pestaña Buscar.

  4. Ingrese 13390677 en el campo "Nombre o número de parche". (13390677 es la versión 11.2.0.4.0)

  5. También seleccione una "Plataforma". (por ejemplo, "Linux x86-64")

  6. Haz clic en Buscar.

  7. En los resultados de búsqueda, haga clic en el número de parche para mostrar los detalles o haga clic en Descargar, suponiendo que su cuenta MOS tenga privilegios de descarga.

El nombre del archivo para la descarga solo del cliente es "p13390677_112040_ platform _4of7.zip" (donde la plataforma es "Linux-x86-64", por ejemplo).

NOTA: las exportaciones / volcados no son copias de seguridad verdaderas. Son solo copias lógicas de la base de datos. Los metadatos e índices se vuelven a crear durante la importación y, por lo tanto, no serán byte por byte idénticos a la base de datos de origen.

George3
fuente
12

Así es como lo hice. Tuve que hackearlo.

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.

Nombre de usuario

usuario236046
fuente
Muchas gracias. ¡Este fue el enfoque más fácil para mí!
Dan Lenski el
¡Funciona también en Ubuntu 16.10! Solo necesita instalar estos de antemano: sudo apt-get install rpm2cpio libaio1 libaio-dev
Claude Houle
3

NO necesita instalar completamente una instancia de Oracle.

  1. Descargue el Cliente Oracle como se menciona en la respuesta de George3
  2. Instalar - cuando se le pide que seleccione ya sea Instant Client, Runtime, Administrator, o Custom<- pick personalizado.
  3. Seleccionar Database Utilities. Este contiene los archivos exp / imp
JumpingJezza
fuente
-1

Desea importar una base de datos sin el sistema DBMS en su lugar, lo siento, pero esto es imposible en todas las definiciones de la palabra ...

Entonces, sí, debe realizar la instalación completa de Oracle antes impy expfuncionará.

Además, en el futuro sugeriría usar expdpy en su impdplugar.

Hubert Kario
fuente
77
Lo que Sotapanna quiere hacer es ejecutar comandos exp / imp en una máquina que no sea el servidor DBMS. Dado que exp / imp puede conectarse a través de la red, debería ser plausible que pueda instalar estos comandos sin instalar el paquete completo del servidor Oracle RDBMS, presumiblemente con algún paquete oracle-client. Si Sotapanna no encuentra un paquete adecuado, el problema parece tener más que ver con las decisiones de empaquetado de Oracle para RHEL / CentOS que cualquier limitación técnica.
cjc