[관리][튜닝] Oracle DB 튜닝하기 -1

1.먼저 각 테이블 스페이스에 대한 데이타 파일의 크기 확인

SVRMGR> select file_name, bytes from dba_data_files;

#주요 테이블 스페이스를 늘린다..

특히 temp 와 rbs 를 집중적으로

temp는 200M    rbs는 500M 정도로

# 테이블 스페이스의 크기 조정..

SVRMGR> alter database datafile ‘/home/oracle/oradata/auction/rbs01.dbf’

SVRMGR> resize 500M ;

Statement processed

2.롤백세그먼트정보를 알아본다.

SVRMGR> select * from dba_rollback_segs;

3.롤백세그먼트를 추가 한다.

먼저 롤백 세그먼트의 경합상태를 알아본다.

SVRMGR> select r.name, s.gets, s.waits

     2> from v$rollstat s, v$rollname r

     3> where s.usn = r.usn;

롤백세그먼트를 생성한다.

SVRMGR> create rollback segment r05 tablespace rbs;

Statement processed.

롤백세그먼트를 ONLINE 한다.

SVRMGR> alter rollback segment r05 online;

롤백세그먼트를 init.ora(initORCL.ora) 에 추가 한다.

4. log 파일을 추가한다.

먼저 archive log mode 로 변환한다.

initORCL.ora 에 다음을 추가한다.

log_archive_start = true

log_archive_dest = $ORACLE_HOME/dbs/arch  log_archive_format = “T%TS%S.ARC”

SVRMGR> startup mount;

SVRMGR> alter database archivelog;

SVRMGR> alter database open;

SVRMGR> archive log list;

로그 파일 추가 및 크기 변경

EDO LOG FILE SIZE의 변경 또는 추가

===================================

* Oracle에서 사용 중인 REDO Log file은 V7에서는 Default로 Size가 512K인

3개의 REDO Log file이 생긴다.

DB를 이용하는 Application의 특성에 따라 REDO Log file의 수를 늘리거나 REDO Log file의 Size를 크게 할 필요가 있다.  REDO Log file의 Size를 변경

하거나 수를 늘리는 것은 아래와 같은 방법을 이용한다.

– REDO Log file의 Size 변경

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

SQLDBA> select * from v$log;

(7.3이상인 경우는 SQLDBA가 아니고 SVRMGR)

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.

SQLDBA> 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되면 Host Command를 이용해 Datafile을 Remove한다.

SQLDBA> alter database drop logfile

‘/usr4/ora713/dbs/log2ORA713.dbf’;

Statement processed.

SQLDBA> !rm /usr4/ora713/dbs/log2ORA713.dbf

(3) Oracle V7에서는 Default로 3개의 REDO Log file이 생기는데 최소한 2개

이상의 REDO Log file이 필요하다. 즉 위의 (3)과 같이 2번째 Log file을 Drop 하였으므로 Log file은 2개만 남아 있는데 1개를 또 Drop하고자 하니 아래와 같이 Ora-1567 & Ora-1532 Error가 발생한다. 이 때에는 다음과 같이 Log file의 Size를 크게 하여 이미 Drop된 2번 Logfile을 Add한 후 Drop하여야 한다.

SQLDBA>  alter database drop logfile

‘/usr4/ora713/dbs/log3ORA713.dbf’;

ORA-01567:dropping log 3 would leave less than 2 log files in thread 1 ORA-00312:online log 3 thread 1:’/usr4/ora713/dbs/log3ORA713.dbf’

(4) Drop한 Log file을 추가한 후에 Drop 한다. Logfile Add 시 여기에서는 3m로 정의하여 크기를 조정하였다.

SQLDBA> alter database add logfile

‘/usr4/ora713/dbs/log2ORA713.dbf’ size 3M; Statement processed.

SQLDBA> alter database drop logfile

‘/usr4/ora713/dbs/log3ORA713.dbf’;

Statement processed.

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

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

SQLDBA> alter database add logfile

‘/usr4/ora713/dbs/log3ORA713.dbf’ size 3M; Statement processed.

(6) V$Log에서 Current Logfile은 바로 Drop할 수 없다. 이를 Drop하기 위해

서는 현재의 Current Logfile을 Inactive로 하여야 한다. Inactive로 하려면 ‘Alter System Switch Logfile’ Command를 이용하여야 한다.

SQLDBA> alter system switch logfile;

Statement processed.

(7) INAVTIVE가 되었으면 다음과 같이 Logfile을 Drop하고 Datafile 의 Remove후 Logfile의 Size를 변경하여 Add한다.

SQLDBA> alter database drop logfile

‘/usr4/ora713/dbs/log1ORA713.dbf’;

Statement processed.

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

SQLDBA> alter database add  logfile

‘/usr4/ora713/dbs/log1ORA713.dbf’ size 3M; Statement processed.

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

SQLDBA> alter database add logfile

‘/usr4/ora713/dbs/log4ORA713.dbf’ size 3M; Statement processed.

이상입니다.

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.