[Oracle]

Oracle 데이터베이스의 로그 파일 위치는 여러 종류의 로그에 따라 다릅니다. 가장 일반적으로 참조하는 로그 파일로는 알터 로그(Alert Log), 아카이브 로그(Archive Log), 그리고 트레이스 파일 등이 있습니다. 아래에서 각 로그 파일의 위치를 확인하는 방법을 설명하겠습니다.

1. Alert 로그 파일

Alert 로그는 데이터베이스에서 중요한 이벤트나 오류를 기록하는 로그입니다. 주로 데이터베이스 시작, 종료, 백업, 복구 등의 활동을 기록합니다.

  • Alert 로그 파일 위치 확인:ORACLE_SID는 데이터베이스 인스턴스의 이름입니다.Alert 로그의 디렉토리는 Oracle의 파라미터 파일인 ORACLE_BASE와 ORACLE_SID에 따라 다를 수 있습니다.아래 SQL을 사용하면 Alert 로그 파일의 위치를 확인할 수 있습니다.이 쿼리를 실행하면 Alert 로그와 트레이스 파일이 저장된 디렉터리 경로를 확인할 수 있습니다.
  •  
    SELECT value FROM v$diag_info WHERE name = 'Diag Trace';
  • sql
    코드 복사
  • SQL로 Alert 로그 위치 확인:
  • bash
    코드 복사
    cd $ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace/ ls -l alert_$ORACLE_SID.log
  • Oracle 11g 이상에서는 alert log 파일이 XML 형식으로 저장됩니다. 기본적으로 Oracle의 Alert 로그는 $ORACLE_BASE/diag/rdbms/$ORACLE_SID/trace/alert_$ORACLE_SID.log에 위치합니다.

2. 아카이브 로그 (Archive Log)

아카이브 로그는 온라인 Redo 로그 파일이 순환 저장될 때 백업 목적으로 보관하는 로그 파일입니다.

  • 아카이브 로그 위치 확인:SQL로 아카이브 로그 위치 확인:또는이 쿼리는 아카이브 로그 파일의 저장 위치를 보여줍니다.
  • sql
    코드 복사
    SELECT name, value FROM v$parameter WHERE name LIKE 'log_archive_dest%';
  • sql
    코드 복사
    SHOW PARAMETER log_archive_dest;
  • 아카이브 로그 파일은 Oracle 파라미터 LOG_ARCHIVE_DEST에 정의된 위치에 저장됩니다. 이 위치는 데이터베이스 환경 설정에 따라 달라질 수 있습니다.

3. 트레이스 파일 (Trace Files)

Oracle은 다양한 트레이스 파일을 생성하여 진단 및 디버깅 정보를 기록합니다. 트레이스 파일은 오류 발생 시, 성능 진단 등에서 사용됩니다.

  • 트레이스 파일 위치 확인:SQL로 트레이스 파일 위치 확인:이 쿼리를 실행하면 트레이스 파일이 저장된 디렉터리를 확인할 수 있습니다.
  • sql
    코드 복사
    SELECT value FROM v$diag_info WHERE name = 'Diag Trace';
  • 트레이스 파일은 Alert 로그와 동일한 디렉터리에 저장됩니다.

4. Redo 로그 파일

Redo 로그 파일은 Oracle의 트랜잭션 로그로, 데이터베이스 복구를 위해 필요합니다.

  • Redo 로그 파일 위치 확인:
    sql
    코드 복사
    SELECT member FROM v$logfile;
  • Redo 로그 파일의 위치는 v$logfile 뷰를 통해 확인할 수 있습니다.

이 방법들을 통해 Oracle 데이터베이스의 다양한 로그 파일 위치를 확인할 수 있습니다.

 

 

[MySQL]

MySQL에서 로그 파일은 여러 종류가 있으며, 각 로그 파일의 위치는 MySQL 설정 파일(my.cnf 또는 my.ini)에서 정의됩니다. 대표적인 로그 파일로는 에러 로그(Error Log), 일반 로그(General Log), 슬로우 쿼리 로그(Slow Query Log), 그리고 바이너리 로그(Binary Log)가 있습니다. 아래는 각 로그 파일의 기본 위치와 설정 방법을 설명합니다.

