Make a Real DBA 오라클 저장 영역 구조 ㈜ 신한시스템즈 김 종 근김 종 근 김 종 근김 종 근.

Slides:



Advertisements
Similar presentations
일정 관리 다이어리 제작 JSP Programming with a Workbook. 학습 목표  사용자의 일정을 관리할 수 있는 다이어리에 대하여 알아보자. JSP Programming with a Workbook2.
Advertisements

안성필 내부구조. Oracle 이란 ? Oracle 사가 만든 DBMS 의 한 종류로 Database 에서 가장 많이쓰이는 프로그램 검색 · 갱신용 언어로는 국제 표준화 기구 (ISO) 에 서 표준화한 구조화 조회 언어 (SQL) 가 표준.
Oracle DB 구조 및 트랜잭션 관리 이경화 Database 의 구조 Program Global Area (PGA) Instance Database Buffer Cache Redo Log Buffer Library Cache Shared.
목차 Chapter1. 데이터베이스 Chapter2. 오라클 설치 Chapter3. 오라클 메모리 Chapter4. 오라클 프로세스 Chapter5. 오라클 엑세스 및 시스템 뷰 Chapter6. 오라클 필수 파일 Chapter7. 오라클 시작과.
오라클 백업과 복구.
제 3장 오라클 소개 오라클 소개 오라클 설치 방법 오라클 구조 제 3 장 오라클 개요.
PARK SUNGJIN Oracle 설치 PARK SUNGJIN
소리가 작으면 이어폰 사용 권장!.
You YOungseok 데이터베이스 테이블 및 인덱스 You YOungseok.
데이터 모델링 방법론 2003년 03월.
Database & Internet Computing Laboratory 한 양 대 학 교
[오라클 DB 최적의 물리적 설계 및 SQL 튜닝 방법론]
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
제 5 장 인덱스 생성 및 관리.
데이터 베이스 설계 및 실습 #1 - 오라클 설치 및 SQL 기본.
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
JDBC 프로그래밍 이수지 이동주 1.
MySQL performance Xhark 김재홍.
데이터베이스 담당교수 신정식 Chapter 4 SQL(1).
12장 데이터 읽기 일관성과 락.
Toad for Oracle 설치 방법.
6장 Mysql 명령어 한빛미디어(주).
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
kHS 데이터베이스 테이블 및 인덱스 kHS.
RAC설계 및 Backup.
오라클 데이터베이스 성능 튜닝.
Make a Real DBA 오라클 데이터베이스 관리시스템 아키텍처 ㈜ 신한시스템즈 김 종 근.
11 테이블 관리와 데이터 딕셔너리 데이터베이스 응용 프로젝트 개발 테이블 구조 변경 데이터 딕셔너리.
3장. 데이터베이스 구축의 전체 과정 미리 실습하기
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
5장 Mysql 데이터베이스 한빛미디어(주).
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
07 그룹 함수 그룹 함수의 개념 그룹 함수의 종류 데이터 그룹 생성 HAVING 절.
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
18강. 데이터 베이스 - II JDBC 살펴보기 Statement객체 살펴보기 Lecturer Kim Myoung-Ho
9장 테이블 생성 및 변경, 삭제하기(DDL).
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
MYSQL 설치 SQL언어 SQL언어의 활용 웹과 SQL언어와의 연동
KHS JDBC Programming 4 KHS
YOU Youngseok 트랜잭션(Transaction) YOU Youngseok
5장 Mysql 데이터베이스 한빛미디어(주).
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
You YoungSEok Oracle 설치 You YoungSEok
Grade Server Team14. Attention Seeker
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
JDBC Lecture 004 By MINIO.
제 20 장 오라클에서 회복 및 백업 기능.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
04. DBMS 개요 명지대학교 ICT 융합대학 김정호.
기말 프로젝트 계획 MVC 패턴 기반 웹 애플리케이션 개발 프로젝트명 : 팀명 : 팀원 :
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
문성우 SQL 실습 Part Ⅰ 문성우.
SQL Server 2000 세미나 View, SP &Trigger
제 18 장 (Oracle) 오라클에서 트랜잭션 지원
오라클 11g 보안.
14 뷰(View) 뷰의 개념 뷰 관리.
제 23 장 오라클에서 보안 기능.
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
제 4 장 Record.
10주 MariaDB에서 트랜잭션 지원 및 동시성 제어 기능
Mariadb 트랜잭션과 동시성 제어 장종원
CHAP 15. 데이터 스토리지.
14 뷰(View) 뷰의 개념 뷰 관리.
 6장. SQL 쿼리.
임시테이블과 테이블변수 SQLWorld Study Group - 최명환 -.
Ⅰ. 데이터베이스 정의 Ⅱ. MS SQL 서버 Ⅲ. 데이터베이스 인터페이스
Presentation transcript:

