Comment installer les binaires exp / imp d'Oracle

11

Je parcourais le net pour trouver une solution, mais je n'ai pas eu de chance. :(

Comment puis-je installer les fichiers imp/ expbinaires d' Oracle sur mon boîtier CentOS sans installer de serveur Oracle? J'accède à une base de données Oracle existante sur une autre machine, donc je n'ai besoin que d'un client ici. J'ai déjà installé sqlpluset ses dépendances ( oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm, et oracle-instantclient11.2-odbc-11.2.0.3.0-1.x86_64.rpm), mais cela n'a pas fourni ces outils.

Dois-je vraiment installer complètement Oracle?

Mon objectif est de pomper un vidage de base de données d'Oracle vers ma boîte CentOS. S'il y a une autre façon de le faire sans utiliser, expje ne me sentirais pas mal de NE PAS l'utiliser, mais il me semble qu'il n'y a pas d'alternative.

Dennis Winter
la source

Réponses:

9

Pour obtenir les fichiers binaires d'exportation (exp) et d'importation (imp), installez le client Oracle complet au lieu du client instantané ou du SGBDR complet. Le client 11gR2 est en fait le 4ème fichier d'un ensemble de 7 fichiers pour le SGBDR complet. La dernière version est 11.2.0.3.0 (659 229 728 octets, publiée au quatrième trimestre 2011 - techniquement appelée "ensemble de correctifs" mais il s'agit d'une installation complète). Il n'est pas disponible pour téléchargement public. (Seul le 11.2.0.1.0 obsolète pour Linux x86-64 est disponible publiquement).

Pour télécharger le client Oracle complet, procédez comme suit:

  1. Connectez-vous à My Oracle Support (MOS), anciennement appelé metalink.

  2. Cliquez sur le menu "Patches & Updates" en haut.

  3. Dans la section Patch Search, cliquez sur l'onglet Search.

  4. Saisissez 13390677 dans le champ "Nom ou numéro de patch". (13390677 est la version 11.2.0.4.0)

  5. Sélectionnez également une «plate-forme». (par exemple, "Linux x86-64")

  6. Cliquez sur Rechercher.

  7. Dans les résultats de la recherche, cliquez sur le numéro de correctif pour afficher les détails ou cliquez sur Télécharger - en supposant que votre compte MOS dispose des privilèges de téléchargement.

Le nom de fichier pour le téléchargement client uniquement est "p13390677_112040_ plateforme _4of7.zip" (où la plateforme est "Linux-x86-64" par exemple).

REMARQUE: les exportations / vidages ne sont pas de véritables sauvegardes. Ce ne sont que des copies logiques de la base de données. Les métadonnées et les index sont recréés lors de l'importation et ne seront donc pas octet par octet identiques à la base de données source.

George3
la source
12

Voici comment je l'ai fait. J'ai dû le pirater.

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.

Nom d'utilisateur:

user236046
la source
Merci beaucoup. C'était l'approche la plus simple pour moi !!
Dan Lenski
Fonctionne également sur Ubuntu 16.10! Il suffit de les installer au préalable: sudo apt-get install rpm2cpio libaio1 libaio-dev
Claude Houle
3

Vous n'avez PAS besoin d'installer complètement une instance Oracle.

  1. Téléchargez le client Oracle comme mentionné dans la réponse de George3
  2. Installez - quand il vous demande de sélectionner soit Instant Client, Runtime, Administratorou Custom<- choisissez Personnalisé.
  3. Sélectionnez Database Utilities. Il contient les fichiers exp / imp
JumpingJezza
la source
-1

Vous souhaitez importer une base de données sans système SGBD en place, désolé, mais cela est impossible dans toutes les définitions du mot ...

Donc, oui, vous devez faire une installation complète d'Oracle avant impet expcela fonctionnera.

Aussi, à l'avenir, je suggérerais d'utiliser expdpet à la impdpplace.

Hubert Kario
la source
7
Ce que Sotapanna veut faire, c'est exécuter des commandes exp / imp sur une machine qui n'est pas le serveur SGBD. Étant donné qu'exp / imp peut se connecter sur le réseau, il doit être plausible que vous puissiez installer ces commandes sans installer le package serveur Oracle RDBMS complet, probablement avec un package oracle-client. Si Sotapanna ne trouve pas de package approprié, le problème semble avoir plus à voir avec les décisions de packaging d'Oracle pour RHEL / CentOS qu'avec toute limitation technique.
cjc