Con la ayuda de este comando show databases;
puedo ver bases de datos en MySQL .
¿Cómo mostrar las bases de datos disponibles en Oracle ?
Respuestas:
Puede pensar en una "base de datos" MySQL como un esquema / usuario en Oracle. Si tiene los privilegios, puede consultar la DBA_USERS
vista para ver la lista de esquemas:
SELECT * FROM DBA_USERS;
SELECT * FROM DBA_USERS;
SELECT NAME FROM v$database;
muestra el nombre de la base de datos en Oracle
XE
, es decir, el nombre único que identifica de forma exclusiva su instancia / base de datos (¿se llama SID?). Por otro lado, el show databases
comando de MySQL imprime lo que MySQL llama base de datos, también conocida como esquema (aproximadamente lo que se obtiene SELECT USERNAME FROM DBA_USERS
en Oracle).
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 espacio de tabla DEV_DB con todas mis 'bases de datos' reales dentro de ellas:
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 espacio de tabla específico (usando mi espacio de tabla 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
Quizás puedas usar esta vista, pero no estoy seguro.
select * from v$database;
Pero creo que solo te mostrará información sobre la base de datos actual.
Otra opción, si la base de datos se está ejecutando en linux ... sería algo como esto:
SQL>!grep SID $TNS_ADMIN/tnsnames.ora | grep -v PLSExtProc
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. Para que puedas comprobar tu LISTENER
para identificarlo.
En mis pruebas, creé 2 bases de datos ( dbtest
y dbtest_1
), así que cuando verifiqué mi estado de LISTENER, apareció así:
lsnrctl status
....
ESTADO del LISTENER
.....
(DESCRIPCIÓN = (DIRECCIÓN = (PROTOCOLO = tcp) (HOST = 10.10.20.20) (PUERTO = 1521)))
Resumen de servicios ...
El servicio "dbtest" tiene 1 instancia (s).
La instancia "dbtest", estado LISTA, tiene 1 controlador (es) para este servicio ...
El servicio "dbtest1XDB" tiene 1 instancia (s).
La instancia "dbtest1", estado LISTA, tiene 1 controlador (es) para este servicio ...
El servicio "dbtest_1" tiene 1 instancia (s).
La instancia "dbtest1", estado READY, tiene 1 controlador (es) para este servicio ... El comando se completó correctamente