Fala galera, faz tempo que não posto artigos técnicos. O tempo está bem curto.
Quero compartilhar com vocês, algo que aconteceu hoje comigo.
O cliente reportou que o SELECT de uma tabela que ele era OWNER não estava retornando dados.
Quando ele logava como SYS, o SELECT retornava informações.
Conversei com um amigo, o Felipe. Ele é expert em Segurança de Banco de dados Oracle.
E me explicou um recurso que o Oracle tem sobre Política de Acesso.
Pesquisem no material da Oracle sobre isso. Vou ser bem prático aqui.
Acontece que existia uma política de acesso à tabela. E só o owner SYS podia fazer SELECT nela.
Na verdade, o SYS podia e também quem tinha o privilégio EXEMPT ACCESS POLICY.
Sendo assim, bastou dar grant EXEMPT ACCESS POLICY to <TABLE_OWNER> e pronto.
Problema resolvido.
Espero ter sido útil.