4864 - Falta de privilégio para criar views e sinonyms ao rodar script spacesso.sq
Problema: Ao executar o script spacesso.sql para dar permissões no usuário Senior para as tabelas da Telemática, ocorre a mensagem abaixo, informando que não há privilégio para criar views e sinonyms:
Create synonym NOME_SINONIMO for TELEMAT.NOMESINONIMO
ERRO na linha 1:
ORA01031: Privilégios Insuficientes
ou então:
Procedure Acesso_Release foi criada inválida no banco de dados
Procedure Acesso_Request foi criada inválida no banco de dados
Procedure ACREQREL foi criada inválida no banco de dados
Procedure SP_ColDam foi criada inválida no banco de dados
Quando ocorre / onde se aplica: Ao rodar o script spacesso.sql no sqlplus
Solução: É necessário conceder permissão para criar views e sinonyms e executar dbms. Para isso, a forma de conexão nesses casos deve ser diferente. Segue abaixo a forma:
Conectar com o usuário sys para dar permissões dbms para o usuário, após conectar na base da Senior: conn sys/senha@XE as sysdba
Ps.: Onde XE é a string de conexão do Oracle.
Após conectar, os comandos abaixo deverão ser executados com sucesso:
grant execute on dbms_sql to nomedabase;
grant execute on dbms_lock to nomedabase;
grant create view to nomedabase;
grant create synonym to nomedabase;
* Substituir o nomedabase pelo nome da base Senior.
Create synonym NOME_SINONIMO for TELEMAT.NOMESINONIMO
ERRO na linha 1:
ORA01031: Privilégios Insuficientes
ou então:
Procedure Acesso_Release foi criada inválida no banco de dados
Procedure Acesso_Request foi criada inválida no banco de dados
Procedure ACREQREL foi criada inválida no banco de dados
Procedure SP_ColDam foi criada inválida no banco de dados
Quando ocorre / onde se aplica: Ao rodar o script spacesso.sql no sqlplus
Solução: É necessário conceder permissão para criar views e sinonyms e executar dbms. Para isso, a forma de conexão nesses casos deve ser diferente. Segue abaixo a forma:
Conectar com o usuário sys para dar permissões dbms para o usuário, após conectar na base da Senior: conn sys/senha@XE as sysdba
Ps.: Onde XE é a string de conexão do Oracle.
Após conectar, os comandos abaixo deverão ser executados com sucesso:
grant execute on dbms_sql to nomedabase;
grant execute on dbms_lock to nomedabase;
grant create view to nomedabase;
grant create synonym to nomedabase;
* Substituir o nomedabase pelo nome da base Senior.