Quiero verificar el SID y el nombre de la base de datos actual.
Estoy usando la siguiente consulta para verificar el SID de Oracle
select instance from v$thread;
pero la tabla o la vista no existe se aproxima un error.
Estoy usando la siguiente consulta para verificar el nombre de la base de datos actual
select name from v$database;
pero la tabla o la vista no existe se aproxima un error.
¿Alguna idea de los dos problemas anteriores?
select sys_context('userenv','db_name') from dual;
para el nombre de la base de datos y sid ya he agregado en la respuesta. Espero que esto te dé lo que quieresSi, como yo, su objetivo es obtener el host de la base de datos y el SID para generar una URL de Oracle JDBC, como
los siguientes comandos ayudarán:
Comando de consulta de Oracle para verificar el SID (o el nombre de la instancia):
Comando de consulta de Oracle para verificar el nombre de la base de datos (o host del servidor):
Att. Sergio Marcelo
fuente
Solo para completar, también puede usar ORA_DATABASE_NAME.
Vale la pena señalar que no todos los métodos le brindan el mismo resultado:
fuente
Las vistas V $ son principalmente vistas dinámicas de métricas del sistema. Se utilizan para ajustar el rendimiento, supervisar la sesión, etc. Por lo tanto, el acceso está limitado a los usuarios de DBA de forma predeterminada, por lo que los está obteniendo
ORA-00942
.La forma más sencilla de encontrar el nombre de la base de datos es:
Esta vista se otorga a PUBLIC, por lo que cualquiera puede consultarla.
fuente
Escriba en el
sqlplus
símbolo del sistemaentonces verá el resultado en el símbolo del sistema
Aquí primero un "ORCL" es el nombre de la base de datos, puede ser su sistema "XE" y otro lo que se dio en el tiempo de descarga de Oracle.
fuente
Como se ha mencionado anteriormente,
es el camino a seguir.
No puede consultar v $ database / v $ instance / v $ thread porque su usuario no tiene los permisos necesarios. Puede otorgarles (a través de una cuenta DBA) con:
fuente