Lý do tại sao nó hoạt động theo SYS đó là tài khoản đặc quyền. Bạn cần tạo một thông tin đăng nhập mới và ánh xạ nó tới công việc
Giải pháp sẽ là tạo thông tin đăng nhập với DBMS_SCHEDULER.CREATE_CREDENTIAL cùng với tài khoản OS có đủ đặc quyền và chỉ định thông tin đăng nhập mới này cho công việc của bạn.
Thành thật mà nói thì tôi chưa biết về vấn đề kích hoạt.
Chỉnh sửa - giải pháp dựa trên cơ sở giao dịch con của Oracle
Sau khi cập nhật OP và phản hồi các nhận xét:
Dựa trên quy trình làm việc, tôi nghĩ tốt hơn nên sử dụng thông báo nội bộ của Oracle để thực hiện phản hồi kiểm toán. Tôi nghĩ rằng việc cố gắng tự xâm nhập vào nhật ký sự kiện của Windows thông qua ứng dụng bên ngoài đang mang lại một lớp phức tạp không cần thiết khác.
Tôi sẽ tạo một bảng trong DB nơi tôi sẽ lưu trữ tất cả các sự kiện và trên đầu bảng đó, tôi sẽ tạo một Công việc với các thông báo (SMS, mail, v.v.) sẽ được chạy nếu có bất kỳ thay đổi nào đối với bảng nhật ký.
Để sử dụng trình kích hoạt khi xảy ra lỗi, bạn nên sử dụng PRAGMA autonomous_transaction
từ phạm vi chính của bạn (cho phép bạn thực hiện một giao dịch phụ). Điều này sẽ cho phép bạn cam kết bất kỳ DML
nào bạn có thể có, nhưng hãy khôi phục phần còn lại.