파라미터 파일, 리두 로그 파일, alert log 및 trace 파일

망구씨·2023년 9월 21일
0

오라클 DB 공부하기

목록 보기
5/10

파라미터 파일

💡 오라클 인스턴스의 구조 정보와 database의 설정 정보를 담고있는 파일
만약 오라클 db에 어떤 설정값을 변경하고 싶다면? 이 파라미터 파일을 수정해야 합니다.
💡 오라클 처음 startup시 spfile.ora의 내용을 보고 오라클 인스턴스를 구성합니다. 인스턴스 -> 영향을 주고있는 설정값
💡 NOMOUNT 로 부팅 하기 위해서는 SPFILE 일 찾는 다음 없음면 PFILE 을 찾게 됩니다.
SPFILE 과 PFILE 이 모두 없다면 기동에 실패하는 동작을 나타내는 그림 입니다.

  • (19c) 파라미터 파일의 위치 확인
SQL> show parameter spfile;
  • 현재 설정되어서 db에 영향을 주고있는 파라미터 값을 보고 싶을때는v$parameter -> pfile조회
    그냥 spfile.ora의 내용만 확인하고 싶을때는 v$spparameter -> spfile 조회
select name, value from v$parameter where name like '%open_cursor%';
select name, value from v$spparameter where name like '%open_cursor%';

파라미터 파일의 역할

데이터베이스 설정: 메모리 할당, 로그 파일의 위치 및 크기, 사용자 및 권한 관리, 리소스 관리 등을 설정할 수 있습니다.

동적 재구성: 파라미터 파일은 데이터베이스가 실행 중에도 변경될 수 있으며, 이를 통해 데이터베이스 인스턴스의 동작을 동적으로 조정할 수 있습니다. 이러한 변경 사항은 일부는 즉시 적용되고, 일부는 데이터베이스를 재시작한 후에 적용됩니다.

시스템 튜닝: 파라미터 파일은 데이터베이스 성능을 조정하는 데 사용됩니다. 예를 들어, 버퍼 캐시의 크기, 파싱 작업 관리, I/O 설정 등을 조절하여 데이터베이스의 성능을 최적화할 수 있습니다.

파라미터 파일의 종류

SPFILE (서버 파라미터 파일) :
1. 이진 형식의 파일로서, 보안 및 성능 향상을 위해 사용됩니다.
2. 인스턴스를 재구성하는 데 사용됩니다.
3. 동적 파라미터
4. 서버 다시시작 해야 적용됨

PFILE (물리적 파라미터 파일) :
1. 텍스트 형식의 파일로서
2. 이 파일은 데이터베이스를 시작하기 위해 스크립트 또는 명령어를 사용하여 데이터베이스 인스턴스에 적용하는 데 사용됩니다.
4. 정적 파라미터

파라미터 변경 방법

SPFILE : ALTER SYSTEM SET [parameter name]=[values] [SCOPE=(MEMORY/SPFILE/BOTH)]
PFILE   : ALTER SYSTEM SET [parameter name]=[values] [SCOPE=(MEMORY)]

<옵션설명>
scope : Spfile 운영 환경에서만 사용된다
spfile : Spfile만 수정한다. (정적인 파라미터 수정에서는 필수다)
memory : 현재 DB의 parameter 만 수정하며, spfile 은 수정하지 않는다. (재시작 하면 원래 spfile 설정값으로 돌아간다)
both : 현재 DB 의 parameter 와 spfile 모두 수정한다. (default 값)

오라클 파라미터 파일 생성 방법

create pfile='파일명' from spfile='파일명'
create spfile='파일명' from pfile='파일명'

왜 사용할까요?

위에서 언급을 했지만 spfile은 기동시 최우선 순위에 있고 파일 수정이 불가 합니다.

추후에 파라미터 파일을 백업 용도로 사용하기 위해 PFILE로 백업을 해놓아 spfile 파일이 유실되었을 경우 pfile로 기동이 가능(startup pfile=[파라미터 파일명]) 합니다. 그리고 spfile 은 pfile 보다 기동시 우선순위에 있기 때문에 pfile 이 있더라도 spfile 이 있을 경우 pfile 에 등록된 파라미터 값은 반영이 되지 않습니다.

운영 중에 필수적으로 반영되어야 하는 파라미터 값이 있다면 spfile 을 pfile 로 만든 다음 pfile 을 spfile 로 만들어서 파라미터 값을 운영에 반영 할수 있습니다.

알게된 것

  • spfile이 우선순위로 읽혀지지만 pfile이 다른 경로에 있을 때 startup pfile='/oracle/app/oracle/19c/dbs/inittest.ora' 이렇게 실행가능

온라인 리두 로그 파일

💡 복구를 위해서 db의 변경사항의 히스토리를 기록해놓은 파일

member가 두개이다. 두개이상으로 사용하길 권장. LGMR가 멤버 2개에 같은 내용을 동시에 적는다. 그래서 하나가 손상되면 다른 하나로 db를 운영하기 위해서.

✔️ 리두 로그 그룹 상태 4가지
1. currnet : 현재 쓰고 있는 상태
2. active : 다 쓰긴 했지만 아관련된 변경사항이 메모리에서 디비로 반영이 안된상태
3. nactive : 다 썼고 관련된 변경사항이 메모리에서 디비로 반영된 상태
4. unused : 한번도 사용한적 없는 상태

✍🏻 DML작업이 활발하게 일어나는 database는 redo log group을 5-10개로 group의 갯수를 3개가 아니라 더 늘려줘야 합니다. 그룹의 갯수가 3개라면 DML작업이 느려집니다.

✔️ group의 갯수가 많을때의 장점과 단점

장점 : DML작업이 활발하게 일어날 때 성능이 느려지는 현상이 적게 발생한다.
단점 : 백업할 때 시간이 좀 더 걸린다.

alert log file 및 trace file

➡️ 오라클을 진단하기위해 확인해야하는 파일과 사전
1. alert log file : 주요 장애 이슈 에러 번호
2. trace file : 상세한 에러 메세지와 이유
3. dba_outstanding_alerts 사전 : 현재 db에 주목할만한 큰 이슈

❓ alert log file 의 내용
1. 오라클에서 발생한 에러 (ORA-600 internal 에러)
2. db를 startup, shutdown한 정보들
3. db의 구조를 변경한 명령어들
(예: create tavlespace 명령어, alter database 명령어등)
4. 기본값이 아닌 파라미터틀(값을 변경한 파라미터)
5. block이 손상도었을 때 그 정보
6. dead lock 정보

Trace file: 각 서버와 백그라운드 프로세스는 연관된 Trace File에 정보를 기록할 수 있습니다. 내부 오류가 프로세스에서 감지되면 프로세스는 오류에 대한 정보를 해당 Trace File에 덤프합니다. Trace File에 기록된 정보 중 일부는 데이터베이스 관리자가 사용하고 일부는 오라클 고객 지원 센터에서 사용하게 됩니다.

Alert Log File: 특수 Trace 항목으로, 데이터베이스의 Alert Log에는 메시지와 오류가 시간 순으로 기록되어 있습니다. Oracle은 Alert Log를 정기적으로 검토할 것을 권장합니다.

profile
Slow and steady wins the race.

0개의 댓글