'메모리영역'에 해당되는 글 1건

  1. 2008.09.25 | [Oracle DataBase 10g] 오라클 데이타베이스 구조

utility Computing : 사용한 만큼을 비용을 지불하겠다. (= grid Computing )

Oracle's Grid infrastructue;
- 저렴한 비용
- 서비스의 질이 향삼됨
- 관리가 쉽다.

Oracle's grid computing technology includes;

ASM(Automatic Storage Management)
데이터베이스가 실행되는 동안 여러 메모리 풀의 크기를 자동으로 조정하여 필요한 경우 메모리를 할당하고 할당 해제합니다.   자동 공유 메모리 관리를 사용하기 위해서는 Oracle 10g에서 새로 추가된 SGA_TARGET  파라미터만  셋팅 하면 됩니다.

Real Application Clusters (RAC) - 서버 구성연결형태

Oracle Stream


Enterprise Manager Grid Control

  • Oracle Server : 개방적이고, 통합적인 데이터 베이스 관리 시스템
    Oracle Server = Instance + Database


  • User Process  - 사용자가 접속요청을 할때 생성된다.
  • Server Process - 사용자가 연결되면 생성된다. 접속된 사용자의 요구사항을 처리한다.
  • Background Process - No mount에서 시작된다.( Instance 시작시)
  • Data buffer Cache 
    • 사용자가 요청한 데이터 블록의 복사본을 저장한다.
    • LRU  알고리즘을 통해 관리된다.
    • 최근에 엑세스하지 않은 버퍼를 삭제하여 데이터 베이스 버퍼 캐시에 새로운 블록을 위한 공간을 만든다.
  • Redo log buffer
    • 데이터 블록의 일어난 모든 변화를 저장하는 메모리 공간
    • 기본적으로 복구에 사용됨
  • Shared pool
    • Library Cache + Dictionary Cache + Control Sturctures
    • Shared Pool은 하나의 데이터베이스에 행해지는 모든 SQL 문을 처리하기 위하여 사용 된다.
      Shared Pool은 문장을 실행하기 위해 그 문장과 관련된 실행 계획과 구문분석 정보가 들어 있다.
  • Streams pool -  오라클 스트림에서 사용하는 메모리 영역
  • Large pool
    • SGA를 구성하는 Optional 성격의 메모리 대용량 메모리를 할당 할 때 사용한다. 백업 및 복원작업, I/O 서버프로세서
  • Java Pool -  Oracle JVM에 접속해 있는 모든 세션에서 사용하는 자바코드가 사용하는 메모리 영역
  • ASM
    • 자동 메모리 관리 
    • 버퍼캐쉬를 자동으로 늘려준다. 10분 마다 메모리 캡쳐를 뜬다.( Workload 작업량을 찍는다.) 
       작업량에 따른 버퍼캐쉬를 자동으로 늘려준다. 자동 공유 메모리 관리를 사용하기 위해서는 Oracle 10g에서 새로 추가된 SGA_TARGET  파라미터를 사용한다


       

  1. System Monitor (SMON) : 오라클 인스턴스 Fail시 인스턴스를 복구한다. Mount와 Open 사이에 발생한다. 
  2. Process Monitor (PMON) : 비정상 종료된 데이터베이스 접속을 종료한다. 세션의 모든트랙잭션  롤백한다. 잠금을 해제한다.  기타 자원을 사용가능하게 한다. 사용불능 디스패쳐를 재시작한다.
  3. DataBase Writer - Data Base Buffer cache 내용을 데이터 파일에 저장하는 작업을 수행한다. Dirty block을 파일에 기록한다. Dirty buffer 들을 디스크에 기록하여 Database Buffer Cache를 Clean하게 유지한다. 최대 10개의 DBWn을 가지나 인스턴스에서는 하나의 DBWn을 사용한다.
  4. Check Point - (CKPT) : 현재 Redo log와 Checkpoint 번호로 data file과 Control file의 헤더를 동기화한다. DBWn에 신호를 보낸다.  물리적 정보를 기록한다.  데이터파일 헤더정보를 갱신한다.

    CheckPoint는 언제발생하는가?
         - log switch 시
         - shutdown abort를 제외한 shutdown 시
         - ALTER SYSTEM CHECKPOINT command를 DBA가 날렸을 때
         - backup 이 실행될 때
         - LOG_CHECKPOINT_TIMEOUT parameter에서 설정한 값이 수행될 때.
         - LOG_CHECKPOINT_INTERVAL parameter에서 설정한 값이 수행될 때.
  5. LogWriter(LGWR) -  서버 프로세스가 데이터 베이스 버퍼 캐시에 저장된 원본 데이터와 변경된 데이터의 복사본을 리루로그 엔트리(리두로그버퍼)에 저장하면 LGWR 프로세스는 리두로그 버퍼에 존재하는 리두로그 엔트리들을 디스크에 있는 온라인 리두로그파일에 기록합니다. 그리고 이프로세스는 현재 온라인 리두 로그의 로그 시퀸스 번호를 데이터 파일 헤더와 컨트록 파일에 기록하고 마지막으로 Dirty Buffer List를 비웁니다.데이터베이스 환경 설정에 따라 변경된 블록들이 다양한 시점에 DBWR에 의해 디스크에 쓰여져서 체크포인트가 발생하면 LGWR은 DBWR에게 변경 사항을 기록하도록 신호를 보냅니다.

Server Process and Database Buffer Cache

  • Buffers
    • Pianned :동일한 블록을 다른 세션이 사용하지 못하게 함. 메모리 락이 설정됨
    • Clean :  삭제대상 블럭
    • Free or unused : 빈블럭 , 한번도 사용안함 . Dirty 다음 Free
    • Dirty : 변경완료 DBWN -> Free

Physical Database Structure

  • Control Files - 최신의 물리적 저장 정보유지
  • Data Files - 데이터 저장소
  • Online redo log files
  • Parameter file - instance open에 필요한 정보 (SharedPool + LargePool)
  • Backup files
  • Archive log files -  백업시 사용되는 로그파일
  • Password File  - Sysdba의 정보보관소
  • Alert and trace log files - 필수검사 로그 파일

Tablespaces and Data Files 

  • Tablespace - 논리적인 저장공간 , 가장큰 저장영역
  • Data Files - 한시점에서 하나의 테이블스페이스에 생성된다
 
블로그 이미지

시반

시반(詩伴)이란 함께 시를 짓는 벗이란 뜻을 가지고 있습니다. 함께 나눌수 있는 그런 공간이길 바라며...

카테고리

분류 전체보기 (233)
개발 이야기 (73)
WEB2.0 (57)
DB2 (24)
MySQL (6)
오라클 (26)
기타 (44)
취미 (0)
잡담 (2)