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

Oracle Discussion :

Comment déterminer la version d'Oracle en SQL ?


Sujet :

Oracle

  1. #1
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut Comment déterminer la version d'Oracle en SQL ?
    Bonjour,

    Je développe une application sur une base de données Oracle, et j'ai des clienst en 8.0.6; 8i ou 9. Je mets à jour le schéma via des scripts PL, tout fonctionne bien.

    Suite à des erreurs de conception, un champ est à supprimer : ça n'est pas possible en Oracle 8 (en 8.0.6 au moins) : j'aimerais avoir la requête / fonction qui me permette de déterminer directement la version de la BDD sous SQL ?

    Suite à mes recherches, j'ai vu que la table V$VERSION contenait des choses intéressantes, mais mon n° de version est imbriquée dans une chaîne de caractères, et la requête me retourne plusieurs lignes ...

    J'ai vu que PostGre permettait un simple :
    Donc j'aimerais savoir si Oracle fait la même chose ?

  2. #2
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    En version 10, on peut faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    SQL> select version from v$instance;
     
    VERSION
    -----------------
    10.2.0.1.0

  3. #3
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    j'ai fait ceci mais je ne suis pas certain que ce soit optimal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select version from PRODUCT_COMPONENT_VERSION where product like 'Oracle%';
    Sinon, pour le fun :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select substr(banner,instr(banner,'Release ')+8,9) from v$version
    where banner like 'Oracle%'

  4. #4
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Citation Envoyé par pifor
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select version from v$instance;
    Parfait, ça fonctionne sur 8.0.6, 8.1.7, etc ... Merci

    Citation Envoyé par Fred_D
    j'ai fait ceci mais je ne suis pas certain que ce soit optimal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select version from PRODUCT_COMPONENT_VERSION where product like 'Oracle%';
    Ca me renvoie exactement les mêmes résultats que la précédente requête, ça marche sur les 8, 9, Merci aussi

  5. #5
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798

  6. #6
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Au choix, en SQL, en PL/SQL ou en "hint" de SQL*Plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    select * from v$version where rownum=1;
     
    DECLARE
          l_ver    LONG;
          l_compat LONG;
    BEGIN
          dbms_utility.db_version(version => l_ver, compatibility => l_compat);
          dbms_output.put_line('Version:' || l_ver);
    END;
    /
     
    def _o_version

  7. #7
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Citation Envoyé par LeoAnderson
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from v$version where rownum=1;
    Heu, il y a des chances que cette requête ramène plus d'une ligne, ou c'est juste par habitude, la clause "rownum = 1" ?

    Bon, comme ça ne coûte pas beaucoup plus cher, et si ça permet d'éviter les mauvaises surprises au mauvais moment, je prends, finalement

  8. #8
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Citation Envoyé par Xo
    Citation Envoyé par LeoAnderson
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from v$version where rownum=1;
    Heu, il y a des chances que cette requête ramène plus d'une ligne, ou c'est juste par habitude, la clause "rownum = 1" ?

    Bon, comme ça ne coûte pas beaucoup plus cher, et si ça permet d'éviter les mauvaises surprises au mauvais moment, je prends, finalement
    Fais donc le test sans le rownum... ;-)

    Et si tu n'as pas de base sous la main, il y a toujours la doc : http://download-east.oracle.com/docs...htm#sthref2030
    V$VERSION

    The dynamic performance table containing version numbers of core library components in the Oracle Server.

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

Discussions similaires

  1. Comment voir la version du client oracle utilisé?
    Par farenheiit dans le forum Administration
    Réponses: 11
    Dernier message: 28/06/2007, 11h40
  2. Réponses: 2
    Dernier message: 16/05/2007, 19h26
  3. Réponses: 4
    Dernier message: 08/05/2007, 11h34
  4. Réponses: 4
    Dernier message: 30/04/2007, 17h29
  5. oracle 9.2.0.6 : comment connaitre la version précise
    Par Commandant dans le forum Oracle
    Réponses: 18
    Dernier message: 28/09/2006, 14h33

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