Fevereiro 16, 2022

como encontrar usuários com função DBA no Oracle

a função DBA padrão é criada automaticamente durante a instalação do banco de Dados Oracle. Esta função contém a maioria dos privilégios do sistema de banco de dados. Portanto, a função DBA deve ser concedida apenas aos administradores reais do banco de dados. Se você quiser saber quais usuários receberam a função dba, precisará consultar o dba_role_privs no esquema SYS.

 USERS_HAVING_DBA_ROLES

a função DBA não inclui os privilégios do sistema SYSDBA ou SYSOPER. Esses são privilégios administrativos especiais que permitem que um administrador execute tarefas básicas de administração de banco de dados, como criar o banco de dados e a inicialização e desligamento da instância.

Esta função informa-o beneficiário, granted_role, se eles têm admin opção concedida, e, se o papel é o seu padrão de papel:

DBA_ROLE_PRIVS descreve as funções concedido para todos os usuários e funções no banco de dados.

USER_ROLE_PRIVS descreve as funções concedidas ao usuário atual.

SQL > desc dba_role_privs
nome nulo? Tipo
—- — —-
BENEFICIÁRIO VARCHAR2(30)
GRANTED_ROLE not NULL VARCHAR2(30)
ADMIN_OPTION VARCHAR2(3)
DEFAULT_ROLE VARCHAR2(3)

BENEFICIÁRIO: Nome do usuário ou função que recebe a subvenção
——
GRANTED_ROLE: Concedida nome da função
———
ADMIN_OPTION: Indica se a bolsa foi com o ADMIN OPÇÃO (SIM) ou(não)
———
DEFAULT_ROLE: Indica se a função é designada como uma FUNÇÃO PADRÃO para o usuário (SIM) ou (não)

Usando query, você pode encontrar usuários com privilégios de DBA

SQL> select * from dba_role_privs where granted_role='DBA';
GRANTEE GRANTED_ROLE ADM DEF
--------- ------------ --- ---
SYS DBA YES YES
SYSTEM DBA YES YES

Há muitas situações onde você queria revogar o DBA funções concedido ao utilizador por motivos de segurança. A consulta acima ajudará você a encontrar os usuários com privilégios DBA.

Deixe uma resposta

O seu endereço de email não será publicado.