una - Cómo visualizar bases de datos en Oracle 11g usando SQL*Plus
ver todas las bases de datos en oracle (5)
Con ayuda de este comando, show databases;
Puedo ver bases de datos en MySQL .
¿Cómo mostrar las bases de datos disponibles en Oracle ?
No estoy claro al respecto, pero normalmente un servidor tiene una base de datos (con muchos usuarios), si crea muchas bases de datos significa que crea muchas instancias, oyentes, ... también. Entonces puede verificar su LISTENER
para identificarlo.
En mi prueba, creé 2 bases de datos ( dbtest
y dbtest_1
), así que cuando dbtest_1
estado de mi LISTENER, aparecía así:
lsnrctl status
....
ESTADO DEL ESCUCHA
.....
(DESCRIPTION = (DIRECCIÓN = (PROTOCOLO = tcp) (HOST = 10.10.20.20) (PORT = 1521)))
Resumen de servicios ...
El servicio "dbtest" tiene 1 instancia (s).
Instance "dbtest", estado READY, tiene 1 controlador (es) para este servicio ...
El servicio "dbtest1XDB" tiene 1 instancia (s).
Instance "dbtest1", estado READY, tiene 1 controlador (es) para este servicio ...
El servicio "dbtest_1" tiene 1 instancia (s).
Instance "dbtest1", estado READY, tiene 1 controlador (es) para este servicio ... El comando se completó correctamente
Oracle no tiene un modelo de base de datos simple como MySQL o MS SQL Server. Encuentro que lo más parecido es consultar los espacios de tabla y los usuarios correspondientes dentro de ellos.
Por ejemplo, tengo un tablespace DEV_DB con todas mis ''bases de datos'' reales dentro de ellos:
SQL> SELECT TABLESPACE_NAME FROM USER_TABLESPACES;
Resultando en:
SYSTEM SYSAUX UNDOTBS1 TEMP USERS EXAMPLE DEV_DB
También es posible consultar a los usuarios en todos los espacios de tabla:
SQL> select USERNAME, DEFAULT_TABLESPACE from DBA_USERS;
O dentro de un tablespace específico (usando mi tablespace DEV_DB como ejemplo):
SQL> select USERNAME, DEFAULT_TABLESPACE from DBA_USERS where DEFAULT_TABLESPACE = ''DEV_DB'';
ROLES DEV_DB
DATAWARE DEV_DB
DATAMART DEV_DB
STAGING DEV_DB
Puede pensar en una "base de datos" de MySQL como un esquema / usuario en Oracle. Si tiene los privilegios, puede consultar la vista DBA_USERS
para ver la lista de esquemas.
Tal vez podrías usar esta vista, pero no estoy seguro.
select * from v$database;
Pero creo que solo le mostrará información sobre el db actual.
Otra opción, si el db se ejecuta en Linux ... sería algo como esto:
SQL>!grep SID $TNS_ADMIN/tnsnames.ora | grep -v PLSExtProc
SELECT NAME FROM v$database;
muestra el nombre de la base de datos en el oráculo