Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Sql*Plus
Sql*Plus Forum d'entraide sur Oracle Sql*Plus
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/05/2006, 14h45   #1
Invité de passage
 
Inscription : mai 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 6
Points : 0
Points : 0
Par défaut envoyer un SQLPLUS par rsh

J'ai ecris un shell contenant une commande SQLPLUs,

Je voudrais executer ce shell par rsh (AIXà) mais sur le serveur remote il me dit

SQLPLUS NOT FOUND

Que dois je faire ?
titounette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 16h09   #2
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 927
Points : 4 549
Points : 4 549
Code :
rsh tonhost "ORACLE_HOME=/app/oracle/product/10.2 /app/oracle/product/10.2/bin/sqlplus"
OK?
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 16h22   #3
Membre actif
 
Inscription : avril 2006
Messages : 133
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : avril 2006
Messages : 133
Points : 156
Points : 156
L'utilisateur avec lequel tu te connectes à ton serveur (en RSH) ne doit pas connaître le chemin du binaire sqlplus ....

Cela peut provenir de plusieurs choses :
- l'utilisateur unix ne possède pas les variables d'environnement ORACLE ==> tu peux le vérifier avec la commande : env|grep ORA

- Le PATH de ton utilisateur ne connait pas le chemin des binaires ORACLE
Affiche le et regarde si le chemin des binaires y est :
echo $PATH
==> cherche notamment : $ORACLE_HOME/bin

Tant que tes variables d'environnement ne seront pas ok et que ton PATH ne sera pas renseigné avec les chemins Oracle, ta commande sqlplus ne marchera pas ...
jlucch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 17h33   #4
Invité de passage
 
Inscription : mai 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 6
Points : 0
Points : 0
J'ai modifie mon shell proctest.sh sur le serveur 2 :
#!/bin/ksh
/opt/oracle/.profile
echo "ORACLE_HOME" $ORACLE_HOME
sqlplus stat/stat @/opt/infocentre/prod/sql/test.sql
exit

mais quand j'envoie la commande depuis le serveur 1
rsh 182.25.8.1 -l prod /opt/infocentre/prod/ctl/proctest.sh
il ne veut pas executer /opt/oracle/.profile et ainsi il ne trouve jamais sqlplus !

La methode de laurentschneider fonctionne mais je ne peux pas envoyer que SQLPLUS mais en fait un shell qui execute ce SQLPLUS

Merci
titounette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 17h49   #5
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
essaye :

rsh 182.25.8.1 -l prod '/opt/infocentre/prod/ctl/proctest.sh'
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 18h02   #6
Invité de passage
 
Inscription : mai 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 6
Points : 0
Points : 0
Et toujours pareil, voila la reponse :
rsh 172.25.8.1 -l oracle '/opt/infocentre/prod/ctl/proctest.sh'
/opt/infocentre/prod/ctl/proctest.sh[4]: sqlplus: introuvable.
titounette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 18h06   #7
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
et que donne :

Code :
1
2
3
4
 
echo $HOME $ORACLE_HOME $PATH
grep ORACLE_HOME /opt/oracle/.profile
which sqlplus
quand tu te connectes prod sur cette machine ?
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 18h12   #8
Invité de passage
 
Inscription : mai 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 6
Points : 0
Points : 0
hlvekhe1:prod:/home/prod > echo $HOME $ORACLE_HOME $PATH

/home/prod /opt/oracle/product/7.3.4 /usr/bin:/etc:/usr/sbin:/usr/ucb:/home/prod/bin:/usr/bin/X11:/sbin:.:/usr/lbin:/usr/local/bin:/opt/oracle/product/7.3.4/bin:.
hlvekhe1:prod:/home/prod > grep ORACLE_HOME /opt/oracle/.profile#


The following removes trailing colon from PATH and adds ORACLE_HOME/bin.
*$ORACLE_HOME/bin*) ;;
* PATH=$PATH$ORACLE_HOME/bin ;;
*) PATH=$PATH:$ORACLE_HOME/bin ;;
ORAKITPATH=$ORACLE_HOME/forms30/admin/resource:$ORACLE_HOME/oraterm/admin/resource
FORMS30PATH=$ORACLE_HOME/forms30/admin/resource
MENU5PATH=$ORACLE_HOME/forms30/admin/resource
ORATERMPATH=$ORACLE_HOME/forms30/admin/resource
hlvekhe1:prod:/home/prod > which sqlplus
/opt/oracle/product/7.3.4/bin/sqlplus


C'est comme si il ignorait que le user en RSH est prod et de meme pour le user Oracle
titounette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 18h19   #9
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
et que donne :

Code :
rsh 182.25.8.1 -l prod '. /opt/oracle/.profile; /opt/infocentre/prod/ctl/proctest.sh'
Les quotes permettent de se situer dans le contexte distant contrairement aux guillemets, néanmoins, il faut charger le profile.

Essaye ceci pour voir la différence :
Code :
1
2
rsh 182.25.8.1 -l prod 'hostname'
rsh 182.25.8.1 -l prod "hostname"
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 18h45   #10
Membre actif
 
Inscription : avril 2006
Messages : 133
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : avril 2006
Messages : 133
Points : 156
Points : 156
Essaye ceci :

rsh 182.25.8.1 -l /opt/oracle/. .profile;/opt/infocentre/prod/ctl/proctest.sh

Le ". .profile" permet d'executer ton .profile dans ton shell courant ....

Si tu lances : .profile, cela ouvre un sous shell dans lequel s'execute .profile ... a la fin de l'execution, ton sous shell se ferme, donc tu perds tes variables d'environnement.

Si tu lances : . .profile, tu execute .profile dans ton shel courant, du coup tes variables d'environnement seront conservées ....

Bon courage.
jlucch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 18h48   #11
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
copiteur
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2006, 15h12   #12
Invité de passage
 
Inscription : mai 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 6
Points : 0
Points : 0
Par défaut Enfin ca marche

Pour info les 2 dernieres solutions n'etaient toujours pas bonnes finalement dans le proctest.sh voila comment j'ai solutionné:
J'ai code comme cela :
su - prod -c "sqlplus stat/stat /opt/infocentre/prod/sql/test.sql"

et une simple commade rsh :
rsh 172.25.8.1 '/opt/infocentre/prod/ctl/proctest.sh'

Merci
titounette est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h31.


 
 
 
 
Partenaires

Hébergement Web