|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mai 2006 Messages : 6 ![]() |
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 ? |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
Code :
rsh tonhost "ORACLE_HOME=/app/oracle/product/10.2 /app/oracle/product/10.2/bin/sqlplus"
|
|
00
|
|
|
#3 |
|
Membre actif
![]() Inscription : avril 2006 Messages : 133 ![]() |
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 ... |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : mai 2006 Messages : 6 ![]() |
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 |
|
|
00
|
|
|
#5 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
essaye :
rsh 182.25.8.1 -l prod '/opt/infocentre/prod/ctl/proctest.sh' |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : mai 2006 Messages : 6 ![]() |
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. |
|
|
00
|
|
|
#7 | ||
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
et que donne :
Code :
|
||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : mai 2006 Messages : 6 ![]() |
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 ;; 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 |
|
|
00
|
|
|
#9 | ||
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
et que donne :
Code :
rsh 182.25.8.1 -l prod '. /opt/oracle/.profile; /opt/infocentre/prod/ctl/proctest.sh'
Essaye ceci pour voir la différence : Code :
|
||
|
|
00
|
|
|
#10 |
|
Membre actif
![]() Inscription : avril 2006 Messages : 133 ![]() |
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. |
|
|
00
|
|
|
#11 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
copiteur
|
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : mai 2006 Messages : 6 ![]() |
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 |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com