본문 바로가기
스터디북

[07/07~ 07/08] 시작

by 파이어볼러 2015. 7. 8.

오라클 10g Chpater 09 10 일독


오라클 WS1 ~44p까지


.bash_profile의 환경변수


ORA_NLS란?

Character set를 저장하고 있는 .nlb파일의 위치를 지정하는 변수


http://talkativelee.tistory.com/24


LD_LIBRARY_PATH란?

동적 라이브러리 패스를 설정하지 않으면 해당 라이브러리가 어디에 위치해 있는지 모든 디렉토리를 탐색하기 때문에 비효율적이다 그래서 환경변수를 동적 라이브러리 호출을 위해 설정하는 것이고 또 다른 방법으론 시스템 설정을 통해 지정한다 리눅스 기준으론 /etc/ld.so.conf.d 디렉토리에 *.conf 파일 형식으로 설정할 수 있다

http://blog.daum.net/mzinboy/3


create pfile from spfile


파라미터 파일 생성은 startup 전에도 가능한것을 알았다


컨트롤 파일의 백업에 관해서 좋은 사이트가 있다

http://blog.naver.com/xxsaintxx/20121346572


컨트롤 파일 자체를 trace파일로 백업하고 그 파일을 스크립트 파일로 만든 후 모든 컨트롤 파일을 지우고 컨트롤 파일을 재생성할수도 있는데 이때는 noretlog와 resetlog가 있다 먼저 전자는 컨트롤 파일만 문제가 될 경우 적용하고LSN(log sequence number)를 초기화 하지 않지만 후자는 컨트롤 파일과 온라인 리두 로그 파일을 사용할 수 없을때 사용하고 LSN을 초기화 한다


체크포인트와 CKPT는 서로 의미가 다르다


체크포인트는 더티블록을 디스크로 내려쓰라는 신호고 CKPT는 체크포인트 발생 시 DBWn이 더티 블록을 디스크로 내려쓴 후 컨트롤 파일과 데이터 파일 헤더를 최근의 체크포인트 정보로 업데이트 하는 역할을 한다

DBWn은 주기적으로 데이터베이스 버퍼를 디스크에 저장하여 체크포인트를 발생시키며 로그 스위치 또한 체크포인트를 발생시킨다 체크포인트 정보는 체크포인트 포지션과 SCN, 위치 등을 포함하는데 데이터베이스 복구 작업에 이용





체크포인트는


데이터베이스가 정상으로 종료되는 경우

 사용자 명령에 의해 발생 (alter system checkpoint)

 테이블 스페이스가 오프라인되는 경우

 테이블 스페이스를 백업하는 경우

 로그 스위치가 발생하는 경우

 체크포인트 관련 파라미터의 설정 값에 의해 발생

 데이터베이스 복구 시 발생

 때 발생한다


참고로 DBWR의 발생 이벤트는 다음과 같다.

 

체크포인트 (checkpoint) 가 발생했을 경우

더티버퍼의 수가 임계치에 도달했을 경우

프리 버퍼가 필요하여 데이터 버퍼 캐쉬에서 일정한 수의 버퍼를 검색하고도 프리버퍼를 찾지 못했을 경우

테이블 스페이스가 오프라인 또는 읽기 전용으로 변경될 경우

테이블이 DROP되거나 TRUNCATE 된 경우 (미니 체크포인트)

테이블스페이스 에서 온라인 백업 명령이 수행될 경우

주기적인 타임아웃에 의해 (3초)

 

 

체크포인트는 다섯 가지 종류로 나뉘며, 종류에 따라 의미, 발생 시기, CKPT 수행 작업이 다르다.

 

 데이터베이스 체크포인트(글로벌 체크 포인트)

 의미 : 전체 인스턴스에서 체크포인트가 발생하며, 전체 인스턴스의 모든 더티 버퍼가 데이터 파일에 기록된다.

CKPT 수행 작업 : 컨트롤 파일과 데이터 파일 헤더의 체크포인트 정보가 갱신된다.

 발생 : DB정상 종료,사용자 명령에 의해 (alter system checkpoint)

 

 

 쓰레드 체크 포인트(로컬 체크포인트)

 의미 : 인스턴스 단위로 체크포인트가 발생하며, 체크포인트가 발생한 인스턴스의 모든 더티 버퍼가 데이터 파일에 기록된다.

