본문 바로가기
  • AI (Artificial Intelligence)
Skills/Database

Oracle10g Introduction, 오라클10g 소개

by 로샤스 2014. 4. 24.

 

Oracle.zip

 

Oracle10g_Workshop_I__1.1_kr

2012.07.22.일 19:14

이 문서는 다음과 같은 목적으로 작성되었습니다.

0.     절때 무단 배포를 목적으로 하지 않고 오로지 공부를 목적으로만 작성되었습니다.

1.     본 문서에는 본인이 오라클 workshop I 공부하면서 요약한 내용입니다.

꼭 오라클 전공자님들께서는 잘못된 내용을 지적해주세요.!

본 문서가 저작권 위반이 될 경우 언제든지 바로 삭제를 할것입니다.

 

2.     일부 그림은 workshop I 문서의 그림을 사용하였습니다.

3.     문서의 내용이 정리중 세부 항목이 빠져 있을 수 있습니다.

 

 

This documentation is rewrited by Kim in 2012ⓒ

07.20 v.1.0 release

07.22 v.1.1 Oracle Structure 구조 이미지 및 부연설명 변동

버퍼 캐시 업데이트, TableSpace내용 추가

 

1. Introduction Oracle10g

 

1)오라클의 구성 단위는 instance

 

오라클은 오라클 인스턴스(instance; 객체)와 데이터베이스(데이터베이스 파일)으로 구성됩니다.

그중 오라클 객체는 SGA(System Global Area)와 백그라운드 프로세스로 구성되 있습니다.

 

데이터베이스 파일은 콘트롤 파일, 데이터파일, 그리고 리두로그 파일로 나눠집니다.

 

2)오라클의 g의 숨겨진 의미

 

오라클 10g‘g’ 는 그리드(grid)라는 뜻입니다. 이것은 그리드 컴퓨팅(grid computing)

기반(infrastructure)으로 구성 되었음을 의미합니다. 여기서 그리드란 우리말로 격자로

격자 형태로서 구성 되 있음을 나타냅니다.

 

 

·         그리드 [grid]

 

그리드의 사전적인 뜻은 격자, 바둑판의 눈금 등을 말하며, 그리드는 판면을 구성할 때에 쓰이는 가상의 격자 형태의 안내선을 말한다.... 더보기

 

오라클 Databases는 그리드 컴퓨팅으로 구성한 결과 낮은 비용, 높은 서비스의 품질과, 편리하게 관리를 할 수 있게 되었습니다.

 

l  오라클은 Grid Computing을 기반으로 만들어진 DB

n  저비용과 양질의 서비스를 편리하게 관리할 수 있게 됨

 

양질(良質) : [명사] 좋은 바탕이나 품질.

오라클의 그리드 컴퓨팅 기술에는 다음과 같은 4가지로 분류됩니다.

 

l  Storage grid

l  Database grid

l  Application grid

l  grid control

 

 

스토리지 [storage]

컴퓨터 프로세서가 접근할 수 있도록 데이터를 전자기 형태로 저장하는 장소

 

스토리지 그리드

 

 

l  ASM(Automatic Storage Management) : 자동적으로 저장이 관리되는 것을 의미합니다.

I.O(,출력)비용이 최소화되고, 디스크가 추가 삭제 되었을 때 자동관리되며, 모든 디스크에 데이터가 자동적으로 분배됩니다.

 

데이터베이스 그리드

 

l  RAC(Real Application Cluster) : RAC 3가지의 기능으로 요약됩니다.

 

n  통합 클러스터 웨어 (Integrated clusterware) : 클러스터 연결, 메시지, , 클러스터 제어, 리커버리(복구) 기능이 있습니다.

n  자동 워크로드 관리 (Automatic workload management)

: 시스템이 정상 작업중이거나, 실패 했을 경우에 프로세스를 처리하는 자원을 자동으로 할당하는 규칙으로 정의할 수 있습니다.

n  중간계층(Mid-tier)로부터 자동 이벤트를 알려줌

: 클러스터 구성이 변경되면 중간계층이 즉시 인스턴스 장애복구(instance failover)을 하거나, 사용가능한 새 인스턴스를 적용할 수 있습니다.

 

*. 복구(recovery)와 복원(restore)은 큰 차이가 있습니다.

 

l  복구(recovery)redo log를 바탕으로 대상을 복구 한다고 표현합니다

l  복원(restore)이미지 파일을 가져와서 덮어씌워 대상을 복원 한다고 표현합니다.

 

 

오라클 스트림

 

 

 
Oracle Stream : 큐의 메시지의 복제, 데이터 웨어하우스 로딩, 퍼블리싱(publishing) 서브스크라이빙(subscribing)기능
하나의 기술로 결합한 프레임 워크를 제공합니다
 