Make a Real DBA 오라클 저장 영역 구조 ㈜ 신한시스템즈 김 종 근김 종 근 김 종 근김 종 근

ORACLE DBMS Storage Architecture Make a Real DBA 2 오라클 DBMS 저장 영역 구조 테이블스페이스와 데이터 파일 세그먼트와 익스텐트 데이터 블럭 구조 Q & A

ORACLE DBMS Storage Architecture Make a Real DBA 3 저장 영역 설정 옵션 Storage Architecture CATEATE TABLE emp ( empno NUMBER(4) …, ename VARCHAR2(10) …, ………… ) TABLESPACE company STORAGE ( INITIAL 200K NEXT 200K PCTINCREASE 50 MINEXTENTS 5 MAXEXTENTS 20 FREELISTS 2 FREELIST GROUPS 2 ) PCTFREE 20 PCTUSED 50 INITRANS 5 MAXTRANS 10;

ORACLE DBMS Storage Architecture Make a Real DBA 4 오라클 DB 의 구성요소 Database 구성 파일 Tablespace & Data files Data file Control file Redo log files Database

ORACLE DBMS Storage Architecture Make a Real DBA 5 데이터 파일 데이터파일란 ? Tablespace & Data files  데이터의 물리적 저장소  하나 이상의 물리적 블록 (OS 블록 ) 으로 구성 Company Database a.dbfb.dbf c.dbf d.dbf

ORACLE DBMS Storage Architecture Make a Real DBA 6 테이블스페이스 테이블스페이스란 ? Tablespace & Data files  데이터의 논리적 저장소  하나 이상의 물리적 파일들로 구성 SALES T.SSystem T.SPRODUCT T.S Company Database a.dbfb.dbf c.dbf d.dbf

ORACLE DBMS Storage Architecture Make a Real DBA 7 세그먼트 세그먼트란 ? Segment & Extent  저장영역을 필요로 하는 오브젝트  예 ) 테이블, 인덱스 SALES T.SSystem T.SPRODUCT T.S Company Database a.dbfb.dbf c.dbf d.dbf

ORACLE DBMS Storage Architecture Make a Real DBA 8 익스텐트 익스텐트란 ? Segment & Extent  세그먼트에 저장영역을 할당하는 단위  하나 이상의 연속된 데이터 블록으로 구성 SALES T.SSystem T.SPRODUCT T.S Company Database a.dbfb.dbf c.dbf d.dbf

ORACLE DBMS Storage Architecture Make a Real DBA 9 데이터 블록 데이터 블럭이란 ? Data Block Structure  데이터를 저장하고 관리하기 위한 논리적 최소 단위  오라클의 최소 I/O 단위 SALES T.SSystem T.SPRODUCT T.S Company Database a.dbfb.dbf c.dbf d.dbf

ORACLE DBMS Storage Architecture Make a Real DBA 10 스토리지 계층 Data Block Structure LogicalPhysical Database Tablespace Segment Extent DB_Block OS Block Data File

ORACLE DBMS Storage Architecture Make a Real DBA 11 로 데이터 저장 Data Block Structure  테이블 및 인덱스의 데이터는 행 단위로 데이터 블록에 저장  블록 및 행의 사이즈에 의해 블록 내 행의 수가 결정 SALES T.SSystem T.SPRODUCT T.S Company Database a.dbfb.dbf c.dbf d.dbf 10 김종근부산시 동구 초량 … 40 최경식부산시 남구 대연 … 20 김동현부산시 동래구 … 30 신성식부산시 사하구 장림 Block Header

ORACLE DBMS Storage Architecture Make a Real DBA 12 로의 구조 Data Block Structure  Row Header: 컬럼의 개수, 체인정보, 잠금 상태 Size: 3Bytes  Column Data: 컬럼의 실제 값  Column Length: 컬럼 값이 길이 Size: 1Byte (Data<=250Bytes) 3Bytes (Data>250Bytes) HeaderLengthDataLengthData

ORACLE DBMS Storage Architecture Make a Real DBA 13 데이터 블록 헤더 Data Block Structure  Fixed Header: 블록 주소, 세그먼트 종류 정보 Size: 57Bytes Size: 4Bytes * 테이블 수  Table Directory: 블록에 포함된 테이블에 대한 정보 Size: 2Bytes * 로 수  Row Directory: 블록 내 생성된 로에 대한 정보 Fixed + Variable HeaderTable DirectoryRow Directory  Variable Header: 트랜잭션 슬롯 영역 Size: 23Bytes * 슬롯 수

ORACLE DBMS Storage Architecture Make a Real DBA 14 블록 내부에서 데이터 증감 Data Block Structure 데이터삽입가능데이터삽입불가데이터삽입가능 데이터삽입불가 Insert Delete Insert Data Increase Header Increase

