Eu tenho uma instância do Oracle Database instalada em um OL7. É um 12c2. O Oracle GI também instalou e meu banco de dados tem alguns arquivos armazenados no ASM.
Estou usando o sqlplus para conectar à instância do banco de dados e consultar v$asm_diskgroup
. Meus ORACLE_HOME
pontos para a casa da minha instância de banco de dados.
Quando eu me conecto sem especificar um "@CONNECTION" (por exemplo, usando: sqlplus user/name
), a exibição v$asm_diskgroup
não retorna nenhuma linha. Quando eu conecto especificando um @TNSNAME (por exemplo: sqlplus user/name@TNSNAME
), a view v$asm_diskgroup
retorna os dados corretamente.
Além disso, quando eu me conecto usando o sql developer, de outra máquina, o v$asm_diskgroup
retorna as linhas.
Por que nenhuma v$asm_diskgroup
linha é retornada quando uso o sqlplus sem @CONNECTION, ou seja, o logon padrão?
Você precisaria se conectar à instância ASM usando um ID de usuário que tenha o
SYSASM
privilégio de sistema:O comentário de Balaz Papp acima está correto na explicação de por que conectado sem uma string de conexão está funcionando. E seu comentário abaixo está correto; qualquer usuário pode receber acesso de consulta à exibição, quando conectado à instância regular do banco de dados Oracle.
@BalazPapp respondeu à pergunta em seu comentário.
Quando eu conecto com "sqlplus / ..." , parece ignorar o listener... Então, ele cria o processo do servidor sob algum outro usuário (estou chamando o sqlplus com o root).
Além disso, fiz outro teste: testando com o proprietário da instância do banco de dados oracle, tudo funciona bem. O dono do oráculo está nos mesmos grupos que o dono da grade.
você precisa definir a string de pesquisa no ASM.
Se isso não for feito, a visualização gv$asm_diskgroup ficará vazia.
Amanhã de manhã, com a cabeça mais clara e uma área de trabalho para fornecer comandos exatos, editarei e estenderei esta resposta.