(въпрос от преди година, но тъй като случайно попаднах на него, ще продължа и ще отговоря вместо всеки друг...)
ORA-28113 просто означава, че когато вашата функция на правилата е върнала клауза where, полученият SQL е имал някаква грешка. Можете да получите подробности, като разгледате файла за проследяване. Също така опитайте:
select Select_Nhanvien('myschema','mytable') from dual;
И след това добавете резултатите към клауза WHERE по следния начин:
SELECT * FROM MYTABLE WHERE <results from above>;
И тогава трябва да видите първопричината. Предполагам, че в случая по-горе „другият потребител“ не е имал нито променливите sys_context, необходими за изграждане на клаузата where, нито достъп до тригера за влизане.
Като странична бележка, друг проблем, с който можете да се сблъскате тук, е кръговата препратка, когато вашата функция на политика препраща към собствена таблица - в идеалния случай бих очаквал функция на политика да заобиколи себе си в рамките на функцията на политика, така че можете да НЕ СЪЩЕСТВУВА и т.н., но това не е изглежда, че работи по този начин.