본문 바로가기
TechNical/Oracle

오라클 마구잡이 정리 #3

by 강멍멍이 2007. 12. 8.
반응형

MODULE 3. CONTROL FILE과 REDO LOG FILE

 

[UNIT 1] CONTROL FILE

1. CONTROL FILE

- Binary File 형태로 Database의 모든 구조 정보를 가지고 있다.

- Control File은 단일 Database에 대해서만 연결된다.

- Database의 일관성을 제공.

- Database 생성시에 자동적으로 생성된다.

- 최대 8개 까지 Multiplexing 가능

1) pfile을 이용하여 Mutiplexing

 a. Database Shutdown

 b. Control File을 OS 환경에서 복사

 c. Parameter File 수정

   복사한 파일명을 Control File 경로 지정 부분에 추가 한다.

 d. Startup & 확인

2) spfile을 이용한 Multiplexing

 a. alter system set control file = 추가할 컨트롤 파일명 scope = spfile;

 b. shutdown

 c. OS 상에서 컨트롤 파일을 지정한 이름으로 기존의 컨트롤 파일을 복사해서 생성

 d. Startup & 확인

 

 

[UNIT 2] REDO LOG FILE과 CHEKPOINT

1. REDO LOG FILE

ALTER SYSTEM SWITCH LOGFILE

명령을 수행하면 LSN 이 1씩 증가 한다.

SELECT GROUP#,STATUS FROM V$LOG

 STATUS 상태 정보

-         CURRENT : 현재 쓰고 있는 로그 그룹

-         INACTIVE : 사용되지 않는 로그 그룹

-         ACTIVE : 트렌젝션의 정보가 아직 테이터 파일에 쓰여지지 않았다. 복구에 사용해야

              하므로 덮어쓰지 말 것

* 두 개의 로그 멤버를 쓰고 있을 경우 로그 멤버가 손상 되었을 때 오라클은 특별한 경고를 보내지 않고 손상되지 않은 로그 멤버로 정상 가동을 하고 있다. DBA는 LGWR Trace File과 Alert File에 메시지를 수시로 체크하여 신속히 대응해야한다.

 

2. CHECK POINT

ALTER SYSTEM CHECK POINT

 강제로 체크 포인트 발생.

 

CHECK POINT 작업 순서

a.       CKPT가 LGWR에게 CHECKPOINT 알림

b.      Redo Log Buffer의 내용을 Redo Log File에 기록

c.      DBWR에게 작업 종료 알림

d.      Dirty Buffer의 Data를 Data File에 기록

e.      CKPT 호출

f.        CKPT가 Data File의 헤더,컨트롤 파일 부분에 있는 동기화 부분 수정

 

[UNIT 3] DATABASE MODE와 REDO LOG FILE관리

1. ARCHVELOG MODE 변경

 a. DATABASE 셧다운

 b. Parameter 파일 수정, pfile에 다음을 추가 한다.

   LOG_ARCHIVE_START=TRUE

   LOG_ARCHIVE_FOMAT=파일명%S.log

   LOG_ARCHIVE_DEST=지정경로

 c. STARTUP MOUNT

 d. ALTER DATABASE ARCHIVELOG;

 e. ALTER DATABASE OPEN;

 f. ARCHIVE LOG LIST; 확인

g. ALTER SYSTEM SWITCH LOGFILE; 강제로 스위치 발생.

 

2. REDO LOG GROUP

 ALTER DATABASE ADD LOGFILE 생성할 파일명 SIZE 1M;

 대량 작업이 발생할 경우 리두 로그 그룹의 용량이나 개수를 늘여주는 것이 효율적이다.

 I/O 스피드 때문에 아카이브 파일 복사하는 시간이 지연된다.

 ALTER DATABASE DROP LOGFILE GROUP 번호   : 로그 그룹 삭제

 