1. 에러 로그 (Error Log)

에러 로그는 MySQL 서버의 시작, 종료, 크래시 등의 중요한 이벤트를 기록합니다.

  • 에러 로그 위치 확인: 에러 로그의 위치는 MySQL 설정 파일(my.cnf 또는 my.ini)에 log_error 파라미터로 정의됩니다.SQL로 에러 로그 위치 확인:
    sql
    코드 복사
    SHOW VARIABLES LIKE 'log_error';
    기본 경로: 일반적으로 MySQL의 에러 로그는 /var/log/mysql/ 또는 /var/lib/mysql/ 디렉터리에 저장됩니다.
  • 아래 SQL 명령으로 현재 설정된 에러 로그 파일 경로를 확인할 수 있습니다.
  • bash
    코드 복사
    grep log_error /etc/my.cnf

2. 일반 로그 (General Log)

일반 로그는 MySQL 서버에서 실행되는 모든 SQL 쿼리를 기록합니다. 성능에 영향을 줄 수 있기 때문에 일반 로그는 기본적으로 비활성화되어 있습니다.

  • 일반 로그 위치 확인: 일반 로그의 위치는 general_log_file 파라미터로 설정됩니다.SQL로 일반 로그 위치 확인:기본 경로: /var/lib/mysql/mysql.log
  • sql
    코드 복사
    SHOW VARIABLES LIKE 'general_log_file';
  • bash
    코드 복사
    grep general_log_file /etc/my.cnf

3. 슬로우 쿼리 로그 (Slow Query Log)

슬로우 쿼리 로그는 실행 시간이 지정된 임계값보다 긴 쿼리를 기록하는 로그입니다. 성능 문제를 해결하는 데 유용합니다.

  • 슬로우 쿼리 로그 위치 확인: 슬로우 쿼리 로그의 위치는 slow_query_log_file 파라미터로 설정됩니다.SQL로 슬로우 쿼리 로그 위치 확인:기본 경로: /var/lib/mysql/ 디렉터리에 저장됩니다.
  • sql
    코드 복사
    SHOW VARIABLES LIKE 'slow_query_log_file';
  • bash
    코드 복사
    grep slow_query_log_file /etc/my.cnf

4. 바이너리 로그 (Binary Log)

바이너리 로그는 데이터베이스의 변경 사항을 기록하며, 복제 및 백업 시 중요한 역할을 합니다.

  • 바이너리 로그 위치 확인: 바이너리 로그의 위치는 log_bin 파라미터로 설정됩니다.SQL로 바이너리 로그 위치 확인:기본 경로: /var/lib/mysql/ 디렉터리에 저장되며, 파일 이름은 mysql-bin으로 시작합니다.
  • sql
    코드 복사
    SHOW VARIABLES LIKE 'log_bin';
  • bash
    코드 복사
    grep log_bin /etc/my.cnf

5. MySQL 설정 파일에서 로그 경로 확인

MySQL 로그 파일의 위치는 주로 MySQL 설정 파일(my.cnf 또는 my.ini)에 정의되어 있습니다. 이 파일에서 각 로그 파일의 경로를 설정하거나 확인할 수 있습니다. 설정 파일의 위치는 보통 다음과 같습니다:

  • Linux: /etc/my.cnf 또는 /etc/mysql/my.cnf
  • Windows: MySQL 설치 경로의 my.ini

요약

로그 파일 종류에 따른 기본 위치는 다음과 같습니다:

  • 에러 로그: /var/log/mysql/ 또는 /var/lib/mysql/
  • 일반 로그: /var/lib/mysql/mysql.log
  • 슬로우 쿼리 로그: /var/lib/mysql/
  • 바이너리 로그: /var/lib/mysql/mysql-bin

이 설정은 my.cnf 또는 my.ini에서 변경될 수 있으므로, 설정 파일을 확인하여 로그 파일 위치를 정확하게 파악할 수 있습니다.

 

'공부 > (IT) DBMS' 카테고리의 다른 글

MySQL 모니터링  (0) 2024.09.20
MySQL Lock 다루기  (1) 2024.08.19

+ Recent posts