Documents
Resources
Learning Center
Upload
Plans & pricing Sign in
Sign Out
Get this document free

3.오라클_관리_시스템_아키텍처

VIEWS: 56 PAGES: 34

									Make a Real
   DBA
오라클 데이터베이스 관리시스템 아키텍처


       ㈜ 신한시스템즈

        김종근
ORACLE DBMS Architecture                       Make a Real DBA




             오라클 DBMS 아키텍처

            • DBMS 구성요소 개요
            • 메모리 구조
            • SQL 구문 처리 구조
            • 백그라운드 프로세스
            • Q&A



                      http://www.shsvc.co.kr                     2
ORACLE DBMS Architecture                                    Make a Real DBA
DBMS 구성요소 개요

                   DBMS 구성요소 개요
 • DBMS란?
    데이터를 저장하고 관리해주는 백엔드 소프트웨어

   ‘김종근’ INSERT
    ••••••



 ‘송호섭’ UPDATE                                                   이석창



                                                      DB
                                                      김종근
 ‘박동진’

                                                       문찬섭        송호섭
                                                                  박동진

    ‘이석창’ DELETE


                           김종근
                ‘*’ SELECT 박동진
                           문찬섭


                             http://www.shsvc.co.kr                           3
ORACLE DBMS Architecture                                    Make a Real DBA
DBMS 구성요소 개요

                             DBMS란?
 • DBMS란?
    데이터를 저장하고 관리해주는 백엔드 소프트웨어

   ‘김종근’ INSERT
    ••••••
                                           R
                                          De
                                           P
                                           q
                                          Bo
 ‘송호섭’ UPDATE                              r
                                           u                    이석창



                                          M DBMS      DB
                                           e          김종근
 ‘박동진’
                                           c
                                           s
                                           t
                                           e
                                           s
                                             Physical Disk
                                                       문찬섭        송호섭
                                                                  박동진
                                           s
    ‘이석창’ DELETE
                                          Se
                                           r
                           김종근
                ‘*’ SELECT 박동진
                           문찬섭


                             http://www.shsvc.co.kr                           4
ORACLE DBMS Architecture                        Make a Real DBA
DBMS 구성요소 개요

               DBMS의 두 구성 요소
 • Software & Repository


               DBMS
                                        DB
                                               이석창
                                        김종근

               engine               Physical Disk
                                       문찬섭    송호섭
                                              박동진




             Software                 Repository




                      http://www.shsvc.co.kr                      5
ORACLE DBMS Architecture                       Make a Real DBA
DBMS 구성요소 개요

                 Fast Processing?
 • Client Request Processing
                             Server
                             Machine




                               Oracle

     Client
                              Process
                                                  DB
                           Physical Memory     Physical Disk




                      http://www.shsvc.co.kr                     6
ORACLE DBMS Architecture                        Make a Real DBA
DBMS 구성요소 개요

                 Fast Processing?
 • Cache & Processes
                             Server
                             Machine




                        Oracle         Oracle

     Client
                       Process        Process
                                                   DB
                             Data Cache
                                Area

                           Physical Memory      Physical Disk




                      http://www.shsvc.co.kr                      7
ORACLE DBMS Architecture                        Make a Real DBA
DBMS 구성요소 개요

               오라클의 두 구성 요소
 • Instance and Database
                             Server
                             Machine




                        Server

                                                   DB
                                Background
                            Instance Database
                       Process   Process
     Client
                                 SGA
                           System Global Area


                           Physical Memory      Physical Disk




                      http://www.shsvc.co.kr                      8
ORACLE DBMS Architecture                        Make a Real DBA
메모리 구조

                Instance 구성 요소
 • SGA & Background Process
                             Server
                             Machine
                                    Instance             Database
                                        SMON

                                        PMON
                        Server

     Client
                       Process          LGWR

                                        DBWR
                                                   DB
                                 SGA
                                         CKPT

                           Physical Memory      Physical Disk




                      http://www.shsvc.co.kr                        9
