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

SQL Oracle Discussion :

Tester l'existence du spfile


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 58
    Par défaut Tester l'existence du spfile
    Bonjour

    J'ai un soucis et j'ai besoin de votre aide, voilà mon problème. Je voudrais tester si une base de données à un spfile ou pas via un .bat.

    ceci est la partie concernée de mon script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    REM Tester l'existance d'un spfile
    set spfile_flag=no
     
    set cmd_sql=%TEMP%\spfileflag_sql.sql
     
    (echo connect /as sysdba
    echo set head off
    echo set feed off
    echo select value from v$parameter where name='spfile';
    echo exit) >%cmd_sql%
     
    for /f "delims=" %%a in ('sqlplus -s %oracle_connect% @%cmd_sql%') do if /i not {%%a} == {} (set spfile_flag=yes)
     
    del %Wfic_cmd_sql%
    La variable spfile_flag devrait prendre un "yes" si la base à un spfile et un "no" le cas écheant.

    Des fois cela fonctionne des fois non, j'ai beau chercher dans mon code à quoi c'est dû mais je bloque. est ce dû à la version d'oracle? je teste sur une 9 et une 10g.

    quelqu'un a une idée, sinon s'il y a une autre méthode plus simple pour faire mon test je suis preneuse

    Merci d'avance pour votre aide

  2. #2
    Membre chevronné Avatar de NGasparotto
    Inscrit en
    Janvier 2007
    Messages
    421
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 421
    Par défaut
    Ca marche si tu fais la connection en-dehors du script sql.
    Sinon, ca retourne {Connected.}, c'est une variable non-vide, et donc ton flag passe a yes.

    Nicolas.

  3. #3
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Citation Envoyé par NGasparotto Voir le message
    Sinon, ca retourne {Connected.}
    voilà ça a fait tilt!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Y:\>c:\Apps\Oracle\client1020_eng\BIN\sqlplus -s /nolog
    connect scott/tiger
     
    Y:\>c:\Apps\Oracle\client920_ENG\bin\sqlplus -s /nolog
    connect scott/tiger
    Connected.
    quit
    En 10g en mode silencieux, le Connected n'est plus affiché

    PS: merci a Nicolas pour cet indice

  4. #4
    Membre chevronné Avatar de NGasparotto
    Inscrit en
    Janvier 2007
    Messages
    421
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 421
    Par défaut
    Laurent, j'adore tes smiles tres explicites.
    Enfin, tout ca pour dire qu'avant le client 10.x, la connection silencieuse n'etait pas si silencieuse que ca.

    Nicolas.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 58
    Par défaut
    Bonjour
    Merci pour vos reponses, et je m'excuse poiur le retard (j'avais rencontré un problème plus urgent )

    oui effectivement c'est pour ça que ça ne marche pas sur ma base de version 9, donc je pense mettre le résultat de l'execution dans un fichier.log et puis lire ce fichier et rechercher l'exisctence d'un *.ora, mais il y a pas une solution plus simple?

  6. #6
    Membre chevronné Avatar de NGasparotto
    Inscrit en
    Janvier 2007
    Messages
    421
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 421
    Par défaut
    Citation Envoyé par rojina29 Voir le message
    ...donc je pense mettre le résultat de l'execution dans un fichier.log
    Pourquoi ne pas faire la connection sur le "sqlplus -s" plutot qu'avec le connect ? Ca marche tres bien, j'ai dit plus haut, en dehors du script sql, mais sqlplus -s user/pwd... fonctionne tres bien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    REM Tester l'existance d'un spfile
    SET spfile_flag=no
     
    SET cmd_sql=%TEMP%\spfileflag_sql.sql
     
    (echo SET head off
    echo SET feed off
    echo SELECT value FROM v$parameter WHERE name='spfile';
    echo exit) >%cmd_sql%
     
    FOR /f "delims=" %%a IN ('sqlplus -s mouserprefere/passworduserprefere@mapetitebase @%cmd_sql%') do IF /i NOT {%%a} == {} (SET spfile_flag=yes)
     
    echo %spfile_flag%
    Nicolas.

Discussions similaires

  1. [JDBC]Tester l'existence d une table
    Par juflata dans le forum JDBC
    Réponses: 7
    Dernier message: 29/06/2004, 15h27
  2. tester l'existance d'un enregistrement
    Par LoLoSS dans le forum Langage SQL
    Réponses: 5
    Dernier message: 07/05/2004, 14h58
  3. tester l existence d un fichier sous turbo pascal
    Par Newllite dans le forum Turbo Pascal
    Réponses: 5
    Dernier message: 25/01/2004, 12h47
  4. Peut on tester l'existence d'un fichier ?
    Par Alamassepointcom dans le forum Flash
    Réponses: 2
    Dernier message: 10/10/2002, 12h10
  5. [ADO] Tester l'existence d'une table
    Par nd25 dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 05/09/2002, 13h55

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