Presentation is loading. Please wait.

Presentation is loading. Please wait.

Copyright © 2005, Oracle. All rights reserved.. 1-2 Oracle Structures.

Similar presentations


Presentation on theme: "Copyright © 2005, Oracle. All rights reserved.. 1-2 Oracle Structures."— Presentation transcript:

1 Copyright © 2005, Oracle. All rights reserved.

2 1-2 Oracle Structures

3 1-3 Oracle Memory Structures Instance SGA Background processes Server process PGA User process SGA(System Global Area) : 모든 사용자가 공유 가능하여 사용 PGA(Program Global Area) : 사용자마다 공유하지 않고 개별적으로 사용

4 1-4 Oracle Memory Structures PGA (Program Global Area) PGA 란 – 데이터베이스에 접속하는 모든 유저에게 할당되는 각각의 서버 프로세스가 독자적으로 사용하는 오라클 메모리 영역 PGA 구조 [ 정렬공간 (Sort Area) | 세션정보 (Session Information) | 커서상태정보 (Cursor State) | 변수저장공간 (Stack Space) ] PGA 파라미터 –WORKAREA_SIZE_POLICY (MANUAL | AUTO) –AUTO 값 설정 : PGA_AGGREGATE_TARGET 파라미터로 PGA 크기 설정 –MANUAL 값 설정 : SORT_AREA_SIZE 파라미터를 –SORT_AREA_SIZE – 정렬공간에 대한 크기를 설정 –PGA_AGGREGATE_TARGET – 모든 세션의 PGA 크기의 합을 설정하는 파라미터, 오라클이 PGA 를 자동으로 관리. –PGA 크기는 V$PROCESS 데이터 딕셔너리 뷰에서 확인 –PGA_USED_MEM : 프로세스가 현재 사용하는 PGA 크기 –PGA_ALLOC_MEM : 프로세스에 할당된 PGA 크기 ( 사용 완료후 시스템 메모리에 반환하지 않는 메모리 포함 ) –PGA_MAX_MEM : 프로세스가 사용한 최대 PGA 의 크기

5 1-5 Oracle Memory Structures System Monitor (SMON) Database Writer (DBWn) LogWriter (LGWR) Process Monitor (PMON) Archiver (ARCn) SGA Java pool Shared poolLarge poolStreams pool Database buffer cache Redo log buffer Checkpoint (CKPT) Control files Data files Redo log files Archive log files

6 1-6 Oracle Memory Structures SGA (System Global Area) SGA – 오라클이 필요한 데이터를 디스크에서 읽어 메모리에 저장한 후 메모리에 저장된 데이터를 읽거나 변경하는데 사용되는 공용 메모리 영역 –SGA_MAX_SIZE 파라미터로 크기를 조정 – 필수 –Database buffer cache –Redo log buffer –Shared pool – 옵션 –Large pool –Java pool –Streams pool

7 1-7 Oracle Memory Structures SGA (System Global Area) Shared Pool –Used to Store – 가장 최근에 실행한 SQL 문 – 가장 최근에 사용된 data definitions –Library Cache 와 Data Dictionary Cache 로 구성 –SHARED_POOL_SIZE 파라미터로 사이즈 조절

8 1-8 Oracle Memory Structures SGA (System Global Area) Data Buffer Cache – 오라클이 데이터를 읽고 수정하기 위해 디스크에 존재하는 데이터를 읽어 저장하는 메모리 공간 – 서버프로세스 : 디스크로부터 필요한 데이터 블록을 읽어 데이터 버퍼 캐쉬에 저장하는 프로세스 »DB_FILE_MULTIBLOCK_READ_COUNT 파라미터 –DBWR : 데이터 버퍼 캐쉬에 있는 변경사항을 디스크로 저장하는 프로세스 –LRU(Least Recently Used) algorithm 으로 관리 –Cache Hit / Cache Miss –Shared SQL area 와 Shared PL/SQL area 로 구성 –DB_BLOCK_SIZE 파라미터로 데이터 블록의 크기 설정

9 1-9 Server Process and Database Buffer Cache DBWn Server process SGA Database buffer cache Data files

