Quero verificar o SID e o nome do banco de dados atual.
Estou usando a seguinte consulta para verificar o oracle SID
select instance from v$thread;
mas a tabela ou visualização não existe, o erro está chegando.
Estou usando a seguinte consulta para verificar o nome do banco de dados atual
select name from v$database;
mas a tabela ou visualização não existe, o erro está chegando.
Alguma ideia para os dois problemas acima?
select sys_context('userenv','db_name') from dual;
para nome de banco de dados e sid eu já adicionei na resposta. espero que isso dê a você o que você desejaSe, como eu, seu objetivo é fazer com que o host do banco de dados e SID gere um url Oracle JDBC, como
os seguintes comandos ajudarão:
Comando de consulta do Oracle para verificar o SID (ou nome da instância):
Comando de consulta do Oracle para verificar o nome do banco de dados (ou host do servidor):
Att. Sergio Marcelo
fonte
Apenas para completar, você também pode usar ORA_DATABASE_NAME.
Pode ser interessante notar que nem todos os métodos fornecem a mesma saída:
fonte
As visualizações V $ são principalmente visualizações dinâmicas de métricas do sistema. Eles são usados para ajuste de desempenho, monitoramento de sessão, etc. Portanto, o acesso é limitado a usuários DBA por padrão, e é por isso que você está obtendo
ORA-00942
.A maneira mais fácil de encontrar o nome do banco de dados é:
Esta visualização é concedida a PUBLIC, para que qualquer pessoa possa consultá-la.
fonte
Digite no
sqlplus
prompt de comandoentão você verá o resultado no prompt de comando
Aqui primeiro um "ORCL" é o nome do banco de dados, pode ser o seu sistema "XE" e outro que foi informado no momento do download do oracle.
fonte
Como foi mencionado acima,
é o caminho a percorrer.
Você não pode consultar v $ database / v $ instance / v $ thread porque seu usuário não tem as permissões necessárias. Você pode concedê-los (por meio de uma conta DBA) com:
fonte