quarta-feira, 10 de setembro de 2014

SELECT não retorna dados | Apenas se tiver logado como SYS

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.