ORACLE DBMS Architecture                             Make a Real DBA
메모리 구조

                         SGA 구조
 • SGA(System Global Area)
       Shared Pool           Database Buffer Cache    Redo Log
                                                       Buffer




      SHARED_POOL_SIZE         DB_BLOCK_SIZE         LOG_BUFFER
                               DB_CACHE_SIZE


                         http://www.shsvc.co.kr                    10
ORACLE DBMS Architecture                        Make a Real DBA
메모리 구조

                     Shared Pool
 • Dictionary Cache
   - 데이터베이스 딕셔너리 정보를 캐쉬하는 영역                      Shared Pool

   - 딕셔너리 정보?                                  Library Cache

     데이터베이스에 대한 메타데이터
     예) 사용자, 테이블, 인덱스 등에 대한 정보
                                               Dictionary Cache




                      http://www.shsvc.co.kr                      11
ORACLE DBMS Architecture                              Make a Real DBA
메모리 구조

                       Shared Pool
 • Library Cache
   - SQL 및 PL/SQL 코드 캐시 영역                              Shared Pool

   - 같은 쿼리에 대한 재분석 회수를                               Library Cache
      줄임으로 해서 성능을 증대
   - SQL, P-CODE, E-PLAN을 같이 저장
   - 사용상의 고려 사항                                      Dictionary Cache
     ① SELECT * FROM emp;
     ② Select *
       from emp;
     ※ 실행 결과는 같지만, Library Cache내에서는 다른 구문으로 판단




                            http://www.shsvc.co.kr                      12
ORACLE DBMS Architecture                            Make a Real DBA
메모리 구조

                Database Buffer Cache
 • DB Buffer Cache
  - 사용자가 사용하는 데이터를 캐시                          Database Buffer Cache

  - DB 버퍼 블럭
     오라클의 최소 I/O단위, 생성시 결정

  - 버퍼의 3가지 상태
    Pinned Buffer
     현재 액세스 중인 버퍼
    Free Buffer
     한 번도 사용되지 않았거나,
     사용은 되었지만 데이터파일의 상태와 같은 버퍼
    Dirty Buffer
     DML로 인해 데이터가 변경되고 아직 기록되지 않은 버퍼


                      http://www.shsvc.co.kr                           13
ORACLE DBMS Architecture                                        Make a Real DBA
메모리 구조

              Database Buffer Cache
 • Reusable Buffer?
  - LRU(Least Recently Used) Algorithm                     Database Buffer Cache

    최근에 사용된 것이 다시 사용될 확률이 높다!


  - 구현?
    LRU List라는 버퍼에 대한 리스트 구조를 관리
                              Reusable Buffer
                                  Search
          3   2   4   1   5
      MRU                 LRU


          5   3   2   4   1                 1   5      3    2   4


                              http://www.shsvc.co.kr                               14
ORACLE DBMS Architecture                         Make a Real DBA
메모리 구조

                  Redo Log Buffer
 • Redo Log Buffer
  - DB Buffer Cache의 변경 사항(Redo Entry)         Redo Log Buffer
   을 기록하는 영역
  - 순환 버퍼 구조로 사용
  - 버퍼의 내용은 리두 로그 파일로 기록됨




                      http://www.shsvc.co.kr                     15
ORACLE DBMS Architecture                          Make a Real DBA
메모리 구조

                          SGA 구조
 • SGA 관련 파라미터
          파라미터                           설명           동적변경
                        SGA 전체 최대 사이즈(9i)
     SGA_MAX_SIZE                                       N
                        (이 범위 내에서 동적 리사이징 가능)
     SHARED_POOL_SIZE   Shared Pool의 사이즈                Y
     DB_CACHE_SIZE      표준 DB Buffer Cache 사이즈          Y
     DB_nK_CACHE_SIZE   비표준 블록에 대한 Cache 사이즈(9i)        Y
     LOG_BUFFER         Redo Log Buffer 사이즈             N
     LARGE_POOL_SIZE    Large Pool 사이즈                  Y
     JAVA_POOL_SIZE     Java Pool 사이즈                   N




                         http://www.shsvc.co.kr                 16
