Tecnologia > Ferramentas de Apoio > Bancos de Dados > Oracle > Permissões do Oracle necessárias para os sistemas Senior

Permissões do Oracle necessárias para os sistemas Senior

Quando um usuário é criado no Oracle através da opção Criar Usuário do Banco do CBDS, são atribuídos para esse usuário os seguintes privilégios:

Porém, não existe a necessidade de ter todos esses privilégios sendo que o administrador do banco de dados poderá alterar essa configuração.

Por motivos de segurança podem existir cenários em que é necessário criar dois usuários no banco de dados, um usuário proprietário da base que é utilizado para manutenção e personalização da base de dados (instalação, atualização, consistência, entre outros) e um usuário para operação do sistema que é utilizado apenas para operar o sistema. O usuário proprietário da base é o usuário criador dos objetos da base porém não pode ser o DBA do banco.

Privilégios Usuário Proprietário Usuário Operacional
CREATE TRIGGER Necessita Não necessita
CREATE SEQUENCE Necessita Necessita
CREATE PROCEDURE Necessita Não necessita
CREATE TABLE Necessita Necessita**
CREATE SESSION Necessita Necessita
CREATE VIEW Necessita Necessita*
UNLIMITED TABLESPACE Necessita Necessita
EXECUTE ANY PROCEDURE Necessita Não necessita
SELECT ANY TABLE Necessita Não necessita
ALTER SYSTEM Necessita Não necessita
MANAGE TABLESPACE Necessita Não necessita
SELECT ANY DICTIONARY Necessita Não necessita
SELECT, INSERT, UPDATE, DELETE para todas as tabelas existentes no TBS Necessita Necessita
REFERENCES,  ALTER, INDEX para todas as tabelas existentes no TBS Necessita Não necessita
EXECUTE, apenas para Stored as Procedures Necessita Necessita

Tabela de permissões

* CREATE VIEW é necessário em situações que se utiliza a função CriaView na LSP (Linguagem Senior de Programação).

** CREATE TABLE é necessário devido às rotinas dos sistemas que passaram a fazer uso de criação de tabelas temporárias.

Importante

Para que este cenário funcione é necessário que seja criado um SYNONYM PUBLIC para cada objeto existente no TBS. Os objetos são:

É necessário que sejam mantidas as permissões de SELECT, para o usuário proprietário da base, para os objetos relacionados a seguir:

Tabelas/views usadas em conversão, atualização, consistência, instalação.

Tabelas/views usadas em Engenharia reversa.

É necessário apenas permissão de SELECT de acesso para os objetos abaixo, tanto para usuário de operação de sistema quanto para usuário proprietário da base:

Padrão (são usadas para qualquer conexão)

Controle de Conexões

Observação

Para os sistemas Gestão Empresarial | ERP e Gestão de Pessoas | HCM, as variáveis de controle de conexões são:

Stored procedures do Oracle usadas por algumas stored procedures da Senior.

Deve aplicar apenas permissões de EXECUTE, tanto para usuário de operação de sistema quanto para usuário proprietário da base:

Além disso é necessário ter o privilégio "QUERY REWRITE" quando utilizar o recurso Linguagem para ordenação.

Controle de conexões

Para o correto funcionamento do sistema no que tange o controle de conexões, é obrigatório que a permissão GRANT SELECT ANY TABLE tenha sido dada para o usuário do banco de dados configurado na Central de Configuração Senior (SeniorConfigCenter).

Para conceder a permissão, deve-se executar o seguinte comando:

GRANT SELECT ANY TABLE TO [usuario do banco]

Importante

A configuração inadequada da permissão GRANT SELECT ANY TABLE poderá acarretar inconsistências nos registros das tabelas Controle de Conexões (R911SEC) e Controle de Usuário (R911MOD). Para maiores informações sobre essas inconsistências, acesse o artigo TECNOLOGIA - Controle de Sessões - Inconsistências no registro de dados nas tabelas R911SEC/R911MOD (Sem gravar dados, Update em sessão existente, Campo R911SEC.DatTim não é alimentado) da base de Conhecimento do Suporte.

Este artigo ajudou você?