더북(TheBook)
① DBMS_APPLICATION_INFO

주로 프로시저 시작지점에서 사용하며 프로시저가 수행되는 동안 세션 정보에 해당 프로시저 정보를 등록하는 역할을 한다. 즉 프로시저를 등록해 놓으면 이 프로시저가 수행될 때 V\$SESSION, V\$SQLAREA 같은 시스템 뷰를 통해 이 프로시저 내에서 수행되는 SQL문을 모니터링 할 수 있다. 만약 해당 프로시저 수행 시간이 길어지면 어떤 SQL문에서 지연되는지 파악이 가능하며 지연이 발생하는 SQL문에 대해 적절한 조치(튜닝)를 취할 수 있는 것이다. 따라서 이 시스템 패키지는 개발자 입장에서는 유용하지는 않지만 시스템 모니터링 측면에서는 중요한 역할을 하므로 반드시 프로시저를 작성할 때 사용하자.

이 패키지에서 주로 사용하는 서브 프로그램은 SET_MODULE 프로시저다.

    DBMS_APPLICATION_INFO.SET_MODULE ( module_name IN VARCHAR2,
                                       action_name IN VARCHAR2)

module_name: 패키지나 프로시저명을 명시

action_name: 세부적인 동작 유형을 명시하는데, 보통은 NULL을 명시

SET_MODULE 프로시저는 보통 프로시저 시작 부분에 한 번 실행하고 프로시저 종료시점과 예외처리부에서 다시 실행하는데, 종료 시점과 예외 처리부에서는 두 개의 매개변수에 모두 NULL을 입력한다. 이렇게 해야 프로시저가 정상 종료되거나 예외가 발생했을 때 해당 프로시저가 세션 정보에서 빠지게 된다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.