3)오라클의 구조

 

 오라클은 메모리, 프로세스, 스토리지 3가지의 구조로 설명할 수 있습니다.

 
 

. 메모리 구조

 

 

l  SGA(System Global Area) : 모든 서버, 백그라운드 프로세스에 의해 공유됩니다.

l  PGA(Program Global Area) : PGA는 각 서버 프로세스에 대한 데이터 및 제어정보를 포함하는 메모리 영역입니다. 이것은 각 서버, 백그라운드 프로세스가 프라이빗(private)

으로 사용되며, 프로세스마다 하나의 PGA가 있습니다.

 

l  Database Buffer Cache : 데이터베이스에서 검색된 데이터 블록을 캐시에 저장합니다.

LRU(Least Recently Used; 최근에 사용한 것을 먼저) 알고리즘을 이용하여 메모리 공간이 관리됩니다.

l  RedoLog Buffer : 인스턴스 리커버리(instance recovery)에 사용되는 리두 정보가 디스크에 저장되어 있는 물리적 리두 로그 파일(physical redo log file)에 기록이 될 때까지 버퍼로그를 캐시에 저장합니다.

 

l  Shared Pool : 사용자 간에 공유할 수 있는 다양한 구성 요소를 캐시에 저장합니다.

l  Large Pool : 프로세스에 대한 대용량 메모리 할당을 제공하는 선택적 영역

(an optional area)입니다.

l  Java Pool : JVM(Java Virtual Machine)모든 세션의 자바코드나 데이터에 사용됩니다.

Oracle Database Server 내에 Java로 작성된 소스코드 및 컴파일된 Class파일을 저장해 놓고 PL/SQL subprogram등에서 호출해서 사용 시 Java Class 파일이 메모리에 Load됩니다.

l  Stream Pool : Oracle Stream에서 사용합니다.

 

세션(session)

[IT용어] ① 망 환경에서 사용자 간 또는 컴퓨터 간의 대화를 위한 논리적 연결

 

 

. 프로세스의 구조

 

 

l  사용자 프로세스(user process): 데이터베이스 사용자가 오라클 서버에 연결을 요청할

경우 사용됩니다.

 

l  서버 프로세스(server process) : 오라클 객체와 연결하는 프로세스로 유저가 세션을

연결 할 때 사용됩니다.

 

l  백그라운드 프로세스(background process) : 오라클 객체가 시작될 때 시작됩니다.

 

하단에서는 백그라운드 프로세스에 대한 설명입니다.

 

 

l  System Monitor(SMON): 실패(failure) instance가 시작될 때 크래시 리커버리(crash recovery)를 수행합니다.

l  Process Monitor(PMON): 사용자 프로세스가 실패하면 프로세스 정리 수행합니다.

 

l  Database Writer(DBWn): 데이터베이스 버퍼 캐시에서 수정된 블록을 디스크의

데이터 파일에 기록합니다.

l  LogWriter(LGWR): 리두 로그 내용(entries)을 디스크에 기록합니다.

 

l  Checkpoint(CKPT): 최근의 체크포인트를 나타내도록 데이터베이스의 모든

데이터 파일 및 콘트롤 파일을 갱신합니다.

l  Archiver(ARCn): 로그 전환(switch)이 발생하면 리두 로그 파일을 아카이브 저장 영역으로 복사합니다.

 

 

 

이중 SGA프로세스에는 데이터베이스 버퍼 캐시가 있는데 4가지의 state(상태)를 가집니다.

 

l  Pinned : 여러 세션은 동일한 블록(Block)을 쓰지 못합니다. 이는 다음과 같은 예를 듭니다. (Server Process SQL 처리 중에 사용중인 buffer)

l  Clean : 버퍼가 핀(Pinned) 되 있지 않으면 삭제될 후보(age out)입니다.

이 같은 예는 Server Process SQL 처리를 완료한 버퍼로 필요시 지울 수 있습니다.

l  Free/unused : 사용되지 않은 빈 bufferDatabase Service 기동 직후에 주로

존재합니다.

l  Dirty : 버퍼가 핀 고정되지는 않지만, 데이버 블록이 변경되었을 때를 말합니다.

이와 같은 예는 Server Process SQL 처리를 완료한 버퍼로DML 문장에 의해 수정이 되어 디스크 상의 내용과 다른 상태의 buffer입니다.

 

 

*.  DDL(Data Definition Language) : 데이터베이스의 스키마 객체를 생성(CREATE)

*.  DML(Data Manipulation Language): 스키마 객체의 데이터를 입력(INSERT), 수정(UPDATE)

