web-dev-qa-db-fra.com

Comment puis-je confirmer qu'une base de données est Oracle et quelle version utilise SQL?

Je construis un installateur pour une application. L'utilisateur doit sélectionner une source de données qu'il a configurée et nommer son type de base de données. Je souhaite confirmer que le type de base de données est bien Oracle et, si possible, quelle version d'Oracle ils exécutent en envoyant une instruction SQL à la source de données.

155
modius

Exécutez ce SQL:

select * from v$version;

Et vous obtiendrez un résultat comme: 

BANNER
----------------------------------------------------------------
Oracle Database 10g Release 10.2.0.3.0 - 64bit Production
PL/SQL Release 10.2.0.3.0 - Production
CORE    10.2.0.3.0      Production
TNS for Solaris: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
271
Tony Andrews

Deux méthodes:

select * from v$version;

te donnera:

Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
PL/SQL Release 11.1.0.6.0 - Production
CORE 11.1.0.6.0 Production
TNS for Solaris: Version 11.1.0.6.0 - Production
NLSRTL Version 11.1.0.6.0 - Production

OU Identification de votre version du logiciel de base de données Oracle :

select * from product_component_version;

te donnera:

PRODUCT VERSION STATUS
NLSRTL  11.1.0.6.0  Production
Oracle Database 11g Enterprise Edition  11.1.0.6.0  64bit Production
PL/SQL  11.1.0.6.0  Production
TNS for Solaris:    11.1.0.6.0  Production
46
Lawrence
SQL> SELECT version FROM v$instance;
VERSION
-----------------
11.2.0.3.0
29
Ugur

Vous pouvez soit utiliser

SELECT * FROM v$version;

ou

SET SERVEROUTPUT ON
EXEC dbms_output.put_line( dbms_db_version.version );

si vous ne souhaitez pas analyser la sortie de v $ version.

7
Peter Lang

Si votre instance est hors service, vous recherchez des informations sur la version dans alert.log.

Une autre méthode consiste à examiner le binaire Oracle. Si la base de données est hébergée sous Linux, essayez les chaînes sur le binaire Oracle.

strings -a $Oracle_HOME/bin/Oracle |grep RDBMS | grep RELEASE
3
user3362908

Pour Oracle:

Select * from v$version;

Pour l'utilisation du serveur SQL:

Select @@VERSION as Version

et pour l'utilisation de MySQL:

Show variables LIKE "%version%";
1
Jack

Nous pouvons utiliser les méthodes ci-dessous pour obtenir le numéro de version d'Oracle.

Méthode n °: 1

set serveroutput on;
BEGIN 
DBMS_OUTPUT.PUT_LINE(DBMS_DB_VERSION.VERSION || '.' || DBMS_DB_VERSION.RELEASE); 
END;

Méthode n °: 2

SQL> select *
  2  from v$version;
0
Lova Chittumuri

L'instruction SQL suivante:

select edition,version from v$instance

résultats:

  • édition de base de données, par exemple. "XE"
  • version de base de données par exemple. "12.1.0.2.0"

(le privilège de sélection sur la vue v $ instance est bien sûr nécessaire)

0
Pancho