[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';
- 아래 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 |