una puedo full for ejemplos developer datos crear consultas conexion conectarse conectar sql oracle

sql - puedo - toad for oracle download



¿Cómo puedo confirmar que una base de datos es Oracle y qué versión usa SQL? (8)

Estoy construyendo un instalador para una aplicación. El usuario puede seleccionar una fuente de datos que haya configurado y nominar qué tipo de base de datos es. Quiero confirmar que el tipo de base de datos es de hecho Oracle y, de ser posible, qué versión de Oracle están ejecutando enviando una declaración SQL a la fuente de datos.


Aquí hay una función simple:

CREATE FUNCTION fn_which_edition RETURN VARCHAR2 IS /* Purpose: determine which database edition MODIFICATION HISTORY Person Date Comments --------- ------ ------------------------------------------- dcox 6/6/2013 Initial Build */ -- Banner CURSOR c_get_banner IS SELECT banner FROM v$version WHERE UPPER(banner) LIKE UPPER(''Oracle Database%''); vrec_banner c_get_banner%ROWTYPE; -- row record v_database VARCHAR2(32767); -- BEGIN -- Get banner to get edition OPEN c_get_banner; FETCH c_get_banner INTO vrec_banner; CLOSE c_get_banner; -- Check for Database type IF INSTR( UPPER(vrec_banner.banner), ''EXPRESS'') > 0 THEN v_database := ''EXPRESS''; ELSIF INSTR( UPPER(vrec_banner.banner), ''STANDARD'') > 0 THEN v_database := ''STANDARD''; ELSIF INSTR( UPPER(vrec_banner.banner), ''PERSONAL'') > 0 THEN v_database := ''PERSONAL''; ELSIF INSTR( UPPER(vrec_banner.banner), ''ENTERPRISE'') > 0 THEN v_database := ''ENTERPRISE''; ELSE v_database := ''UNKNOWN''; END IF; RETURN v_database; EXCEPTION WHEN OTHERS THEN RETURN ''ERROR:'' || SQLERRM(SQLCODE); END fn_which_edition; -- function fn_which_edition /

Hecho.


Dos métodos:

select * from v$version;

Te regalaré:

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

O identificando su versión de software de la base de datos Oracle :

select * from product_component_version;

Te regalaré:

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


Ejecute este SQL:

select * from v$version;

Y obtendrás un resultado como:

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


Para el uso de Oracle:

Select * from v$version;

Para el uso del servidor SQL:

Select @@VERSION as Version

y para el uso de MySQL:

Show variables LIKE "%version%";


Puedes usar

SELECT * FROM v$version;

o

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

si no desea analizar el resultado de v $ version.


Si su instancia no funciona, busque la información de la versión en alert.log

O bien, otra manera cruda es buscar en el binario de Oracle. Si el DB está alojado en Linux, intente cadenas en Oracle binary.

strings -a $ORACLE_HOME/bin/oracle |grep RDBMS | grep RELEASE


Si tiene privilegios, puede usar a continuación VIEW , o V$VERSION :

SELECT VERSION FROM V$INSTANCE;


SQL> SELECT version FROM v$instance; VERSION ----------------- 11.2.0.3.0