Oracle

게시글 보기
작성자 유건데이타 등록일 2015-05-14
제목 REDO LOG FILE SIZE의 변경 또는 추가
REDO LOG FILE SIZE의 변경 또는 추가
===================================


Purpose
-------
이 자료에서는 Redo log file의 크기를 조정하거나 새로운 redo log file을
추가하는 방법에 대해 설명한다.


Explanation
-----------

Oracle에서 사용 중인 REDO Log file은 Default로 Size가 512K인 3개의 REDO
Log file이 생긴다.

DB를 이용하는 Application의 특성에 따라 REDO Log file의 수를 늘리거나
REDO Log file의 Size를 크게 할 필요가 있다. REDO Log file의 Size를 변경
하거나 수를 늘리는 것은 아래와 같은 방법을 이용한다.

1. REDO Log file의 Size 변경

(1) V$Log와 V$Logfile을 이용해 어느 것이 Current Log인지 또한 각
Log file의 Data file 명인지를 확인한다.

SVRMGR> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHAN
------ ------- --------- ------ -------- --- -------- ----------
FIRST_TIME
------------------
1 1 55 512000 1 NO CURRENT 65081
2/06/95 19:32:57
2 1 53 512000 1 NO INACTIVE 64111
1/21/95 11:06:14
3 1 54 512000 1 NO INACTIVE 64801
1/21/95 11:41:44
3 rows selected.


SVRMGR> select * from v$logfile;

GROUP# STATUS MEMBER
-------- ------- ------------------------------------------------
1 /usr4/ora713/dbs/log1ORA713.dbf
2 /usr4/ora713/dbs/log2ORA713.dbf
3 /usr4/ora713/dbs/log3ORA713.dbf

3 rows selected.


(2) V$Logfile에서 확인된 Inactive Log file을 먼저 아래의 Command를
이용해 Log file을 Drop한다. 정상적으로 Drop되면 실제 os 상에서도
log file을 지운다.

SVRMGR> alter database drop logfile
'/usr4/ora713/dbs/log2ORA713.dbf';
Statement processed.

os>rm /usr4/ora713/dbs/log2ORA713.dbf


(3) Drop한 Log file을 추가한 후에 Drop 한다. 추가하지 않은 상태에서
다른 redo log file을 drop하면 redo log file 갯수의 최소인 2개 이하가
되어 오류가 발생한다.
Logfile Add 시 여기에서는 3m로 정의하여 크기를 조정하였다.

SVRMGR> alter database add logfile
'/usr4/ora713/dbs/log2ORA713.dbf' size 3M;
Statement processed.


(4) 나머지 inactive 상태였던 log file을 지운다.
단 혹시 위의 작업 중 drop하려고 하는 redo log file이 current로
변경되었을 가능성도 있으므로 (1)번에서와 같이 v$log와 v$logfile을
이용하여 current가 아닌 inactive인지 확인한 후 drop을 시도한다.

SVRMGR> alter database drop logfile
'/usr4/ora713/dbs/log3ORA713.dbf';
Statement processed.

SVRMGR> !rm /usr4/ora713/dbs/log3ORA713.dbf


(5) (4)에서 Drop된 3번 Logfile을 Add한다.

SVRMGR> alter database add logfile
'/usr4/ora713/dbs/log3ORA713.dbf' size 3M;
Statement processed.


(6) V$Log에서 Current Log file은 바로 Drop할 수 없다. 이를 Drop하기 위해
서는 현재의 Current Log file을 Inactive로 하여야 한다. Inactive로 하려면
'Alter System Switch Logfile' Command를 이용하여야 한다.

SVRMGR> alter system switch logfile;
Statement processed.


(7) INACTIVE가 되었으면 위에서와 마찬가지로, Log file을 Drop하고 os 상에서
Remove 후 Size를 변경하여 새로 Add한다.

SVRMGR> alter database drop logfile
'/usr4/ora713/dbs/log1ORA713.dbf';
Statement processed.

SVRMGR> !rm /usr4/ora713/dbs/log1ORA713.dbf

SVRMGR> alter database add logfile
'/usr4/ora713/dbs/log1ORA713.dbf' size 3M;
Statement processed.


2. redo log file 추가

(1)에서 (7) 까지는 기존의 Log file을 Drop 후 새로이 만드는 것에 관한
설명이며 이외 기존에 3개 Log file을 4개로 변경할 경우에는 아래와 같이
Logfile을 필요한 갯수 만큼 Add하면 된다.

sqlplus system/manager
SQL>alter database add logfile
'/usr4/ora713/dbs/log4ORA713.dbf' size 3M;
Statement processed.


3. redo log file member 추가

redo log file이 corrupt되는 경우를 대비해서 redo log file을 mirror하고자
하는 경우 다음과 같이 각 redo log group에 member를 추가하면 된다.

sqlplus system/manager
SQL>alter database add logfile member
'/disk2/oradat/log1ORA8_2.log' to group 1;

이것을 각 group에 대해 모두 수행한다.

(group 2번에 대해서는 마지막이 to group 2, 3번에 대해서는 to group 3과
같이 하면 된다)
Comment
등록된 코멘트가 없습니다.