Oracle 12c 如何审计指定用户的指定存储过程
Oracle 12c How to audit specified Stored procedure for specified User
我想审核特定用户的特定程序。
例如,我有一个存储过程 prc_user_error 并且我有一个名为 Ktd 的用户。
当 Ktd 用户执行 prc_user_error 程序时应该被审计。
我不会使用触发器。细粒度审计也不能用于执行。
你能帮帮我吗?
谢谢,
IDK 你想如何审计它,但假设要插入一条记录到一些 table:
create table myAudit( auditTime TIMESTAMP, auditUser VARCHAR2(30));
程序中:
insert into myAudit values (SYSTIMESTAMP, SYS_CONTEXT ('USERENV','SESSION_USER') );
如何像这样设置您的程序并测试名称并退出而不在您的程序中执行任何操作。如果编码正确,那么在我的示例中应该不会打印任何内容
create or replace procedure sp as
v_user varchar2(32) := SYS_CONTEXT( 'USERENV', 'SESSION_USER' );
begin dbms_output.put_line(v_user);
end;
/
begin
sp;
end;
我想审核特定用户的特定程序。 例如,我有一个存储过程 prc_user_error 并且我有一个名为 Ktd 的用户。 当 Ktd 用户执行 prc_user_error 程序时应该被审计。
我不会使用触发器。细粒度审计也不能用于执行。 你能帮帮我吗?
谢谢,
IDK 你想如何审计它,但假设要插入一条记录到一些 table:
create table myAudit( auditTime TIMESTAMP, auditUser VARCHAR2(30));
程序中:
insert into myAudit values (SYSTIMESTAMP, SYS_CONTEXT ('USERENV','SESSION_USER') );
如何像这样设置您的程序并测试名称并退出而不在您的程序中执行任何操作。如果编码正确,那么在我的示例中应该不会打印任何内容
create or replace procedure sp as
v_user varchar2(32) := SYS_CONTEXT( 'USERENV', 'SESSION_USER' );
begin dbms_output.put_line(v_user);
end;
/
begin
sp;
end;