(jaar oude vraag maar aangezien ik het tegenkwam, ga ik verder en beantwoord het voor iemand anders...)
ORA-28113 betekent alleen dat wanneer uw beleidsfunctie een waar-clausule retourneerde, de resulterende SQL een fout bevatte. U kunt details krijgen door naar het traceerbestand te kijken. Probeer ook:
select Select_Nhanvien('myschema','mytable') from dual;
En voeg dan de resultaten toe aan een WHERE-component zoals deze:
SELECT * FROM MYTABLE WHERE <results from above>;
En dan zou je de oorzaak moeten zien. Ik vermoed dat in het bovenstaande geval de 'andere gebruiker' niet de sys_context-variabelen had die nodig waren om de waar-clausule te bouwen, of toegang had tot de login-trigger.
Terzijde:een ander probleem dat u hier kunt tegenkomen, is kringverwijzing wanneer uw beleidsfunctie naar zijn eigen tabel verwijst - idealiter zou ik verwachten dat een beleidsfunctie zichzelf zou omzeilen binnen de beleidsfunctie, zodat u NIET kunt BESTAAN, enz. maar dat doet het niet' lijkt niet zo te werken.