2017-11-22 15 views
0

비교적 새로운 통합 감사 로깅 환경을 사용하여 Oracle 12c 데이터베이스에서 특정 세션 사용자가 실행하는 모든 작업/명령문을 기록하려고 시도합니다.Oracle 12c에서 세션 사용자의 통합 감사에 로그 기록

CREATE AUDIT POLICY log_test 
ACTIONS ALL 
WHEN 'SYS_CONTEXT(''USERENV'', ''SESSION_USER'') = ''JOSTEIN''' 
EVALUATE PER SESSION; 

이 문을 실행 로그 않지만, 그것은 또한 세션 사용자가 명시 적으로 실행되지 않은 기타 문의 많은 로그 :

감사 정책은 다음과 같이 정의된다.

WHEN 절에 대해서만 명시 적 명령문을 포함 할 수 있습니까?

답변

0

먼저 확인 통합 감사가 활성화되어 있는지 확인하십시오

select * from v$option where PARAMETER = 'Unified Auditing'; 

귀하는 그 후 사용자 만 JOSTEIN

감사 감사 정책

audit policy log_test; 
를 사용하도록 설정해야합니다 그래서 문, 올바른 감사 정책을 만들

아래와 같이 감사 정책 옵션을 볼 수 있습니다.

col audit_option format A20 
col policy_name format A18 
select POLICY_NAME, AUDIT_OPTION, CONDITION_EVAL_OPT 
from AUDIT_UNIFIED_POLICIES 
where POLICY_NAME ='LOG_TEST'; 

은 감사 정책은 사용자가

col action_name format A16 
col policy_name format A18 
col system_privilege_used format A20 
select DBUSERNAME, ACTION_NAME, SYSTEM_PRIVILEGE_USED 
from unified_audit_trail 
where DBUSERNAME = 'JOSTEIN'; 

이 그 특정 사용자의 여러분 감사 결과를 제공해야 사용하여 감사 데이터를 확인 할 수있는 감사 작업을 수행 한 후

col user_name format A10 
col policy_name format A18 
select POLICY_NAME, ENABLED_OPT, USER_NAME, SUCCESS, FAILURE 
from AUDIT_UNIFIED_ENABLED_POLICIES 
where POLICY_NAME ='LOG_TEST'; 

를 사용할 수 있는지 확인합니다. 당신은 아래 링크

http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/12c/r1/security/sec_uni_audit/sec_uni_audit.html

를 사용하여 동일한에서 더 볼 수 있습니다