개요
Logon Trigger는 IP, 사용자명(USERNAME) 등 특정 조건에 따라 데이터베이스 접속을 제한하는 기능입니다.
S1419 버전부터 SYS 계정을 제외한 다른 계정에도 해당 트리거가 동작하도록 개선되었습니다.
해당 기능을 사용하기 위해서는 tip 파일에 파라미터를 설정하거나 SQL 명령으로 적용해야 합니다.
필요 설정
•
tip 파일에 _DDL_TRIGGER_ENABLE=Y 추가
•
또는 SQL에서 다음 명령 실행
alter system set _ddl_trigger_enable=y;
SQL
복사
방법
Logon Trigger 생성 예제
SQL> alter system set _ddl_trigger_enable=y;
System altered.
SQL> create or replace trigger valid_user
2 after logon on database
3 begin
4 if SYS_CONTEXT('USERENV','SESSION_USER') not in ('TEST')
5 then
6 raise_application_error (-20001,'Login not allowed from this USER');
7 end if;
8 end;
9 /
Trigger 'VALID_USER' created.
SQL
복사
동작 예시
•
SYS 계정 접속 가능
SQL> exit
Disconnected.
ora11g@tbr5:/home/tbr5 $ tbsql sys/tibero
tbSQL 5
TmaxData Corporation Copyright (c) 2008-. All rights reserved.
Connected to Tibero.
SQL
복사
•
TEST 계정 접속 가능
SQL> exit
Disconnected.
ora11g@tbr5:/home/tbr5 $ tbsql test/test
tbSQL 5
TmaxData Corporation Copyright (c) 2008-. All rights reserved.
Connected to Tibero.
SQL
복사
•
기타 계정 접속 시 오류 발생
SQL> exit
Disconnected.
ora11g@tbr5:/home/tbr5 $ tbsql tibero/tmax
tbSQL 5
TmaxData Corporation Copyright (c) 2008-. All rights reserved.
TBR-7440: The user defined error is called.
TBR-20001: Login not allowed from this USER.
TBR-15163: Unhandled exception at SYS.VALID_USER, line 6.
SQL
복사