/* 교재 환경에서는 파라미터명이 TRACE_LEVEL, TRACE_DIRECTORY였는데, 실습환경(19c)에서는 파라미터명이 TRC_LEVEL, TRC_DIRECTORY로 바뀐 것을 확인할 수 있다. */
/* 로그 파일과 트레이스 파일을 한번에 관리하는 오라클의 ADR 기술이 도입됨에 따라, TRACE_DIRECTORY_listener_name, TRACE_FILELEN_listener_name, TRACE_FILENO_listener_name 파라미터는 사용할 수 없게 되었다. */
/* TRACE_LEVEL_listener_name - 네트워크 트레이싱 레벨을 정의하는 파라미터이다.
- off: 트레이싱을 전혀 하지 않는다.
- user: 유저가 원인이 되는 에러 상황일때만 트레이스를 수집한다.
- admin: 특정한 문제들을 식별하기 위해 트레이스를 수집한다.
- support: Oracle Support에 문제 상황의 트레이스를 전송한다. */
/* TRACE_DIRECTORY_listener_name - 트레이스 파일의 디렉토리를 정희하는 파라미터이다. default 값은 $ORACLE_HOME/network/trace(19c 기준) 이하이다. */
/* TRACE_FILELEN_listener_name - 하나의 트레이스 파일 공간에 몇 kb을 사용할 지 정의한다. 용량이 모두 사용되었을 때, 트레이스 정보는 다음 파일에 작성된다. */
/* TRACE_FILENO_listener_name - 특정한 listener에 트레이스 파일을 몇 개까지 사용할 수 있는지 정의한다. */
/* 특정 리스너의 네트워크 트레이스같은 파라미터를 확인하는 법 */

$ lsnrctl
/* 전체 파라미터 리스트 확인 */
show
show trc_file
show trc_level
난이도: ★☆☆☆☆
문제 1: TRACE_LEVEL, TRACE_DIRECTORY 파라미터를 이용하여 네트워크 트레이싱을 기동시키고 작동하는지 확인하여라 (5분)
1. lsnrctl에서 TRC_LEVEL을 활성화하고, TRC_DIRECTORY 파라미터를 바꾼다.
/* trc_directory 파라미터 변경 시도에서는 오류가 발생했는데, 오라클에서는 ADR(Auto Diagnostic Repository)로 오류 로그 및 트레이스 정보를 통합적으로 관리하기 때문이다. */

$ lsnrctl
show trc_level
show trc_directory
/* 네트워크 트레이스 활성화 */
set trc_level admin
2. trc_directory로 이동해서 트레이스 파일이 생성되었는지 확인한다.

$ cd /u01/app/oracle/diag/tnslsnr/ocm/listener/trace
$ ls -lrth
/* 가장 최근에 생성된 트레이스 파일 확인 */
tail -f ora_42957_139996362267712.trc
난이도: ☆☆☆☆☆
문제 2: TRACE_FILELEN, TRACE_FILENO 파라미터를 바꾸고 이를 확인해라. (5분)

이처럼 listener.ora 파일에 각각 TRACE_FILELEN_(리스너명), TRACE_FILENO_(리스너명) 파라미터를 등록하면 된다. 상술했듯이, ADR 환경에선 이 파라미터가 반영이 안 된다.