(câu hỏi cũ nhưng vì tôi tình cờ gặp nó nên tôi sẽ tiếp tục và trả lời nó cho bất kỳ ai khác ...)
ORA-28113 chỉ có nghĩa là khi hàm chính sách của bạn trả về mệnh đề where, kết quả là SQL có một số lỗi. Bạn có thể biết thông tin chi tiết bằng cách xem tệp theo dõi. Ngoài ra, hãy thử:
select Select_Nhanvien('myschema','mytable') from dual;
Và sau đó nối kết quả vào mệnh đề WHERE như sau:
SELECT * FROM MYTABLE WHERE <results from above>;
Và sau đó bạn nên xem nguyên nhân gốc rễ. Tôi đoán trong trường hợp ở trên 'người dùng khác' không có các biến sys_context cần thiết để tạo mệnh đề where hoặc quyền truy cập vào trình kích hoạt đăng nhập.
Lưu ý thêm, một vấn đề khác mà bạn có thể gặp phải ở đây là tham chiếu vòng tròn khi hàm chính sách của bạn tham chiếu đến bảng của chính nó - lý tưởng là tôi mong đợi một hàm chính sách tự bỏ qua trong hàm chính sách để bạn có thể KHÔNG TỒN TẠI, v.v. nhưng nó không ' dường như không hoạt động theo cách đó.