프린트 하기

OS환경 : Oracle Linux 6.8, Windows Server 2012 (64bit)

 

DB 환경 : Oracle Database 11.2.0.4

 

방법 : 리스너 로그 관리 로그 정리 방법

오라클 db 사용 시 사용량이 많은 db일수록 필연적으로 리스너 로그도 많이 쌓이게됨

로그 위치를 변경하지 않았다면

10g 이하 $ORACLE_HOME/network/log 디렉토리,

11g 이상 $ORACLE_BASE/diag/tnslsnr/'hostname'/listener/trace 디렉토리에 보면

로그 위치를 변경하지 않았다면 listener.log 파일 사이즈가 꾸준히 또는 급격하게 증가할 수 있음

이런 경우 리스너로그를 정리하는 방법을 설명함

 

 

리스너 로그경로 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$ lsnrctl status
LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 15-MAY-2018 23:31:02
Copyright (c) 19912016, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ora)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.2.0.1.0 - Production
Start Date                15-MAY-2018 23:30:24
Uptime                    0 days 0 hr. 0 min. 38 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /app/oracle/product/12.2.0/db_1/network/admin/listener.ora
Listener Log File         /app/oracle/diag/tnslsnr/ora/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle50)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "ORCLXDB" has 1 instance(s).
  Instance "orcl2", status READY, has 1 handler(s) for this service...
Service "orcl2" has 1 instance(s).
  Instance "orcl2", status READY, has 1 handler(s) for this service...

 

 

lsnrctl 명렁어로 진입

1
$ lsnrctl

 

 

구성된 리스너명이 Listener 가 아닌 경우, 수동으로 지정

1
lsnrctl> set current_listener <리스너명> 

 

 

listener.log 파일에 로그를 기록하지 않게끔 설정

(이 설정을 하지 않아도 복제 및 /dev/null 처리는 가능, listener.log 파일 삭제 처리는 불가능)

(이 설정을 하지 않고 listener.log 파일 삭제, 수동 수정(vi 등)시 리스너 파일이 제대로 쌓이지 않는 현상발생함)

1
lsnrctl> set log_status off

 

 

백업, null 처리 등 작업 진행

리스너 로그 복제(백업)

1
$ cp -av listener.log listener.log.20180520

 

 

/dev/null 을 리스너 로그에 덮어씌우기

1
$ cp /dev/null listener.log

 

 

복제한 리스너 로그 압축

1
$ gzip listener.log.20180520

 

 

listener.log 파일에 로그를 기록하게끔 설정

1
lsnrctl> set log_status on

 

 

set log_status off 로 변경하고, 파일 제거 또는 백업하고 listener.log 파일 생성 (생성하지 않아도 자동 생성)

11g 이상에서는 $ORACLE_BASE/diag/tnslsnr/'hostname'/listener/alert 에 log_xxxx.xml파일도 생기는데

이 로그는 ADRCI 용 로그임. 주기적으로 파일을 묶어서 백업해두는식으로 관리해야함

 

 

ADRCI 용 listener 로그 정리

ADRCI 용 listener 로그 경로로 이동

1
2
3
4
5
6
7
8
9
$ cd $ORACLE_BASE/diag/tnslsnr/'hostname'/listener/alert
$ ls
log_1801.xml
log_1802.xml
.
.
log_1899.xml
log_1900.xml
log_1901.xml

 

 

로그 백업용 폴더 생성

1
$ mkdir -p log_18nn

 

 

백업용 폴더로 일부 로그 이동

1
$ mv log_18* log_18nn

 

 

백업용 폴더 압축

1
$ tar -zcvf log_18nn.tar.gz log_18nn

 

 

또는 mtime 옵션을 이용해 정리

로그 백업용 폴더 생성

1
$ mkdir -p log_20180520

 

 

백업용 폴더로 일부 로그 이동(30일 지난 파일 이동)

1
$ find . -name "*.xml" -mtime +30 -exec mv {} /oracle/diag/tnslsnr/orcl/listener/alert/log_20180520/ \;

 

 

백업용 폴더 압축

1
$ tar -zcvf log_20180520 log_20180520

 

 

.xml 로그 파일을 쌓이지 않게 하는 방법

listener.ora 파일에 DIAG_ADR_ENABLED_{리스너명}=off 파라미터 설정 시 .xml 파일에 리스너로그가 쌓이지 않음

다만 이 방법을 사용할 경우 $ORACLE_BASE/diag 경로에 쌓이던 listener.log 파일에도 로그가 쌓이지 않고

11g 이전 리스너 로그경로($ORACLE_HOME/network/log) 경로에 listener.log 파일에 쌓이게 됨

 

 

Windows Server 환경 Oracle 에서 방법

listener.log 파일 복사 후 붙여넣기

 

 

복사된 listener.log 파일 이름 변경(listener.log.20180520)

 

 

메모장으로 listener.log 파일을 열어서 전체 선택 후 삭제 후 저장

 

 

또는 cmd 를 열어서 리스너로그 경로로 이동 후 type nul > listener.log 명령 사용

(리눅스의 cp /dev/null listener.log와 같음)

1
CMD> type nul > listener.log

 

 

참조 :

https://positivemh.tistory.com/544

 

오라클 ADRCI 정의 및 사용법

OS환경 : Oracle Linux 7.6 (64bit) DB 환경 : Oracle Database 19.3.0.0 방법 : 오라클 ADRCI 정의 및 사용법 ADR(Automatic Diagnostic Repository) 란? 11g NF로 RDBMS 진단을 위한 파일 기반 저장소임 AD..

positivemh.tistory.com

https://positivemh.tistory.com/740

 

오라클 19c 리스너 로그 월별 자동 백업

OS환경 : Oracle Linux 7.6 (64bit) DB 환경 : Oracle Database 19.10.0.0 방법 : 오라클 19c 리스너 로그 월별 자동 백업 스크립트(리스너 로그 자동 정리 방법) 오라클 db 사용 시 사용량이 많은 db일수록 필연..

positivemh.tistory.com

https://positivemh.tistory.com/563

 

오라클 리스너 로그 경로 변경방법

OS환경 : Oracle Linux 7.6 (64bit) DB 환경 : Oracle Database 19.3.0.0 방법 : 오라클 리스너 로그 경로 변경방법 리스너 로그가 저장되는 위치는 기본은 diag 경로 및 tnslsnr 경로임 하지만 로그 위치를 변경..

positivemh.tistory.com

http://jmkjb.tistory.com/entry/ListenerlogManage
https://community.oracle.com/thread/604855