Que version tengo de oracle ?

Hoy vamos a añadir una nueva entrada «para dummies».

La respuesta a la pregunta del título es muy facil, podemos obtenerla de la  tabla PRODUCT_COMPONENT_VERSION , o bien mirando simplemente la vista dinámica v$version .

Si quremos mirar la primera desde sqlplus, lo mejor será el dar formato previamente a las columnas,  la consulta sería algo similar a .

set linesize 120;
column PRODUCT format a60;
column VERSION format a20;
column STATUS format a20;
select * from product_component_version;

También podemos obtener información de que hay instalado y la version con


set linesize 120;
column comp_name format a60;
column VERSION format a20;
column STATUS format a20;
SELECT comp_name, version, status
FROm dba_registry
ORDER BY 1;

Si con esto no estais satisfechos, podeis  hurgar en el inventory de Oracle y ver con mas detalle que se ha puesto, especialmente los parches instalados .

Esto puedes hacerlo con

$ORACLE_HOME/OPatch/opatch lsinventory

 

Hay un caso en el que  esto no puede servirnos, y es cuando tenemos una 10g,11g que no ha sido creado desde el DBCA, en ese caso puede que el banner de la version de oracle no nos indique si es una version Estandard o Enterprise.

Para averiguarlo en ese caso modemos mirarlo en el fichero

$ORACLE_HOME/inventory/Components21/oracle.server/*/context.xml

En este fichero xml podemos mirar la propiedad s_serverInstallType donde nos dira si es estandard (SE) o Enterprise (EE).

En la version 11g el fichero a buscar es el
$ORACLE_HOME/inventory/globalvariables/oracle.server/globalvariables.xml
y tenemos que buscar la variable oracle_install_db_InstallType