Está en la página 1de 2

SHOW INSTANCE

Código:
select sys_context('USERENV','DB_NAME') as Instance
from dual;
Listando todos las bases de datos en Oracle
Hoy me preguntaron sobre cómo mostrar (listar) todas las bases de datos que tengo en un
servidor Oracle. Hemos sido un poquito más allá y ya mostramos también cómo listar
instancias y usuarios. La respuesta:
1 SELECT * FROM v$database;
Para listar todas las instancias:
1 SELECT * FROM v$instance;
Para listar los usuarios:
1 SELECT * FROM all_users;
La v$database posee informacion sobre la base en que se está conectado, En el caso de que el
usuario no pueda acceder a la base de datos,
1 ps -ef | grep pmon
En este caso, el nombre de las bases será pmon NOMBRE_DE_LA_BASE. Si todo está instalado
en los lugares por defecto también se podría usar:
1 cat /etc/oratab
O también:
1 cat /etc/oratab | grep -v "^#"|grep -v "N$"|cut -f1 -d: -s
Por último, en Solaris, utilice “/var/opt/oracle/oratab” en vez de “/etc/oratab”.
Datos de la instancia Oracle
En una base de datos Oracle podemos encontrar vistas para casi todo lo que podamos
imaginar. El estado de la instancia no puede ser una excepción.
Para obtener el estado (demás de otros datos como la versión o su nombre) podemos usar la
vista v$instance:
SQL> select * from v$instance;
INSTANCE_NUMBER INSTANCE_NAME
--------------- ----------------
HOST_NAME
----------------------------------------------------------------
VERSION STARTUP_ STATUS PAR THREAD# ARCHIVE LOG_SWITCH_WAIT
----------------- -------- ------------ --- ---------- ------- ---------------
LOGINS SHU DATABASE_STATUS INSTANCE_ROLE ACTIVE_ST BLO
---------- --- ----------------- ------------------ --------- ---
1 kalgon
granit.systemadmin.es
10.2.0.1.0 08/03/11 OPEN NO 1 STOPPED
ALLOWED NO ACTIVE PRIMARY_INSTANCE NORMAL NO
Sus campos más destacados son:
 INSTANCE_NAME: Nombre de la instancia
 HOST_NAME: Nombre del host donde se encuentra
 STARTUP_TIME: Fecha en que la instancia se arrancó por última vez
 STATUS: Estado de la instancia (STARTED, MOUNTED, OPEN o OPEN MIGRATE)
 SHUTDOWN_PENDING: Si se está apagando
 DATABASE_STATUS: Estado de la base de datos
 LOGINS: Podemos ver ALLOWED o RESTRICTED si está en modo restringido por
mantenimiento
Consultas útiles en Oracle y utilización de SQLPlus
Hay una serie de consultas muy comunes que vienen muy bien en cualquier instalación Oracle.
Iniciamos sesión con usuario Oracle.
Entramos en SQLPLUS como SYSDBA:

$sqlplus "/as sysdba"

Lo primero que deberíamos hacer cuando nos asignan la gestión de una base de datos Oracle
es conocer la versión de la misma:

SQL> select * from v$instance;

Además de la versión nos dirá el nombre de la instancia, el nombre de la máquina, la versión,


el estado de la base de datos (open,...), la fecha en la que se arrancó la base de datos y algún
dato más.

Recuerda que para ver todos los campos:

SQL> desc v$instance;

Y para consultar un campo concreto:

SQL> select status from v$instance;

Ahora podemos mirar los parámetros generales de Oracle:

SQL> select * from v$system_parameter;

Y encontramos el primer problema... no se ve nada por un tema de configuración

¿Solución?
Configurar la salida de pantalla del sqlplus:
SQL> set pagesize 100
SQL> set linesize 300

y para repetir el comando anterior "r" o "run":

SQL> r
SQL> RUN

Si quisiéramos modificar ligeramente el comando podemos editarlo con "ed":

SQL> ed

Ahora el nuevo problema es que es demasiada información en pantalla. Podemos redirigir la


salida a fichero con el comando "spool":

SQL> spool fichero.txt


SQL> run
SQL> spool off
SQL> exit
$ more fichero.txt