문서유형ㅣ기술정보
분야ㅣ관리/환경설정
적용제품버전ㅣ7FS02PS
문서번호ㅣTADTI092
개요
Tibero에서는 AUDIT 기능을 통해 지정된 객체에 대해 DML(SELECT, INSERT, UPDATE, DELETE) 문장과 DCL(GRANT, REVOKE) 문장을 감사할 수 있습니다.
단, 객체 소유자(owner) 가 자신의 객체에 대해 DML 또는 DCL을 수행하는 경우에는 기본적으로 감사 로그가 남지 않습니다. 이러한 경우, _DDL_AUDIT_OWN_OBJ 파라미터를 활성화하면 객체 소유자가 자신의 객체에 수행한 DML/DCL 작업도 감사할 수 있습니다.
본 문서는 해당 파라미터를 이용하여 객체 소유자에 의한 작업까지 감사하도록 설정하는 방법을 안내합니다.
방법
감사 대상이 되는 객체는 Table, View, Sequence, Package, Function 등이 있습니다.
_DDL_AUDIT_OWN_OBJ 파라미터는 hidden parameter 의 옵션을 바꿔주어 남길 수 있으며, 동적 파라미터 이기 때문에 운영 중에도 설정이 가능합니다.
파라미터 조회 방법
SQL> col NAME for a20 col DFLT_VALUE for a5 col VALUE for a5 col IS_DYNAMIC for 999999999 col IS_HIDDEN for 999999999 select NAME, DFLT_VALUE, VALUE, IS_DYNAMIC, IS_HIDDEN from vt_parameter where name='_DDL_AUDIT_OWN_OBJ'; NAME DFLT_ VALUE IS_DYNAMIC IS_HIDDEN -------------------- ----- ----- ---------- ---------- _DDL_AUDIT_OWN_OBJ NO YES 1 1
1. 테스트 유저 및 테이블 생성
예제를 수행할 테스트 유저 및 테이블을 생성해 줍니다.
SQL> create user TIBERO_TEST identified by 'TIBERO_TEST';
User 'TIBERO_TEST' created.
SQL> grant connect, resource to TIBERO_TEST;
Granted
SQL> conn TIBERO_TEST/TIBERO_TEST
Connected to Tibero.
SQL> create table T1 (col1 number, col2 varchar(100));
Table 'T1' created.
2. DB에 AUDIT 설정 (OS로 설정)
AUDIT 설정 파라미터 확인 및 AUDIT 로그 설정 파라미터를 설정합니다.
AUDIT_TRAIL 파라미터 설정에 따라 데이터베이스 내부 또는 OS 파일에 저장할 수 있습니다.
(해당 예제는 OS 로 설정)
SQL> show param AUDIT
NAME TYPE VALUE
----------------------------------------------------- -------- ----------------------------------------------------
AUDIT_FILE_DEST DIRNAME /home/t723/tibero7/instance/t723/audit/
AUDIT_FILE_SIZE INT32 104857600
AUDIT_LOG_TOTAL_SIZE_LIMIT INT64 314572800
AUDIT_SYS_OPERATIONS Y_N NO
AUDIT_TRAIL STRING NONE
SQL> conn sys
SQL> alter system set AUDIT_TRAIL=OS;
System altered.
SQL> show param AUDIT
NAME TYPE VALUE
----------------------------------------------------- -------- ----------------------------------------------------
AUDIT_FILE_DEST DIRNAME /home/t723/tibero7/instance/t723/audit/
AUDIT_FILE_SIZE INT32 104857600
AUDIT_LOG_TOTAL_SIZE_LIMIT INT64 314572800
AUDIT_SYS_OPERATIONS Y_N NO
AUDIT_TRAIL STRING OS
3. 유저의 테이블 AUDIT 설정
감사하고자 하는 대상 오브젝트에 AUDIT 설정을 해줍니다.
SQL> AUDIT insert on TIBERO_TEST.T1 by access;
Audited.
4. _DDL_AUDIT_OWN_OBJ=N 설정 후, INSERT 수행
AUDIT 로그를 남기는 파라미터인 _DDL_AUDIT_OWN_OBJ 파라미터 설정을 N 으로 설정 후 감사 대상 테이블에 INSERT 수행을 해봅니다.
SQL> conn TIBERO_TEST/TIBERO_TEST
Connected to Tibero.
SQL> insert into T1 values(100, 'TIBERO');
1 row inserted.
SQL> !cat /home/t723/tibero7/instance/t723/audit/audit.log // AUDIT 로그 남지 않음
5. _DDL_AUDIT_OWN_OBJ=Y 설정 후, INSERT 수행
INSERT 로깅이 되었음을 Audit.log 에서 확인할 수 있습니다.
SQL> conn sys
SQL> alter system set _DDL_AUDIT_OWN_OBJ=Y;
System altered.
SQL> conn TIBERO_TEST/TIBERO_TEST
Connected to Tibero.
SQL> insert into TIBERO_TEST.T1 values (200,'TMAX'); 1 row inserted.
SQL> !cat /home/t723/tibero7/instance/t723/audit/audit.log // 로그 기록됨
2025/10/16 15:57:01.050 96 SESS_ID:[96] SERIAL_NO:[62203] AUD_NO:[1] STMT_ID:[242122] USER_NAME:[TIBERO_TEST] USER_HOST:[127.0.0.1] OS_USER:[t723] CLIENT_ID:[] PRIV_NO:[3] ACTION:[S] OBJ_OWNER:[TIBERO_TEST] OBJ_NAME:[T1]USGMT_ID:[8] SLOTNO:[48] WRAPNO:[161] TSN:[477329] PID:[5536] SQLTEXT:[insert into TIBERO_TEST.T1 values (200,'TMAX')]
SYS 사용자의 경우는 보안 상의 이유로 다른 사용자의 명령과는 다른 방식으로 감사됩니다.
- SYS 사용자는 기본적으로 감사의 대상에서 제외되기 때문에 AUDIT 또는 NOAUDIT 명령을 사용해 감사를 설정 또는 해제할 수 없습니다.
- SYS 사용자의 명령을 감사하기 위해서는 $TB_SID.tip 파일의 AUDIT_SYS_OPERATIONS 파라미터를 'Y'로 설정해야 하며, SYS 사용자의 명령을 감사하도록 설정하면 수행한 모든 동작이 OS 파일에 기록되며 보안상의 이유로 데이터베이스에는 기록되지 않습니다.