ORACLE DBMS Storage Architecture Make a Real DBA 15 행 이전 Data Block Structure 40 최경식부산시 남구 대연 … 60 김진명 70 홍민우 50 이동원 80 김일동 부산시 중구 중앙동 90 이정현 부산시 해운대구 우 70 홍민우 부산시 중구 중앙동 UPDATE table SET addr= ‘ 부산시 중구 중앙동 …’ WHERE empno=70; addr 40 최경식부산시 남구 대연 … 60 김진명 50 이동원 80 김일동 부산시 중구 중앙동 90 이정현 부산시 해운대구 우

ORACLE DBMS Storage Architecture Make a Real DBA 16 PCTFREE, PCTUSED Data Block Structure PCTFREE PCTUSED 기본값 : 10% 차후 데이터 변경에 따른 Row 사이즈 증가시 사용 영역 UPDATE 구문에 의한 Row 사이즈 변화에 따라 적절한 값 사용 일정 영역 이상 사용가능 상태를 확보 기본값 : 40% 데이터 삭제 및 삽입, 조회 작업의 성격에 따라 적절한 값 사용 PCTFREE 와 PCTUSED 값의 의해 공간 활용도와 성능에 영향을 미친다. 공간 활용 자체가 성능에 밀접한 관계를 가지므로 신중히 고려하여야 할 것이다.

ORACLE DBMS Storage Architecture Make a Real DBA 17 INITRANS, MAXTRANS Data Block Structure  Transaction Slot 트랜잭션 정보 ( 세션, 언두 ) 를 기록하는 공간 사이즈 : 23Bytes TX Slot 의 동적 할당 회피하기 위해 INITRANS 값을 사용하고, 공간 활용을 위해 MAXTRANS 를 사용한다.  INITRANS 블록 내 TX Slot 의 최초 개수 기본값 : 1( 테이블 ), 2( 인덱스 ) 블럭내 로의 수와 동시 트랜잭션 량에 따라 적절한 값 사용  MAXTRANS 블록 내 TX Slot 의 최대 개수 기본값 : 255 Rollback Segment

ORACLE DBMS Storage Architecture Make a Real DBA 18 세그먼트 생성과 블록 활용 Data Block Structure CRATE TABLE a ( num NUMBER(4) …….. ) INITRANS 5 MAXTRANS 10 PCTFREE 20 PCTUSED 60;

ORACLE DBMS Storage Architecture Make a Real DBA 19 저장 영역의 할당 Data Block Structure A01.dbf CRATE TABLE a ( num NUMBER(4) …….. );  Segment Header Block: 익스텐트 테이블, 프리 리스트, 고수위 정보  Data Block: 사용자 테이블의 데이터 Extent

ORACLE DBMS Storage Architecture Make a Real DBA 20 PCTFREE 와 FREELIST Data Block Structure B1B3B4B5B2 FreeList search B3B4B5 search

ORACLE DBMS Storage Architecture Make a Real DBA 21 FREELISTS, FREELIST GROUPS Data Block Structure B1B3B4B5B2 search B1B3B4B2 search  Free List: 삽입 가능한 블록의 목록  Free List Group: OPS 환경에서 세그먼트 헤더 블록에 대한 경합을 줄이기 위해 사용 Free List 블럭의 개수

ORACLE DBMS Storage Architecture Make a Real DBA 22 저장 영역 할당 단위 Data Block Structure A01.dbf CRATE TABLE a ( num NUMBER(4) …….. ) STORAGE ( INITIAL 200K NEXT 300K PCTINCREASE 50 MINEXTENTS 1 MAXEXTENTS 121); Initial(200k)next(300k) Minextents(1) Next=next*(1+pctincrease/100) Maxextents(121)

ORACLE DBMS Storage Architecture Make a Real DBA 23 저장 영역의 사용 Data Block Structure A01.dbf CRATE TABLE a ( num NUMBER(4) ……..); CRATE TABLE b ( num NUMBER(4) ……..); CRATE TABLE c ( num NUMBER(4) ……..); CRATE TABLE d ( num NUMBER(4) …….. ); A1 A2 A3 A4 A0B1 B2B3 B0 C2 C0 D0 C1

ORACLE DBMS Storage Architecture Make a Real DBA 24 세그먼트 삭제와 단편화 Data Block Structure A01.dbf A1 A2 A3 A4 A0 C2 C0 D0 C1 DROP TABLE b; A01.dbf A1 A2 A3 A4 A0B1 B2B3 B0 C2 C0 D0 C1

ORACLE DBMS Storage Architecture Make a Real DBA 25 세그먼트 삭제와 단편화 Data Block Structure A01.dbf A1 A2 A3 A4 A0 C2 C0 D0 C1 DROP TABLE b; DROP TABLE c;

