230 likes | 503 Views
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
E N D
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 MemoryArchitecture Server Process 1 Server Process 2 Background Process PGA PGA PGA System Global Area Java Pool Buffer Cache Redo Buffer Shared Pool Streams Pool Large Pool Server Process 1 Oracle Process PGA PGA
1.1 MemoryArchitecture Server Process 1 Server Process 2 Background Process PGA PGA PGA System Global Area Java Pool Buffer Cache Redo Buffer Shared Pool Streams Pool Large Pool Server Process 1 Oracle Process PGA PGA
1.2 System Global Area SGA는 공유 글로벌 영역이라고도 하며 데이터베이스 프로세스에서 공유하는 데이터베이스 정보를 저장하는 데 사용 여기에는 Oracle 서버를 위한 데이터 및 제어 정보가 포함 되며 Oracle이 상주하는 컴퓨터의 가상 메모리에 할당 동적SGA: 인스턴스를 종료하지 않고 데이터베이스 버퍼 캐시 및 공유 풀의 크기를 변경할 수있다 데이터베이스 버퍼 캐시 및 공유 풀은 처음 구성이 계속 유지 되는 것이 아니라 작업 로드에 따라 최대 SGA_MAX_SIZE까지 늘어나거나 줄어들 수 있다. *예제 보여주기(http://www.oracleclub.com/lecture/1885참조)
1.1 MemoryArchitecture Server Process 1 Server Process 2 Background Process PGA PGA PGA System Global Area Java Pool Buffer Cache Redo Buffer Shared Pool Streams Pool Large Pool Server Process 1 Oracle Process PGA PGA
1.2.1 Shared Pool 1. 공유 풀 환경에는 고정 구조와 가변 구조가 존재. 고정구조는 비교적으로 동일한 크기를 유지하는 반면 가변구조는 사용자 및 프로그램 요구 사항에 따라 크기가 늘어나거나 줄어든다. 2.가장 최근에 실행한 SQL문과 PL/SQL문에 대한 정보 저장하는-라이브러리 캐시가장 최근에 사용한 데이터 정의하는 -데이터딕셔너리 캐시 *예시 Alter system set shared_pool_size = 64m;
1.1 MemoryArchitecture Server Process 1 Server Process 2 Background Process PGA PGA PGA System Global Area Java Pool Buffer Cache Redo Buffer Shared Pool Streams Pool Large Pool Server Process 1 Oracle Process PGA 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 MemoryArchitecture Server Process 1 Server Process 2 Background Process PGA PGA PGA System Global Area Java Pool Buffer Cache Redo Buffer Shared Pool Streams Pool Large Pool Server Process 1 Oracle Process PGA 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종류 BigfileTablespaces BigfileTablespace는 데이터파일의 크기가 굉장히 큰 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