Existem várias maneiras de encontrar privilégios de usuário no Oracle, dependendo do nível de detalhe necessário e se você está analisando usuários específicos ou em todo o sistema. Aqui estão alguns métodos comuns:  
 1. Usando as visualizações `dba_sys_privs` e` dba_tab_privs`:   Essas visualizações de dicionário de dados fornecem informações abrangentes sobre os privilégios de sistema e objetos concedidos aos usuários. `Dba_sys_privs` mostra privilégios do sistema (por exemplo,` create tabela`, `Create Session`), enquanto` dba_tab_privs` mostra privilégios de objeto (por exemplo, 'select`, `insert`,` atualização' em tabelas específicas).  
 * 
 para privilégios do sistema:   `` `SQL 
 Selecione * de dba_sys_privs onde o donatário ='nome de usuário'; 
 `` ` 
 Substitua o 'nome de usuário` pelo nome de usuário real.  
 * 
 Para privilégios de objeto:   `` `SQL 
 Selecione * de dba_tab_privs onde o donatário ='nome de usuário'; 
 `` ` 
 Substitua o 'nome de usuário` pelo nome de usuário real. Isso mostrará todos os privilégios em todas as tabelas. Você pode refinar esta consulta para olhar para tabelas específicas: 
 `` `SQL 
 Selecione * de dba_tab_privs onde o donatário ='nome de usuário' e tabela_name ='tabela_name'; 
 `` ` 
 Substitua `tabela_name` pelo nome da tabela.    
 2. Usando as visualizações `all_sys_privs` e` all_tab_privs`:   Essas visualizações fornecem informações sobre os privilégios que um usuário * tem * diretamente ou indiretamente através de funções. Isso é útil para um usuário verificando seus próprios privilégios. Se você se conectar como usuário, poderá usar estas visões: 
 * 
 para privilégios do sistema:   `` `SQL 
 Selecione * de all_sys_privs; 
 `` `  
 * 
 Para privilégios de objeto:   `` `SQL 
 Selecione * de all_tab_privs; 
 `` `  
 Você também pode filtrar o nome de usuário como as visualizações `dba_`.    
 3. Usando as visualizações `user_sys_privs` e` user_tab_privs`:   Essas visualizações mostram apenas os privilégios diretamente concedidos ao usuário conectado. Eles não mostram privilégios concedidos através de papéis. Útil para um usuário vendo apenas seus próprios privilégios diretos.  
 * 
 para privilégios do sistema:   `` `SQL 
 Selecione * de user_sys_privs; 
 `` `  
 * 
 Para privilégios de objeto:   `` `SQL 
 Selecione * de user_tab_privs; 
 `` `    
 4. Usando a coluna `função` nas visualizações anteriores:   A coluna `função` em` dba_sys_privs`, `dba_tab_privs`,` all_sys_privs`, `all_tab_privs` indica se o privilégio é concedido diretamente ou através de uma função. Se for concedido por meio de uma função, você precisará investigar os privilégios concedidos a esse papel. Você pode encontrar informações sobre funções usando as visualizações `dba_roles`,` all_roles` ou `user_roles`, dependendo do seu nível de acesso.    
 5. Usando `show user`:   Este comando (no SQL*plus ou no desenvolvedor SQL) mostrará o usuário atualmente conectado. Isso não está mostrando diretamente privilégios, mas é um ponto de partida usar as visualizações acima.    
 Considerações importantes:   * 
 Funções de banco de dados: Os usuários geralmente recebem privilégios indiretamente por meio de funções. Você precisa examinar as funções a que um usuário pertence e os privilégios que essas funções têm. Isso requer a consulta das visualizações `dba_roles`,` all_roles` ou `user_roles`. 
 * 
 privilegia em cascata através de funções: As funções podem conceder privilégios a outras funções. Isso pode criar estruturas complexas de privilégio. 
 * 
 Níveis de acesso: Você precisa dos privilégios apropriados (por exemplo, `Selecione qualquer dicionário) para consultar as visualizações de dicionário de dados. Os visualizações `dba_` geralmente exigem a função` dba`.   
 Lembre -se de substituir o nome de usuário e o nome da tabela em que você está interessado. Sempre execute essas consultas com cautela, especialmente aquelas que usam as visualizações `dba_`, pois elas fornecem acesso a informações confidenciais.