web-dev-qa-db-fra.com

Installer SQL Loader Linux

J'ai essayé d'installer le client instantané Oracle sur une machine RedHat. J'ai InstantClient Basic, SDK et Sqlplus mais je n'ai trouvé aucun Sqlldr. Quelqu'un peut-il m'aider à le faire? Merci

6
Masih

Suite aux informations fournies par @Alex Poole dans son commentaire, j'ai pu ajouter le binaire sqlldr à une installation de client instantané Oracle sur redhat linux. La clé consiste à avoir accès à une installation complète du client Oracle (ou de la base de données) à partir de laquelle obtenir le binaire sqlldr.

En résumé, voici le processus que j'ai suivi avec Oracle 11.2.0.3.0:

Installer Oracle Instant Client

Télécharger depuis le client instantané Oracle:

  • Oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
  • Oracle-instantclient11.2-jdbc-11.2.0.3.0-1.x86_64.rpm
  • Oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm
  • Oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm

Installer:

yum install Oracle* --nogpgcheck

Créer des variables d'environnement Oracle

Dans /etc/profile.d/Oracle.sh

export Oracle_HOME=/usr/lib/Oracle/11.2/client64
export PATH=$PATH:$Oracle_HOME/bin
export LD_LIBRARY_PATH=$Oracle_HOME/lib
export TNS_ADMIN=$Oracle_HOME/network/admin

Copier sqlldr et le fichier de message du client/de la base de données Oracle complet

[root@redhat bin]# pwd
/usr/lib/Oracle/11.2/client64/bin
[root@redhat bin]# scp root@oracleServer:/OracleHome/db/product/11gR2/bin/sqlldr .

Essayez le:

[root@redhat bin]# sqlldr
Message 2100 not found; No message file for product=RDBMS, facility=ULMessage 2100 not found; No message file for product=RDBMS, facility=UL

Nous devons copier le fichier ulus.msb à partir de la base de données Oracle. Mais nous devons d’abord créer la structure de répertoires appropriée:

[root@redhat client64]# pwd
/usr/lib/Oracle/11.2/client64
[root@redhat client64]# mkdir -p rdbms/mesg
[root@redhat client64]# scp root@oracleServer:/OracleHome/db/product/11gR2/rdbms/mesg/ulus.msb rdbms/mesg/

Une fois le fichier de messages en place, essayez à nouveau:

[root@redhat client64]# sqlldr

SQL*Loader: Release 11.2.0.3.0 - Production on Tue Oct 20 10:12:55 2015

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

Usage: SQLLDR keyword=value [,keyword=value,...]
....

Succès!

15
Brice Roncace

Alternative plus simple à la réponse acceptée ne nécessitant pas d’installation de client complet existante pour dérober le binaire sqlldr:

Vous pouvez télécharger le chargeur SQL à partir d'OTN dans un package client instantané distinct appelé "Package Instant Client - Outils : inclut Data Pump, SQL * Loader et le client de relecture Workload".

Voici le lien pour linux: Téléchargements Instant Client pour Linux x86-64

1
Otto

Installez Oracle-instantclient12.2-tools, qui a sqlldr; et assurez-vous que votre PATH comprend /usr/lib/Oracle/12.2/client64/bin.

Ajustez les versions en conséquence.

0
vesperto