*.  DCL(Data Control Language): 트랜잭션의 성격을 제어하는 것

 

. 스토리지

 

l  control files: 데이터베이스 자체에 대한 데이터(, 물리적 데이터베이스 구조 정보)

포함합니다. 이 파일이 없으면 데이터베이스 내의 데이터에 액세스할 때 데이터 파일을 열 수 없기 때문에 중요한 파일입니다.

 

l  data files: 데이터베이스의 사용자 데이터나 응용 프로그램 데이터를 포함합니다.

l  online redo log files: 인스턴스 리커버리(instance recovery)의 경우에 사용됩니다.

데이터베이스가 손상되었지만 해당 데이터 파일은 손실되지 않은 경우 인스턴스는

이 파일의 정보를 사용하여 데이터베이스를 복구할 수 있습니다.

 

l  parameter files: instance 시작 시 어떻게 instance를 구성할지 정의하는 데 사용됩니다.

l  password files: SYSDBA 또는 SYSOPER의 패스워드가 저장된 파일입니다. 이 파일을 통해 유저가 데이터베이스에 원격으로 연결하여 관리 작업을 수행할 수 있습니다.

l  backup file: 데이터베이스 recovery에 사용됩니다. 백업 파일은 일반적으로 media failure또는 유저 오류로 원본 파일이 손상되었거나 삭제되었을 경우 복원시 사용됩니다.

l  archive log files: instance에 의해 생성되는 데이터 변경(리두)에 대한 기록을

 포함합니다. 이 파일과 데이터베이스 백업을 사용하면 손실된 데이터 파일을

recovery할수있습니다. 아카이브 로그는 복원된 데이터 파일의 recovery

가능하게 합니다.

l  Trace file: 각 서버와 백그라운드 프로세스는 연관된 Trace file에 정보를 기록할 수

있습니다. 내부 오류가 프로세스에서 감지되면 프로세스는 오류에 대한 정보를 해당

Trace file에 덤프합니다. Trace file에 기록된 정보 중 일부는 데이터베이스 관리자가

사용하고 일부는 오라클 고객 지원 센터에서 사용하게 됩니다.

l  Alert log file: 메시지와 오류가 시간순으로 기록되어 있습니다.

 

4)오라클의 테이블스페이스와 세그먼트

 

Tablespace : 논리적으로 서로 관련된 데이터들이 저장된 파일들을

묶어놓은 단위를 말합니다.

 

이 테이블 스페이스는 SYSYTEM, SYSAUX 테이블 스페이스를 포함하고 있고, 데이터베이스가 생성될 시에 자동으로 생성됩니다.

 

세그먼트는 테이블 스페이스 내에 존재합니다. 다음과 같이 구성되어 있습니다.

 

 

 

 

 

 

l  Segments(세그먼트) : 테이블이나 인덱스가 공간을 사용하는 단위로

반드시 하나의 Tablespace 공간에 구성된 데이터파일들에만 구성됩니다.

l  Extents (확장영역) : Segment의 공간이 커지기 위해서 할당되는 크기

, Segment에 대한 공간 할당 단위입니다. 기존에 구성된 크기의 Segment에 더이상 새로운 행이 입력될 수 없을 만큼 공간을 사용한 경우에 Extent 크기 만큼 씩 공간이 할당되어(Segment확장) 사이즈가 커집니다.

l  Oracle Data Blocks (블록) : SQL 처리를 위해 발생되는 최소 IO 단위(db_block_size)

 

맵핑은 1:1 대응을 의미합니다.

 5)논리적, 물리적인 데이터베이스 구조

 

끝으로 정리입니다. 2005버전의 오라클사에서 배포한 문서입니다.

오라클 데이터베이스를 이해하기 위한 문서.docx

1. Introduction orace10g'

소개 부분이지만 이부분을 모르면 워크샵1을 이해하는것이 불가능해서 포스팅, 정리해봤습니다.  도움이 될것입니다.ㅋ


---------------------------------------

http://onecellboy.tistory.com/12  ..오라클공부하는데 도움될듯..

 

 

 

 

 

 

 

 

출처 : http://blog.naver.com/taehun3718?Redirect=Log&logNo=140163830660

 

 

 

 

 

 

 

 

 

 

 

 

 

'Skills > Database' 카테고리의 다른 글

리눅스 oracle10g설치시 에러 ORA-01078 LRM-00109  (0) 2014.06.26
리눅스 오라클 시작/중지  (0) 2014.06.26
StarUML 5.0 - 무료 UML 설계 도구  (0) 2014.06.16
오라클 데이터베이스의 구조  (0) 2014.04.24
오라클 10g  (0) 2014.04.24

댓글