10 1-10 Oracle Memory Structures SGA (System Global Area) Redo Log Buffer – 오브젝트 생성 및 데이터 변경시 생성되는 로그를 저장하는 SGA 메모리 영역 –LOG_BUFFER 파라미터로 리두 로그 버퍼 사이즈 지정 (1~10MB) –Log Ahead 기법 ( 선로그 기법 ) Large Pool –Large Pool 을 사용하게 되면 Shared Pool 의 부하를 감소시켜 성능을 향상 –UGA 영역 저장 »UGA 는 PGA 의 부분, UGA 는 정렬공간, 세션정보, 커서 상태 정보를 포함 –RMAN(Recover Manager) 의 정보 저장 –Parallel Processing 의 정보 저장 –I/O 슬래이브 프로세스의 정보 저장 –LARGE_POOL_SIZE 파라미터 JAVA Pool –JAVA 구문을 분석할 때 사용하므로 자바를 설치하고 사용할 경우 지정해 주어야한다 –JAVA_POOL_SIZE 파라미터

11 1-11 Oracle Process Structures User Process Database User 가 오라클 서버에 접속을 요청했을 때 생성된다 (SQL*PLUS, application 등 ) Oracle Server 와 직접 상호 작용하지 않고, session 을 생성하고 서버 Process 를 시작하는 UPI 를 통해 호출을 생성. (session 이란 Instance 에 접근해서 수행하는것 (transaction 단위로구성 )) Instance SGA Background processes Server process PGA User process

12 1-12 Oracle Process Structures Server Process 사용자의 요구에 따라 생성되어 서버와 통신하는데 사용하는 OPI(Oracle Program Interface) 제공, 하나의 서버프로세스는 하나의 유저프로세스를 담당. Oracle Server 와 직접 상호 작용하는 프로세스로, User Process 의 요청을 처리하고 반환 전용서버 : 단일사용자의 요청을 처리하며 사용자 접속이 해제되면 서버 프로세스 종료 공유서버 : 서버프로세스가 여러 사용자의 요청을 처리. Background Process Oracle Instance 가 실행될때 자동적으로 생성되는 프로세스들 Mandatory Background Process DBWnPMONCKTP LGWRSMON Optional Background Process ARCn,LMDnRECO CJQ0LMONSnnn DnnnPnnn LCKnQMNn

13 1-13 Oracle Process Structures Background Process DBWR (Database Witer) – 메모리에서 변경된 버퍼를 디스크에 기록하는 프로세스 서버프로세스는 블록의 변경사항을 Database Buffer Cache 에 기록하게 되는데, DBWR 은 Database Buffer Cache 의 Dirty Buffer 를 Disk 에 기록하고 Free Buffer 로 상태를 변경 –DBWR Background Process 가 작동하는 시점 – 체크포인트가 발생했을 경우 (CKPT) – 더티 버퍼의 수가 임계치에 도달했을 경우 – 프리버퍼가 필요하여 데이터 버퍼 캐쉬에서 일정한 수의 버퍼를 검색하고도 프리버퍼를 찾지 못했을 경 우 (?) – 테이블스페이스가 오프라인 또는 읽기 전용 (Read Only) 모드로 변경될 경우 – 테이블이 DROP 되거나 TRUNCATE 될 경우 – 테이블스페이스에 온라인 백업명령이 수행될 경우 – 주기적인 타임아웃에 의해 발생

14 1-14 Oracle Process Structures Background Process LGWR (Log Writer) –Redo Log Buffer 에 기록된 내용을 Redo Log File 로 저장 – 빠른 커밋 (Fast Commit) 유저가 특정 작업을 수행 후 커밋을 수행한 후에는 Database 에 저장하여 복구및 조회를 하도록 – 선 로그 기법 (Log Ahead) DML 작업을 수행하기 전에 변경 내용을 미리 리두로그 버퍼에 저장해놓음 -> 복구용이 –LGWR Background Process 가 작동하는 시점 – 커밋을 수행할 경우 발생 ( 해당 트랜잭션과 연관된 변경 내용에 대해 수행 ) –DBWR 백그라운드 프로세스가 데이터 버퍼 캐쉬의 변경된 데이터 블록을 데이터 파일에 적용하기 전에 발생 – 리두 로그 버퍼의 1/3 이상이 사용되었을 경우 발생 –1MB 이상의 리두 로그가 생성되었을 경우 발생 –3 초마다 발생

15 1-15 Oracle Process Structures Background Process PMON (Process Monitor) – 서버 프로세스가 작업을 수행하는 중 실패한 경우 PMON 은 1) 실패한 프로세스가 수행중이던 트랜잭션 롤백 2) 실패한 프로세스가 획득했던 메모리, 락 (LOCK) 및 기타 자원 할당 해제 SMON (System Monitor) – 인스턴스의 복구 수행 데이터 블록의 연속된 공간 통합 임시 세그먼트 제거 OPTIONAL 크기 유지 – 인스턴스 복구 수행 – 데이터베이스 메모리가 비정상 종료되면 DBWR 에 의해 디스크로 쓰여지지 않은 데이터는 손실된다. 그러나 SMON 은 데이터베이스 비정상 종료후 재시작될 때 리두로그파일의 로그정보를 읽어서 데이터 파일에 기록되지 않은 이전에 커밋된 데이터를 복구해 주게 된다.

16 1-16 Oracle Process Structures Background Process CKPT(Checkpoint) – 데이터 버퍼 캐쉬의 변경된 데이터 블록을 데이터 파일에 기록하여 메모리 내의 데이터와 데이터 파일에 저장된 데이터를 일치시키는 일련의 작업 –CKPT 발생 시점 – 로그 스위치가 발생하는 경우 –3 초마다 발생 – 테이블스페이스가 오프라인으로 변경될 경우 – 데이터베이스가 정상 종료될 경우 – 사용자가 ALTER SYSTEM CHECKPOINT 명령으로 명시적인 체크포인트를 발생시킬 경우 – 체크포인트 관련 파라미터 (FAST_START_MTTR_TARGET parameter) 에서 정한 값에 의해 활동 주기가 되었 을 경우

17 1-17 Oracle Process Structures Background Process ARCH (Archiver) – 아카이브 로그 모드 시 로그스위치가 발생하여 아카이브 로그 파일을 생성해야 할 경우, 장애 복구시 아카이브 로그 파일을 사용 하는 경우 작동 CJQ0(Coordinator Job Queue) 와 Jnnn – 정기적인 작업에 대해 스케줄링 하여 자동으로 수행시에 CJQ0 이 스케줄링된 작업을 수행 –CJQ0 는 계획된 작업을 실행시키고 Jnnn 이 실제 작업을 수행 Pnnn(Parallel Query Slaves) – 대용량의 작업을 병렬 처리로 수행할 경우 –PARALLEL_MAX_SERVERS, PARALLEL_MIN_SERVERS 파라미터 RECO(Recoverer) – 분산 데이터베이스 환경에서 한 개 이상의 데이터베이스의 연결에 문제가 발생한 트랜잭션이 사용하던 테이블 또는 행에 수행된 락 (LOCK) 을 해제. Snnn 과 Dnnn – 고라클 공유서버 (MTS) 환경에서 사용하는 백그라운드 프로세스

18 1-18 Oracle Process Structures Background Process ( 오라클 10g 추가 ) DMnn – 데이터 펌프 (Data Pump) 를 사용한 데이터 적재 및 추출 작업을 총괄 제어 하는 프로세스 (MCP) MMAN(Memory Manager) – 공유 메모리 자동 관리 기능 수행 MMON(Memory Monitor) – 자가 진단을 위해 메모리에 존재하는 데이터베이스 통계 정보를 주기에 따라 AWR 에 저장. MMNL(Memory Monitor Light) – 필요시 메모리에 있느 통계 정보 전체를 AWR 에 기록하는 역할 RVWR – 플래쉬백을 수행

19 1-19 Storage Structures Online redo log files Password file Parameter file Archive log files Control files Data files Alert and trace log files Backup files


Download ppt "Copyright © 2005, Oracle. All rights reserved.. 1-2 Oracle Structures."

Similar presentations


Ads by Google