ORACLE DBMS Storage Architecture Make a Real DBA 26 세그먼트 삭제와 단편화 Data Block Structure A01.dbf A1 A2 A3 A4 A0 D0 DROP TABLE b; DROP TABLE c;

ORACLE DBMS Storage Architecture Make a Real DBA 27 세그먼트 삭제와 단편화 Data Block Structure A01.dbf DROP TABLE b; A1 A2 A3 A4 A0 D0 DROP TABLE c; CREATE TABLE f ( num NUMBER(4) …… ) STORAGE( INITIAL 500k …. ); F0

ORACLE DBMS Storage Architecture Make a Real DBA 28 저장영역 설정시 고려사항 Data Block Structure 단편화를 없애자. 익스텐트 할당은 응답 속도에 영향을 준다. 저장영역의 낭비를 없애자. A01.dbf A1 A2 A3 A4 A0 D0F0

ORACLE DBMS Storage Architecture Make a Real DBA 29 세그먼트와 테이블스페이스 Data Block Structure CRATE TABLE a ( num NUMBER(4) …….. ) TABLESPACE sales STORAGE ( …….. ); SALES T.S PRODUCT T.S Company Database a.dbfb.dbf c.dbf CRATE TABLE b ( num NUMBER(4) …….. ) TABLESPACE product STORAGE ( …….. );

ORACLE DBMS Storage Architecture Make a Real DBA 30 주요 시스템 테이블스페이스 Tablespace & Data files  시스템 테이블스페이스. 데이터딕셔너리 저장 데이터베이스 생성시 생성  임시 테이블스페이스 정렬 작업을 위한 임시 데이터 저장  언두 ( 롤백 ) 테이블스페이스 트랜잭션을 위한 언두 정보 저장 System T.S s.dbf Temp T.S t.dbf RBS T.S r.dbf

ORACLE DBMS Storage Architecture Make a Real DBA 31 사용자 테이블스페이스 생성 Tablespace & Data files CREATE TABLESPACE product DATAFILE ‘ / …./p1.dbf ’ SIZE 1000M; System T.S SALES T.S s1.dbfs2.dbf PRODUCT T.S p1.dbf s.dbf Temp T.S t.dbf RBS T.S r.dbf CREATE TABLESPACE sales DATAFILE ‘ / …./s1.dbf ’ SIZE 500M, ‘ / …./s2.dbf ’ SIZE 500M DEFAULT STORAGE( INITIAL 200K NEXT 200K PCTINCREASE 50 MINEXTENTS 5 MAXEXTENTS 20 FREELISTS 2 FREELIST GROUPS 2 );

ORACLE DBMS Storage Architecture Make a Real DBA 32 지역 관리 테이블스페이스 (8i) Tablespace & Data files CREATE TABLESPACE product DATAFILE ‘ / …./p1.dbf ’ SIZE 1000M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K DEFAULT STORAGE( INITIAL 200K NEXT 200K PCTINCREASE 50 MINEXTENTS 5 MAXEXTENTS 20 FREELISTS 2 FREELIST GROUPS 2 ); p1.dbf PRODUCT T.S ※ next, pctincrease 값은 무시됨  익스텐트 할당 정보를 각 데이터 파일에서 비트맵으로 관리

ORACLE DBMS Storage Architecture Make a Real DBA 33 지역 관리 테이블스페이스의 장점 Tablespace & Data files  성능과는 무관하게 많은 익스텐트 사용  단편화가 없다.  동시성, 속도 향상. 비트맵 이용 동일 익스텐트 사이즈 딕셔너리 의존도 제거 딕셔너리 경합 제거 딕셔너리에 대한 작업 제거 p1.dbf PRODUCT T.S

ORACLE DBMS Storage Architecture Make a Real DBA 34 테이블스페이스 생성시 고려사항 Tablespace & Data files SALES T.S System T.S PRODUCT T.S s1.dbfs2.dbf p1.dbf s.dbf Temp T.S t.dbf RBS T.S r.dbf 데이터의 확장성 물리적 I/O 성능 데이터의 성격 실패시 영향

ORACLE DBMS Storage Architecture Make a Real DBA 35 저장 영역 설정 옵션 Storage Architecture CATEATE TABLE emp ( empno NUMBER(4) …, ename VARCHAR2(10) …, ………… ) PCTFREE 20 PCTUSED 50 INITRANS 5 MAXTRANS 10; STORAGE ( INITIAL 200K NEXT 200K PCTINCREASE 50 MINEXTENTS 5 MAXEXTENTS 121 FREELISTS 2 FREELIST GROUPS 2 ) TABLESPACE company

ORACLE DBMS Storage Architecture Make a Real DBA 36 감사합니다

ORACLE DBMS Storage Architecture Make a Real DBA 37 Q & A