1
resposta

privilégios das tabelas de um usuário para o outro

boa tarde!

criei as tabelas e concedi os privilégios para outro usuário, porém, ao conectar com o outro usuário retorna a mensagem “ORA-00942: a tabela ou view não existe”

Fiz isso por duas vias comando e pelo filtro de tabelas mas não deu certo

1 resposta

Oi Thiago!

Desculpe por demorar a te responder.

Uma possível causa para o erro ORA-00942 ter ocorrido ao acesso do novo usuário é que os privilégios concedidos não estão sendo aplicados corretamente. Você pode confirmar se o novo usuário recebeu todos os privilégios necessários corretamente com o seguinte comando:

SELECT *
FROM dba_tab_privs
WHERE grantee = 'NOME_DO_USUARIO';

Outra possibilidade é que o usuário que recebeu os privilégios esteja tentando acessar as tabelas em um schema diferente daquele em que as tabelas foram criadas. Nesse caso, é necessário especificar o nome do schema antes do nome da tabela ao fazer a consulta.

Para verificar o nome do esquema em que estão as tabelas, use essa consulta:

SELECT SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA') AS SCHEMA_NAME FROM DUAL;

E, para alterar o esquema atual:

ALTER SESSION SET CURRENT_SCHEMA = MEU_ESQUEMA;

Lembre-se de alterar o nome MEU_ESQUEMA para o nome do esquema em que estão as tabelas.

Espero ter ajudado, Thiago. Um abraço.