Como instalar os binários exp / imp do Oracle

11

Eu estava navegando na rede para encontrar uma solução, mas não tive sorte. :(

Como posso instalar os binários imp/ Oracle na expminha caixa do CentOS sem instalar um servidor Oracle? Estou acessando um banco de dados Oracle existente em outra máquina, portanto, só preciso de um cliente aqui. Eu já instalei sqlpluse suas dependências ( oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm, e oracle-instantclient11.2-odbc-11.2.0.3.0-1.x86_64.rpm), mas isso não forneceu essas ferramentas.

Eu realmente preciso instalar o Oracle completamente?

Meu objetivo é sugar um despejo de banco de dados do Oracle para o meu CentOS. Se houver outra maneira de fazer isso sem usar exp, não me sentiria mal por NÃO usá-lo, mas parece-me que não há alternativa.

Dennis Winter
fonte

Respostas:

9

Para obter os binários de exportação (exp) e importação (imp), instale o Oracle Client completo , em vez do Instant Client ou o RDBMS completo. O cliente 11gR2 é realmente o quarto arquivo de um conjunto de 7 arquivos para o RDBMS completo. A versão mais recente é 11.2.0.3.0 (659.229.728 bytes, lançada no quarto trimestre de 2011 - tecnicamente chamada de "conjunto de patches", mas é uma instalação completa). Não está disponível para download público. (Somente o obsoleto 11.2.0.1.0 para Linux x86-64 está disponível publicamente).

Para baixar o Oracle Client completo, siga estas etapas:

  1. Faça logon no My Oracle Support (MOS), anteriormente conhecido como metalink.

  2. Clique no menu "Patches e atualizações" na parte superior.

  3. Na seção Pesquisa de Patch, clique na guia Pesquisa.

  4. Digite 13390677 no campo "Nome ou número do patch". (13390677 é a versão 11.2.0.4.0)

  5. Selecione também uma "Plataforma". (por exemplo, "Linux x86-64")

  6. Clique em Pesquisar.

  7. Nos resultados da pesquisa, clique no número do patch para exibir os detalhes ou clique em Download - assumindo que sua conta MOS recebeu privilégios de download.

O nome do arquivo para o download apenas do cliente é "p13390677_112040_ platform _4of7.zip" (em que a plataforma é "Linux-x86-64", por exemplo).

NOTA: exportações / despejos não são backups verdadeiros. Eles são apenas cópias lógicas do banco de dados. Os metadados e índices são recriados durante a importação e, portanto, não serão idênticos aos bytes do banco de dados de origem.

George3
fonte
12

Aqui está como eu fiz isso. Tinha que invadir.

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.

Nome do usuário:

user236046
fonte
Muito Obrigado. Esta foi a abordagem mais fácil para mim !!
precisa
Também funciona no Ubuntu 16.10! Só precisa instalar estes antemão: sudo apt-get install rpm2cpio libaio1 libaio-dev
Claude Houle
3

Você NÃO precisa instalar completamente uma instância do Oracle.

  1. Faça o download do Oracle Client conforme mencionado na resposta de George3
  2. Instale - quando ele pede para você selecionar Instant Client, Runtime, Administrator, ou Custom<- escolha personalizada.
  3. Selecione Database Utilities. Contém os arquivos exp / imp
Jumpingza
fonte
-1

Deseja importar um banco de dados sem o sistema DBMS instalado, desculpe, mas isso é impossível em todas as definições da palavra ...

Então, sim, você precisa fazer a instalação completa do Oracle antes impe expfuncionará.

Além disso, no futuro, sugiro usar expdpe em impdpvez disso.

Hubert Kario
fonte
7
O que a Sotapanna deseja fazer é executar comandos exp / imp em uma máquina que não seja o servidor DBMS. Como exp / imp pode se conectar através da rede, deve ser plausível que você possa instalar esses comandos sem instalar o pacote completo do servidor Oracle RDBMS, presumivelmente com algum pacote oracle-client. Se a Sotapanna não encontrar um pacote adequado, o problema parece ter mais a ver com as decisões de empacotamento da Oracle para RHEL / CentOS do que com qualquer limitação técnica.
CJC