Tibero4 기본강좌
Redolog File 관리 0 0 83,344

by 티베로 Tibero Database Tibero Redolog File [2009.11.03]


로그 파일

로그 파일은 Redo 로그를 저장하는 파일이다. Redo 로그는 데이터베이스에서 발생하는 모든 변경 내용을 포함하며, 데이터베이스에 치명적인 에러가 발생한 경우, 커밋된 트랜잭션의 갱신된 내용을 복구하는 핵심적인 데이터 구조이다.

다음은 Redo 로그의 구조를 나타내는 그림이다.

  • [그림] Redo 로그의 구조
  • Tibero4 Redo 로그의 구조

그림에서 하나의 로그 그룹은 하나 이상의 로그 멤버로 구성되어 있다. 이러한 구성을 다중화(multiplexing)라고 한다. 단, 다중화를 하려면 동일한 그룹에 속해 있는 모든 로그 멤버의 크기는 일정해야 하며, 동일한 데이터를 저장하고 동시에 갱신되어야 한다.

Tibero RDBMS에서는 두 개 이상의 로그 그룹(Log Group)으로 Redo 로그를 구성하여 이러한 로그 그룹을 순환적(Circular)으로 사용한다. 하나의 로그 그룹을 여러 로그 멤버로 구성하는 이유는 일부 로그 멤버가 손상되더라도 다른 로그 멤버를 사용하기 위함이다. 디스크가 대단히 신뢰성이 높거나 데이터가 손실되어도 큰 문제가 없다면 다중화를 하지 않을 수 있다.

로그 파일의 관리

로그 파일의 생성 - 로그 그룹의 추가

새로운 로그 그룹을 생성하려면 ALTER DATABASE 문에 ADD LOGFILE 절을 삽입해야 한다. 이 절은 로그 파일을 추가할 때 사용한다. 단, 로그 파일을 추가할 때에는 로그 그룹 단위로만 해야 한다.

다음의 SQL 문장은 2개의 로그 멤버로 구성된 로그 그룹 5를 추가하는 예이다. 본 예제에서는 각 로그 멤버의 크기를 512KB로 설정한다. 이때 각 로그 멤버의 크기는 항상 같아야 한다.

ALTER DATABASE ADD LOGFILE GROUP5(
       '/usr/tibero/log/my_log21.log',
       '/usr/tibero/log/my_log22.log') SIZE 512K;

로그 파일의 생성 - 로그 멤버의 추가

기존의 로그 그룹에 새로운 로그 멤버를 추가하려면 ALTER DATABASE 문에 ADD LOGFILE MEMBER 절을 삽입해야 한다. 이때 로그 파일에 할당된 서버 프로세스를 반드시 명시해야 한다. 다음의 SQL 문장은 로그 그룹 5에 새로운 로그 멤버를 추가하는 예이다

ALTER DATABASE ADD LOGFILE MEMBER
       '/usr/tibero/log/my_log25.log' TO GROUP 5;

새로운 로그 멤버를 추가할 때에는 로그 파일의 크기를 지정하면 안 된다. 로그 파일의 크기는 같은 로그 그룹 내의 로그 멤버의 크기와 동일하게 설정한다.

로그 파일의 제거 - 로그 그룹의 제거

로그 그룹을 제거하려면 ALTER DATABASE 문에 DROP LOGFILE 절을 삽입해야 한다. 다음의 SQL 문장은 로그 그룹 5를 제거하는 예이다.

ALTER DATABASE DROP LOGFILE GROUP 5;

로그 파일의 제거 - 로그 멤버의 제거

로그 그룹 내의 하나의 로그 멤버를 제거하기 위해서는 ALTER DATABASE 문에 DROP LOGFILE MEMBER 절을 삽입해야 한다. 로그 그룹이 할당된 서버를 명시해야 하며, 로그 그룹은 명시하지 않아도 된다. 다음의 SQL 문장은 로그 멤버 하나를 제거하는 예이다.

ALTER DATABASE DROP LOGFILE MEMBER '/usr/tibero/log/my_log25.log';

로그 파일의 정보 조회

Tibero RDBMS에서는 Redo 로그 관리에 도움을 주기 위해 다음 표에 나열된 동적 뷰를 제공하고 있다. Redo 로그의 그룹별 로그 파일, 다중화 정보, 갱신 날짜 등의 정보를 제공하며, DBA나 일반 사용자 모두가 이 뷰를 사용할 수 있다.

동적 뷰 설명
V$LOG 로그 그룹의 정보를 조회하는 뷰이다.
V$LOGFILE 로그 파일의 정보를 조회하는 뷰이다.

- 강좌 URL : http://www.gurubee.net/lecture/2078

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입