No EBS 12.2 foram adicionadas muitas novidades, entre elas a utilização do Edition Bases Redefinition(EBR) no Banco de Dados. O EBR faz com que o EBS trabalhe com versões de objetos no banco facilitando a aplicação de patchs online.
Contudo, o EBR tem alguns pontos negativos. Um deles é na hora de executar um grant em um objeto em que esteja ativado o EBR, se o objeto estiver em utilização na hora do grant , vai invalidar o objeto e todos os objetos dependentes. Para esse problema não acontecer a Oracle sugere algumas opções:
1- Executar o Grant com o EBS parado.
2- O EBS pode estar no modo prepare.
3-O Grant pode ser liberado com a API AD_ZD.grant_privs.
Ex:
Liberando um grant de select:
exec AD_ZD.grant_privs('SELECT', 'FND_RESPONSIBILITY', 'MSC',X_GRANT_TO_TABLE=>TRUE);
executando o revoke do grant:
exec AD_ZD.revoke_privs('SELECT','FND_RESPONSIBILITY','MSC');
Referência:
Granting Privileges On An Object May Cause Invalidations (Doc ID 1987947.1)