ORACLE DBMS Architecture                                   Make a Real DBA
DBMS 구성요소 개요

                    Database 구성 요소
 • Database 구성 파일


        Parameter
           file
                    Control
        Password      file        Data file
           file                                 Redo log
                                                  files
          Alert                                              Archived
           file                                              log files

                                    Database
         Trace
          file




                              http://www.shsvc.co.kr                     17
ORACLE DBMS Architecture                       Make a Real DBA
DBMS 구성요소 개요

                Database 구성 파일
 • Data File
   - 사용자 데이터 및 시스템 데이터(딕셔너리)가 기록되는 파일
   - 최소 하나 이상의 파일을 사용하며,
    용도 및 데이터 성격에 따라 여러 개의 파일로 구분하여 사용.

 • Redo Log File
   - 데이터베이스의 변경 내용(트랜잭션 정보)이 기록되는 파일
   - 최소 2개의 그룹을 구성하여 운영

 • Control File
   - 데이터베이스 구성 파일들에 대한 정보 파일
   - 데이터베이스 명, 동기화 정보 등을 기록


                      http://www.shsvc.co.kr                 18
ORACLE DBMS Architecture                            Make a Real DBA
DBMS 구성요소 개요

                       기타 파일
 • Parameter File          $ORACLE_HOME/dbs/init<SID>.ora
   - 인스턴스의 성격을 결정하는 파라미터들을 파일로 만들어 놓은 파일

 • Alert File              BACKGROUND_DUMP_DEST/alert_<SID>.log
   - 오라클의 주 메시지 파일

 • Trace File              *_DUMP_DEST/ora_<PNAME>_<PID>.trc
   - 에러 로그 및 기타 추적 정보에 대한 상세 파일

 • Password File           $ORACLE_HOME/dbs/orapw<SID>
   - Sysdba 계정에 대한 패스워드 기록 파일

 • Archive Log File        LOG_ARCHIVE_DEST/*
   - Online Redo Log 파일을 백업한 파일


                      http://www.shsvc.co.kr                      19
ORACLE DBMS Architecture                                             Make a Real DBA
DBMS 구성요소 개요

            ORACLE RDBMS Structure
                                          Instance
                      Shared Pool        Database Buffer Cache Redo Log
                                                                Buffer




                etc                                                       etc
                      PMON SMON        CKPT    DBWR      etc    LGWR

      Parameter
         file
                        Control
      Password            file           Data file
         file                                            Redo log
                                                           files
        Alert                                                                   Archived
         file                                                                   log files


       Trace
                                          Database
        file

                                    http://www.shsvc.co.kr                                  20
ORACLE DBMS Architecture                                             Make a Real DBA
SQL Statement Process

                        SQL문 처리 구조(1)
  • Parsing
     – syntax check
     - semantic check
                                                      Instance
                                      Shared Pool     Database Buffer Cache Redo Log
     - security check                                                        Buffer
     - execution planning
                SQL
                             Server
                            Process
       Client
  SELECT ename, job
  FROM emp;                      PMON SMON          CKPT   DBWR              LGWR



                                      Control
                                        file         Data file
                                                                      Redo log
                                                                        files

                                                      Database
                                  http://www.shsvc.co.kr                               21
ORACLE DBMS Architecture                                                Make a Real DBA
SQL Statement Process

                         SQL문 처리 구조(2)
  • Execute(DML)
                                                         Instance
                                         Shared Pool     Database Buffer Cache Redo Log
                                                                                Buffer

                SQL
                                Server
                               Process
                      Result
       Client
  SELECT ename, job
  FROM emp;                         PMON SMON          CKPT   DBWR              LGWR



                                         Control
                                           file         Data file
                                                                         Redo log
                                                                           files

                                                         Database
                                     http://www.shsvc.co.kr                               22
ORACLE DBMS Architecture                                                Make a Real DBA
SQL Statement Process

                         SQL문 처리 구조(3)
  • Fetch(SELECT)
                                                         Instance
                                         Shared Pool     Database Buffer Cache Redo Log
                                                                                Buffer

                SQL
                                Server
                               Process
                      Result
       Client
  SELECT ename, job
  FROM emp;                         PMON SMON          CKPT   DBWR              LGWR



                                         Control
                                           file         Data file
                                                                         Redo log
                                                                           files

                                                         Database
                                     http://www.shsvc.co.kr                               23
ORACLE DBMS Architecture                                                Make a Real DBA
SQL Statement Process

                               SQL문 처리 구조
  • Server Process
                                                         Instance
                                         Shared Pool     Database Buffer Cache Redo Log
                                                                                Buffer

                SQL
                                Server
                               Process
                      Result
       Client
  SELECT ename, job
  FROM emp;                         PMON SMON          CKPT   DBWR              LGWR



                                         Control
                                           file         Data file
                                                                         Redo log
                                                                           files

                                                         Database
                                     http://www.shsvc.co.kr                               24
ORACLE DBMS Architecture                                     Make a Real DBA
Background Process

                     Log Writer Process
     Log Writer Process
    LGWR 프로세스는 리두 로그 버퍼의 연속적 일부분을            Instance
    온라인 리두로그 파일로 기록하는 프로세스이다.    Shared Pool Database Buffer Cache Redo Log
                                                                    Buffer
    • 커밋과 동시에 커밋된 데이터에 대해서는 무조건 기록한다.
    • 커밋이 일어나지 않더라도 다음의 경우에 로그 버퍼의 내용
              SQL
                          Server
    이 기록된다.              Process
                  Result
     - 매 3초마다.
     - Client 로그 버퍼의 1/3이상이 기록되었을 때
       리두
     - DBWR 프로세스가 변경된 블록을 기록하기 전에(필요시)
                               PMON SMON CKPT DBWR                   LGWR



                                Control
                                  file        Data file
                                                              Redo log
                                                                files

                                               Database
                              http://www.shsvc.co.kr                          25
ORACLE DBMS Architecture                                 Make a Real DBA
Background Process

                Database Writer Process

                                          Instance
      Database Writer Process
                       Shared Pool        Database Buffer Cache Redo Log
                                                                 Buffer
     DBWR 프로세스는 DB 버퍼 캐시의 더티 버퍼를 기록하는 프로세스
     이다.
           SQL
     • 서버 프로세스가 재사용 가능한 버퍼블럭을 찾을 수 없을 경우
                       Server
                      Process
     • 체크포인트(checkpoint )를 진행시키기 위해 정기적으로 기록한다.
               Result
       Client

                        PMON SMON      CKPT       DBWR           LGWR



                           Control
                             file        Data file
                                                          Redo log
                                                            files

                                          Database
                         http://www.shsvc.co.kr                            26
ORACLE DBMS Architecture                                 Make a Real DBA
Background Process

                     Checkpoint Process
       Checkpoint Process
      CKPT 프로세는 모든 데이터 파일의 헤더 정보를 업데이트하고 컨트 Instance
      롤 파일에 체크포인트에 대한 상세 정보를 Database Buffer Cache Redo Log
                                Shared Pool 기록하는 프로세스이다.
                                                      Buffer
      • 체크포인트가 발생하는 시점
       - 로그 스위치 발생 시
             SQL
                         Server
       - abort 옵션을 제외한 데이터베이스 종료시
                        Process
       - ALTER SYSTEM CHECKPOINT; 커맨드에 의해
                 Result
      Client
       - 초기화 파라미터 설정값에 의한 시점에
                         PMON SMON     CKPT       DBWR         LGWR



                           Control
                             file        Data file
                                                         Redo log
                                                           files

                                          Database
                         http://www.shsvc.co.kr                        27
ORACLE DBMS Architecture                                 Make a Real DBA
Background Process

                System Monitor Process

                                          Instance
        System Monitor Process
                       Shared Pool        Database Buffer Cache Redo Log
                                                                 Buffer
       • 인스턴스 시작시 인스턴스 복구를 수행한다.(필요시)
       • 사용되지 않는 임시 세그먼트의 정리작업을 수행한다.
           SQL
                       Server
       • 딕셔너리 관리 테이블스페이스에 대해 free extent들의 병합작
                      Process
       업을 수행한다.Result
       Client

                        PMON SMON      CKPT       DBWR           LGWR



                           Control
                             file        Data file
                                                          Redo log
                                                            files

                                          Database
                         http://www.shsvc.co.kr                            28
ORACLE DBMS Architecture                                Make a Real DBA
Background Process

                Process Monitor Process

                                         Instance
                         Shared Pool     Database Buffer Cache Redo Log
                                                                Buffer
           Process Monitor Process
         • 사용자 프로세스의 실패시 프로세스 복구를 수행한다.
            SQL
         • 사용자 프로세스가 사용하던 자원에 대한 할당 해제 및 버퍼 캐시
                        Server
         의 정리를 수행한다.   Process
                Result
       Client

                        PMON SMON      CKPT      DBWR           LGWR



                           Control
                             file       Data file
                                                         Redo log
                                                           files

                                         Database
                        http://www.shsvc.co.kr                            29
ORACLE DBMS Architecture                                  Make a Real DBA
Background Process

                     Archiver Process

                                           Instance
        Archiver ProcessShared Pool        Database Buffer Cache Redo Log
                                                                  Buffer
      ARCH 프로세스는 아카이브로그 모드로 운영하는 데이터베이스에
      대해 온라인 리두 로그 파일을 지정한 저장소로 백업하는 프로세
           SQL
      스이다.             Server
                      Process
      - 파일 아카이빙은 로그 스위치와 동시에 시작한다.
               Result
       Client

                         PMON SMON      CKPT       DBWR    LGWR       ARCH


                           Control
                             file         Data file
                                                                             Archived
                                                           Redo log          log files
                                                             files

                                           Database
                          http://www.shsvc.co.kr                                   30
ORACLE DBMS Architecture                                               Make a Real DBA


            ORACLE RDBMS Architecture
                                                 Instance
                                 Shared Pool     Database Buffer Cache Redo Log
                                                                        Buffer

            SQL
                        Server
                       Process
                  Result
   Client

                            PMON SMON          CKPT   DBWR        LGWR ARCH



                                 Control
                                   file         Data file
                                                                 Redo log         Archived
                                                                   files          log files

                                                 Database

                                       http://www.shsvc.co.kr                                 31
ORACLE DBMS Architecture                                                Make a Real DBA


               데이터베이스 시작과 종료
  SQL> startup
  ORACLE instance started.
  Total System Global Area       30901048   bytes
  Fixed Size                       729912   bytes                                   Normal Operation
  Variable Size                  25165824   bytes                               OPEN
  Database Buffers                4194304   bytes
                                                                   Data files and
  Redo Buffers                     811008   bytes                  Log files open
  Database mounted.
  Database opened.                                           MOUNT
  SQL>                                      Control file open

                                      NOMOUNT
                      Instance create
                         Init file open

 SHUTDOWN
              STARTUP NOMOUNT        ALTER DATABASE MOUNT;      ALTER DATABASE OPEN;

                                   http://www.shsvc.co.kr                                          32
ORACLE DBMS Architecture                       Make a Real DBA




         감사합니다

                      http://www.shsvc.co.kr                 33
ORACLE DBMS Architecture                       Make a Real DBA




                  Q&A

                      http://www.shsvc.co.kr                 34

								
To top