IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

[Script - Ksh] su et sqlplus


Sujet :

Administration système

  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Points : 210
    Points
    210
    Par défaut [Script - Ksh] su et sqlplus
    Bonjour,

    je galère sur un truc qui à mon avis doit être tout bête.

    Quand je suis en root et que je tape successivement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [root@XXXXX log_jour]# su - userl --command="sqlplus form/form <<FIN
    > select to_char(sysdate,'dd.mm.yyyy hh24:mm:ss') from dual;
    > FIN"
    je n'ai aucun souci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    SQL*Plus: Release 10.2.0.4.0 - Production on Thu Feb 10 16:29:37 2011
     
    Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.
     
     
    Connecte a :
    Oracle Database 10g Release 10.2.0.4.0 - 64bit Production
     
    SQL>
    TO_CHAR(SYSDATE,'DD
    -------------------
    10.02.2011 16:02:37
     
    SQL> Deconnecte de Oracle Database 10g Release 10.2.0.4.0 - 64bit Production

    En revanche quand je l'intègre dans un script (en environnement ksh), je n'arrive pas à obtenir le résultat de la requête, il bloque sur le login de connexion sqlplus, il me le redemande comment s'il s'était arrêté à la commande sqlplus. Du coup j'ai essayé un paquet de solutions mais pour le moment je n'ai pas trouvé la bonne. Il lui faut à priori des retours à la ligne dans le code, j'ai donc tenté cela sans succès :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    su - userl --command="sqlplus form/form <<FIN\r\n
    select to_char(sysdate,'dd.mm.yyyy hh24:mm:ss') from dual;\r\n
    FIN"
    Le problème à mon sens se situe au niveau des guillemets, qu'en pensez-vous svp ?

    NB : j'ai créé un autre script contenant ma commande sqlplus en totalité (sans les retours chariots). Quand j'appelle ce script avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    su - userl -c monscript
    ça fonctionne. Ce qui m'embête c'est que ça fait un script qui appelle un autre script et vu que je dois le faire régulièrement pour d'autres tâches, ça va m'en faire une sacré liste (et donc un sacré bordel).

  2. #2
    Membre chevronné

    Homme Profil pro
    Responsable projets techniques
    Inscrit en
    Février 2003
    Messages
    980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable projets techniques
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2003
    Messages : 980
    Points : 1 894
    Points
    1 894
    Par défaut
    Pourquoi utiliser su plutôt que sudo ?

  3. #3
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Points : 210
    Points
    210
    Par défaut
    Bonne question à laquelle je n'avais pas pensé. En fait je migre des batchs qui sont sous AIX 5.3 sur de la RHEL 4 et le sudo n'existe pas sous mes AIX.
    Je vais adapter.

  4. #4
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    le problème est tout connement un problème de quotage


    gestion des ",`,'
    tu peux les protéger d'interprétation avec des \ par exemple.


  5. #5
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Points : 210
    Points
    210
    Par défaut
    C'est ce que je signale dans mon post que c'est un problème de quote mais lequel, c'est-à-dire, qu'est-ce-qu'il manque ou qu'est-ce-qu'il y a en trop ? (je n'ai exposé ici qu'une des possibilités que j'ai tentées.

  6. #6
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Points : 210
    Points
    210
    Par défaut
    j'ai tenté d'utiliser sudo, l'inconvénient est que je ne me retrouve pas avec mes variables d'environnement à l'exécution de la commande, je dois zapper une option je pense. J'ai bien vu le -H mais ça c'est seulement pour fixer son Home Directory non ?

  7. #7
    Membre chevronné

    Homme Profil pro
    Responsable projets techniques
    Inscrit en
    Février 2003
    Messages
    980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable projets techniques
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2003
    Messages : 980
    Points : 1 894
    Points
    1 894
    Par défaut
    non, tu ne rates rien je crois : il faut charger ton .profile avant de faire la commande si tu as besoin de variables à l'intérieur... mais normalement, tu ne devrais pas

  8. #8
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Points : 210
    Points
    210
    Par défaut
    ok je verrai ça demain pour charger mon .profile, c'est obligatoire pour moi car c'est l'environnement bien précis d'une base Oracle (avec définition de l'ORACLE_SID, ORACLE_HOME etc...)

  9. #9
    Membre chevronné

    Homme Profil pro
    Responsable projets techniques
    Inscrit en
    Février 2003
    Messages
    980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable projets techniques
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2003
    Messages : 980
    Points : 1 894
    Points
    1 894
    Par défaut
    ouais, mais normalement, ça ne devrait pas être dans le .profile ce genre de chose : c'est une mauvaise pratique !

  10. #10
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Points : 210
    Points
    210
    Par défaut
    où est-ce-que je peux le mettre si ce n'est dans le .profile de mon user Oracle ?

  11. #11
    Membre chevronné

    Homme Profil pro
    Responsable projets techniques
    Inscrit en
    Février 2003
    Messages
    980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable projets techniques
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2003
    Messages : 980
    Points : 1 894
    Points
    1 894
    Par défaut
    Personnellement, je fais un fichier à part, situé à un emplacement accessible par tout le monde ayant besoin du fichier, ce qui permet de n'avoir qu'un seul et même fichier à charger quelque soit l'utilisateur souhaitant accéder à Oracle.

    Pour te donner un exemple, chez un client, ils mettaient cela dans /var/opt/oracle/...
    Il y avait un script qui permettait de charger l'environnement requis selon les besoins, mais tu peux simplifier en ne mettant que plusieurs fichiers de profile.

    Les avantages sont d'une part que tu n'as qu'un fichier à maintenir et d'autre part, tu sépares bien le contenu de ton .profile qui ne concerne "que" des trucs liés au shell du contenu qui concerne les bases de données ou autre.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Menu avec un script ksh ?
    Par insupien dans le forum Linux
    Réponses: 2
    Dernier message: 06/07/2006, 13h05
  2. [Sqlplus ] Appel depuis script KSH
    Par kasiop dans le forum Oracle
    Réponses: 2
    Dernier message: 27/01/2006, 10h25
  3. Script Ksh
    Par tonymontana4192 dans le forum Linux
    Réponses: 6
    Dernier message: 20/12/2005, 10h51
  4. Execution d'un script ksh distant
    Par jool dans le forum C++
    Réponses: 2
    Dernier message: 18/03/2005, 10h10
  5. Script ksh - Valeur maximal d'un PID
    Par fidififouille dans le forum Linux
    Réponses: 7
    Dernier message: 09/08/2004, 10h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo