oracle 강의 자료 발표

Download Report

Transcript oracle 강의 자료 발표

Oracle 과제 발표
이소은
1
Oracle Architecture
Architecture = Memory Architecture + Process Architecture
-Oracle Server = Instance + Database
-Intance = SGA Memory + Background Process
-Database = Datafile + Redo Log File + Control File + Parameter File
-Shared Pool = Library Cache + Dictionary Cache + Control Structures
-Process = User Process + Oracle Process
-Oracle Process = Background Process + Server Process
- Server Process = Shared Server Process + Dedicated Server Process
1.1 Memory Architecture
Server
Process
1
PGA
Server
Process
2
PGA
System Global Area
Server
Process
1
Java
Pool
Buffer
Cache
Redo
Buffer
Shared
Pool
Streams
Pool
Large
Pool
PGA
Oracle
Process
PGA
Background
Process
PGA
1.1 Memory Architecture
Server
Process
1
PGA
Server
Process
2
PGA
System Global Area
Server
Process
1
Java
Pool
Buffer
Cache
Redo
Buffer
Shared
Pool
Streams
Pool
Large
Pool
PGA
Oracle
Process
PGA
Background
Process
PGA
1.2 System Global Area
SGA는 공유 글로벌 영역이라고도 하며 데이터베이스 프로세스에
서 공유하는 데이터베이스 정보를 저장하는 데 사용
여기에는 Oracle 서버를 위한 데이터 및 제어 정보가
포함 되며 Oracle이 상주하는 컴퓨터의 가상 메모리에 할당
동적SGA:
인스턴스를 종료하지 않고 데이터베이스 버퍼 캐시 및 공유 풀의
크기를 변경할 수있다
데이터베이스 버퍼 캐시 및 공유 풀은 처음 구성이 계속 유지
되는 것이 아니라 작업 로드에 따라 최대 SGA_MAX_SIZE까지 늘
어나거나 줄어들 수 있다.
*예제 보여주기(http://www.oracleclub.com/lecture/1885 참조)
1.1 Memory Architecture
Server
Process
1
PGA
Server
Process
2
PGA
System Global Area
Server
Process
1
Java
Pool
Buffer
Cache
Redo
Buffer
Shared
Pool
Streams
Pool
Large
Pool
PGA
Oracle
Process
PGA
Background
Process
PGA
1.2.1
Shared Pool
1. 공유 풀 환경에는 고정 구조와 가변 구조가 존재.
고정구조는 비교적으로 동일한 크기를 유지하는 반면
가변구조는 사용자 및 프로그램 요구 사항에 따라 크기가 늘어나거나
줄어든다.
2.가장 최근에 실행한 SQL문과 PL/SQL문에 대한 정보
저장하는-라이브러리 캐시 가장 최근에 사용한
데이터 정의하는 -데이터딕셔너리 캐시
*예시
Alter system set shared_pool_size = 64m;
1.1 Memory Architecture
Server
Process
1
PGA
Server
Process
2
PGA
System Global Area
Server
Process
1
Java
Pool
Buffer
Cache
Redo
Buffer
Shared
Pool
Streams
Pool
Large
Pool
PGA
Oracle
Process
PGA
Background
Process
PGA
1.2.2
Database Buffer Cache
Database Buffer Cache는 Datafile 들로부터 읽은 Data Block의
복사본을 담고 있는 SGA의 한 부분이다.
데이터를 얻거나 갱신할 때 성능이 크게 향상된다.
LRU 알고리즘에 의하여 가장 오래 전에 사용된 것은 디스크에 저장
하고 메모리에는 가장 최근에 사용된 데이터를 저장 함으로써, 디스
크 I/O를 줄이고, 데이터베이스 시스템의 성능은 증가 하게 관리 한
다
ALTER SYSTEM SET DB_CACHE_SIZE = 96M;
1.1 Memory Architecture
Server
Process
1
PGA
Server
Process
2
PGA
System Global Area
Server
Process
1
Java
Pool
Buffer
Cache
Redo
Buffer
Shared
Pool
Streams
Pool
Large
Pool
PGA
Oracle
Process
PGA
Background
Process
PGA
1.2.3 Redo Log Buffer
& Large Pool & Java Pool
Redo Log Buffer
데이터베이스 데이터 블록의 모든 변경 사항을 기록합니다.
기본 목적은 복구입니다.
Large Pool
SGA의 선택적 메모리 영역
공유 풀의 부담을 줄입니다.
Java Pool
ORACLE JVM에 접속해 있는 모든 세션에서
사용하는 자바코드가 사용하는 메모리 영역
*예시
1.2.4 Program Global Area
오라클 데이터베이스에 접속하는 각 사용자
프로세스를 위해 예약된 메모리
프로세스가 생성될 때 할당
프로세스가 종료될 때 할당 해제
하나의 프로세스에서만 사용됨
*예시
1.3
프로세스 구조
1.사용자 프로세스
-사용자가 오라클 Application Program을 실행 시켰을 때 사용되는 프로세스
ex)SQL*Plus, Toad, Pro*C..
2. 서버 프로세스
-Oracle 서버와 직접 상호 작용하는 프로그램
3. 백그라운드 프로세스
- 물리적 구조 및 메모리 구조 사이의 관계를 유지하고 강화
1.3.1 Background Process
Database Writer Process (DBWn)
Database Buffer Cache의 내용을 데이터 파일에 저장하는 작업을 수행.
Log Writer Process (LGWR)
Redo Log Buffer의 내용을 Disk의 Redo Log File에
Write하는 역할을 담당 합니다.
System Monitor Process (SMON)
System Monitor Process는 오라클 인스턴스를 관리 하는 프로세스
오라클 인스턴스 Fail시 인스턴스를 복구하는 역할을 한다
Process Monitor Process (PMON)
오라클에 서버에서 사용되는 각 프로세스들을 감시하는 프로세스
비정상 종료된 데이터베이스의 접속을 정리 한다.
정상적으로 작동하지 않는 프로세스들을 감시하여 종료 시키며,
비정상적으로 종료된 프로세스들에게 할당된 리소스를 재사용 가능하게 한다.
1.3.1 Background Process
Checkpoint Process (CKPT)
특정 시점이전에 수정된 데이터베이스 버퍼 캐시의 모든 버퍼가 데
이터 파일에 기록되게 하는 것
Archiver Process (ARCn)
다른 모든 백그라운드 프로세스는 데이터베이스의 구성에 따라 선
택적이나 그 중 ARCn 프로세스는 디스크 손실 후 데이터베이스를
복구하는 데 반드시 필요
2.
Tablespaces
Datafiles and Tablespaces
Oracle은 data를 논리적으로는 tablespace들에 저장하고 물리적으로는 해당
tablespace와 연관된 datafile들에 저장 한다
Tablespace는 datafile이라 부르는 하나 이상의 O/S file들로 구성된다
2.1
Tablespaces 종류
Bigfile Tablespaces
Bigfile Tablespace는 데이터파일의 크기가 굉장히 큰 Tablespace
SYSTEM Tablespace
오라클 데이터베이스를 생성할 때 자동으로 생기며 오라클 데이터베
이스의 기동을 위해 꼭 필요한 테이블스페이스.모든 데이터 사전(Data
Dictionary) 정보와, 저장 프로시저, 패키지, 데이터베이스 트리거등을
저장한다.
Default Temporary Tablespace
TEMPORARY TABLESPACE를 지정 받지 않은 사용자는 SYSTEM 테이블
스페이스를 사용하는 대신 DEFAULT TEMPORARY TABLESPACE을 사용
한다.
*예시 보여주기
2.2
Tablespaces 할당방법
존의 테이블스페이스에 datafile을 추가함으로써 해당 테이블스페이스의
disk space 양을 늘리는 방법
2.2
Tablespaces 할당방법
새로운 테이블 스페이스를 생성해서 지정하는 방법
2.2
Tablespaces 할당방법
동확장 옵션을 지정해서 일정 사이즈만큼 증가시킬 수 있다.
출처:
Oracle Database Administration Fundamentals
꿈꾸는 개발자,DBA커뮤니티 오라클 클럽
http://www.oracleclub.com/oracle
Thank you