3. REDO LOG MEMBER

 ALTER DATABASE ADD LOGFILE MEMBER 경로와 파일명 TO GROUP 번호;

 멤버이므로 사이즈를 지정할 수 없다. 그대로 따른다.

 SELECT * FROM V$LOGFILE; 로 확인.

 ALTER DATABASE DROP LOGFILE MEMBER 경로와 이름

 

* 오라클 상에서 삭제를 했어도 OS 상에는 파일이 그대로 남아 있다. 완전한 삭제를 위해서는 OS 상에서 파일을 삭제해 주어야 한다.

 

4. REDO LOG FILE RENAME

 a. SHUTDOWN

 b. OS 상에서 새로운 위치로 복사

 c. STARTUP MOUNT

 d. ALTER DATABASE RENAME FILE

   기존 파일 경로와 파일명 TO 변경된 파일 경로와 파일명;

5. LOGMINER

 a. PARAMETER 파일에 다음을 추가

   utl_file_dir = 생성 될 파일 경로

 b. @c:\oracle\ora92\rdbms\admin\dbmsrpr.sql

 c. @c:\oracle\ora92\rdbms\admin\prvtrpr.plb

 d. UPDATE EMP SET SAL = SAL * 1.1 WHERE ENAME = SCPTT;

    COMMIT;

 e. EXECUTE DBMS_LOGMNR_D.BUILD(생성 할 파일명,생성 될 파일 경로);

 f. EXECUTE dbms_logmnr.add_logfile(현재 로그파일 경로와 파일명,dbms_lomnr.new);

 g. EXCUTE dbms_logmnr.start_logmnr (dictfilename=>생성 될 파일경로와 파일명);

 h. SELECT timestamp, username, sql_redo

    FROM v$logmnr_contents

   WHERE seg_name = EMP;

 

MODULE 4. DATABASE STRUCTURE

 

[UNIT 1] TABLESAPACE

1. Oracel Block

- Data(테이블 행)가 저장되는 최소 단위

- 오라클 입출력 단위

- 기본값은 OS블록의 두배

2. EXTENT

- 연속적인 BLOCK들의 집합

- 기본적으로 5개의 BLOCK이 하나의 EXTENT를 이룸

- 반드시 하나의 DATA FILE에 존재

3. SEGMENT

- 특정 유형의 논리적 저장구조로 할당된 영역

- 여러 DATA FILE에 걸칠 수 있음

4. DATA FILE

- 각 TABLESPACE는 하나 이상의 DATA FILE로 구성

- 실제적으로 DATA는 파일에 저장

5. TABLESPACE

- 여러 개의 SEGMENT가 모여서 하나의 논리적 TABLESPACE를 이룸

- 테이블의 기본 테이블 스페이스 변경

   ALTER TABLE 테이블명 MOVE TABLESPACE 테이블스페이스명

   테이블이 쓰고 있는 모든 INDEX를 리빌드 해 줘야 정상적으로 쓸 수 있다.

* 테이블 스페이스의 관리

 1) Dictionary Managerment TABLESPACE

   Data Dictionary를 사용하여 EXTENT 관리

 2) Locally Management TABLESPACE

   Data Dictionary에 의존하기 않고도 테이블 스페이스를 관리 할 수 있다.

 

6. DATABASE

- 여러 개의 TABLESPACE가 모여 데이터 베이스를 이룸

 

 

 

* STORAGE PARAMETER

DEFAULT STORAGE = STORAGE( INITIAL 숫자   <- 첫번째 EXTENT 크기

                       NEXT 숫자          <- 두번째 EXTENT 크기

                       MINEXTENTS 숫자           <- 최소 할당 EXTENT 개수

                       MAXEXTENTS 숫자     <- 최대 할당 EXTENT 개수

                       PCTINCREASE 숫자)    <- 증가율 , 5*DB_BLOCK_SIZE, 반올림

LOCALLY MANAGEMENT TABLESPACE에서는 적용되지 않는다.

반응형

댓글