CKPT 수행 작업 : 컨트롤 파일과 데이터 파일 헤더의 체크포인트 정보가 갱신된다.

 발생 : 로그 스위치 발생

 

 

 데이터파일 체크포인트(테이블 스페이스 체크포인트)

 의미 : 테이블스페이스가 소유한 데이터 파일 단위로 체크포인트가 발생하며, 관련된 데이터 파일에 속해있는 더티 버퍼만 데이터파일

에  기록된다.

 CKPT 수행 작업 : 관련된 컨트롤 파일 정보 및 데이터 파일 헤더의 체크포인트 정보만 갱신된다.

 발생 : 테이블 스페이스 온라인 백업,테이블스페이스를 오프라인, 읽기 전용으로 변경

 

 

증분 체크포인트

 의미 : 체크포인트가 발생한 인스턴스의 일부 더티 버퍼만 데이터 파일에 기록된다.

 CKPT 수행 작업 : 컨트롤 파일만 갱신된다.

 발생 : 체크포인트 관련 파라미터의 설정 값에 의해 발생 (FAST_START_MTTR_TARGET / LOG_CHECKPOINT_TIMEOUT /                 LOG_CHECKPOINT_INTERVAL 설정 값)

 

미니 체크포인트 (DDL 체크포인트)

의미 : DDL 작업 시 관련 세그먼트의 더티 블록만 데이터 파일에 기록된다.

CKPT 수행 작업 : 컨트롤 파일 및 데이터 파일 헤더 정보 갱신이 없다.(아무작업안함)

발생 : DROP과 TRUNCATE 명령 등 일부 DDL 명령 사용

 

복구 체크포인트

의미 : 데이터베이스 복구 시 시점 관리를 위해 체크포인트가 발생한다.

CKPT 수행 작업 : 컨트롤 파일과 데이터 파일 헤더의 체크포인트 정보가 갱신된다.

발생 : 데이터베이스 복구 시 발생한다.

 

체크포인트 관련 초기화 파라미터

FAST_START_MTTR_TARGET : 인스턴스 복구 시간을 초 단위로 지정한다. 인스턴스 복구에 필요한 시간이 설정 값보다 커지기 전에

체크포인트가 발생한다. LOG_CHECKPOINT_INTERVAL 파라미터와 중복해서 설정된 경우 LOG_CHECKPOINT_INTERVAL 의 설정값을

우선시한다. 9i 부터는 FAST_START_MTTR_TARGET 파라미터 설정을 권장한다.

기본값및 최소 설정 값을 0 이며 최대 설정 값은 3,600초이다.

 

LOG_CHECKPOINT_INTERVAL : 인스턴스 복구에 필요한 리두 로그 블록의 수를 지정하며, 리두 로그 블록이 설정 값에 도달하면

체크포인트를 발생시킨다.

 

LOG_CHECKPOINT_TIMEOUT : 체크포인트 발생 주기를 초 단위로 설정한다.

 

LOG_CHECKPOINT_TO_ALERT : 체크포인트 발생 시 ALERT LOG 파일에 기록할지 여부를 결정한다.

 

인스턴스의 비정상 종료후 오픈시 오라클은 다음 단계를 거쳐 디스크에 저장되지 않은 데이터를 복구한다.

 

1. 리두 로그 정보를 읽어서 변경된 데이터를 적용 ( 롤 포워드)

 

2. 인스턴스 오픈

 

3. 언두 세그먼트를 읽어서 커밋되지 않은 데이터를 롤백시킨다.

 

 

체크포인트가 자주 수행된다 -> 복구시 롤 포워드 하는 변경 데이터가 적어지므로 인스턴스 복구 시간이 짧아지며, 보다 빠른

 인스턴스 오픈이 가능하다. 하지만 I/O가 많이 발생하므로 성능에 영향을 줄 수 있다.

 

체크포인트가 너무 오래 수행되지 않으면 복구시간이 오래 걸린다.

FAST_START_MTTR_TARGET 파라미터를 이용하여 인스턴스 복구 목표 시간에 맞는 적당한 체크포인트 주기를 조정한다.


체크포인트 출처 ; http://blog.naver.com/thesot/70126797239


'스터디북' 카테고리의 다른 글

[09/07] admin 2일차 실습 및 발표 정리  (0) 2015.09.09
[09/04] admin 1일차  (0) 2015.09.04
[07/12] PPT 마무리  (0) 2015.07.12
[07/10] Sol10설치  (0) 2015.07.10
[07/06] VM ware Bridge 설정 및 OEL 설치  (0) 2015.07.06