공부
-
[데이터베이스] Segment Header, FreeList, BitMap, HighWaterMark(HWM)공부/데이터베이스 2022. 12. 21. 21:15
■ Segment Header 명칭 설명 Segment Header SEGMENT ID, BITMAP or FREELIST, HWM이 존재한다. ■ FreeList 0 0 ~ 39% 1 40% 이상 FreeList는 0~39%이면 0 40% 이상이면 1로 표기한다. FreeList가 1일 때 40%만큼의 공간만 차지한다고 하더라도 추가할 수 없다. ■ BitMap 00 0 ~ 25% 01 26 ~ 50% 10 51 ~ 75% 11 76 ~ 100% 위와 같이 정의했다고 가정해보자 DATABASE BLOCK 1K 00 01 10 11 1 2 3 4 1번 블록은 0~25%, 2번 블록은 26~50%, 3번 블록은 51~75%, 4번 블록은 76~100%가 채워져있다는 소리이다. 만약 1번 블록에 이미 100..
-
[데이터베이스] Parsing(구문 분석)공부/데이터베이스 2022. 12. 21. 20:02
■ Parsing 명칭 설명 Syntax Check (문법 검사) 오라클의 키워드 검사 Semantic Check (의미 검사) 테이블 이름이나 컬럼명 검사 Privileges Check (권한 검사) 해당 사용자가 이 테이블을 조회할 수 있는지 검사 Parsed Tree SQL Parser를 통해 문장에 쓰인 키워드, 컬럼명을 분석 Execution Plan (실행 계획) 사용자가 SQL을 실행하여 데이터를 추출하려고 할 때 Optimizer가 수립하는 작업절차 ■ Parsing의 과정 명칭 설명 Soft Parsing Library Cache에 이전에 실행했던 쿼리가 있으면 실행 Hard Parsing Library Cache에 이전에 실행했던 쿼리가 없는 경우 2가지 과정을 거친다. Optimiza..
-
[데이터베이스] CHAR, VARCHAR2공부/데이터베이스 2022. 12. 21. 17:11
■ CHAR 명칭 설명 CHAR 고정적 CHAR(100)을 설정하고 50byte만 사용하더라도 항상 100byte를 차지한다. ■ VARCHAR2 명칭 설명 VARCHAR2 가변적 VARCHAR2(100)으로 설정하고 50byte만 사용하였다면 남은 50byte를 다음 컬럼으로 넘겨준다. 디스크를 1K로 만들면 작업을 위한 프리 스페이스(엑스트라 스페이스)가 10% 여유 공간으로 만들어진다. 50byte를 이미 사용하고 있는데 Update, Insert 등으로 설정한 100byte가 넘게되었으면 프리스페이스에서 블록체인으로 연결되어 작업을 하게된다. 만약에 Update나 Insert를 통해 수정이나 삽입을 할 때 프리스페이스 공간보다 크면 Migration 현상이 일어나게 된다. ■ VARCHAR2 - ..
-
[데이터베이스] Oracle 저장 구조 Extent, Segment공부/데이터베이스 2022. 12. 21. 14:16
■ 오라클 저장 구조 명칭 설명 Extent 연속적으로 있는 Block을 묶어 둔 것을 의미하는 논리적 단위 하나의 데이터 파일에 여러 개의 테이블이 존재할 수 있다. 테이블 별로 Block의 구역을 나누어 저장하여 검색범위를 줄이기 위해 Extent를 사용 Segment Extent를 여러 개 묶어 둔 것을 의미하는 논리적 단위 Oracle Object 중 독자적인 저장 공간을 가지는 것들 Table, Index, Undo, Temp 등이 있다. 세그먼트 블록에 첫번째 Extent블록을 세그먼트 헤드 블록이라고 한다.
-
[데이터베이스] Oracle DML Lock공부/데이터베이스 2022. 12. 20. 15:28
■ Oracle DML Lock Lock은 테이블 단위로 Lock을 건다. 명칭 설명 RS (Row Share) Table에 Lock을 걸려는 Transaction이 Table안에 Lock 된 Row가 있고 그 Row를 변경시키고자 하는 것을 가르킴 RX (Row Exclusive) Lock이 걸린 Transaction이 그 Table에 있는 Row들에 대해 하나 이상의 Update를 수행하고자 하는 것을 가르킨다. S (Share) Lock Transaction에 의해서 걸리는 Share Table Lock은 다른 Transaction들이 Table에 대한 Query를 이용한 특정 Row에 대한 Lock문들을 성공적으로 수행하기 위해서 허용 SRX (Share Row Exclusive) 한 시점에 주어..
-
[데이터베이스] Oracle System file, Data file, Undo Segment, Redo Log Files, Archived Read Log Files공부/데이터베이스 2022. 12. 20. 15:15
■ DataBase 데이터베이스 기본적으로 디스크에 원본이 있지만 속도차이 때문에 메모리에 엔진을 올려 CPU에서 실행된다. 명칭 설명 System File (시스템 카탈로그) 시스템과 관련된 일을 한다. Data File DB에 데이터를 담는 파일 Undo Segment (Before) 데이터베이스를 변경사항을 롤백, 취소할 때 사용되는 정보를 생성하고 관리 Commit 되기 전에 트랜잭션 작업에 대한 기록으로 구성 Redo Log Files (Before/After) DDL, DML 문장에 의해 데이터베이스의 저장된 값, 데이터베이스 구조에 변경사항이 생기면 이를 저장하는 메모리 영역 해당 영역에 저장되는 정보들이 commit 되는 순간 Log Writer에 의해 Redo Log File로 저장된다...
-
[데이터베이스] DDL, DML, DCL공부/데이터베이스 2022. 12. 20. 11:37
■ DDL(데이터 정의어) 데이터베이스를 정의하는 언어이며 생성, 수정, 삭제 등 데이터 전체의 골격을 정의한다. 명칭 설명 Create 데이터베이스, 테이블을 생성 Alter 테이블을 수정 Drop 데이터베이스, 테이블을 삭제 Truncate 테이블을 초기화 ■ DML(데이터 조작어) 데이터베이스 입력된 *레코드를 조회, 수정, 삭제하는 언어를 말한다. 명칭 설명 Select 데이터를 조회 Insert 데이터를 삽입 Update 데이터를 수정 Delete 데이터를 삭제 ■ DCL(데이터 제어어) 데이터베이스에 접근하거나 객체에 권한을 주는 언어를 말한다. 데이터의 무결성, 보안, 회복 등을 정의한다. 명칭 설명 Grant 특정 데이터베이스 사용자에게 특정 작업에 대한 수행권한 부여 Revoke 특정 데..
-
[데이터베이스] System Global Area(SGA)공부/데이터베이스 2022. 12. 19. 16:49
■ System Global Area(SGA) 오라클이 데이터를 읽거나 변경하기위해 사용하는 공용 메모리 영역 SGA 종류 설명 Share Pool 공용 정보 관리 공간 Library Cache Parse 과정을 통해 사용자가 실행한 SQL 문장과 Excution Plan(실행계획)이 저장 Parsing 작업을 통해 Library Cache에 저장, 이미 저장되어 있다면 Soft Parse를 진행하여 바로 메모리로 읽어옴 Dictionary Cache Data Dictionary Object 정보를 저장하는 공간 Library Cache에 해당 Query가 존재하지 않아 HardParsing 작업을 할 때 Semantic Check 작업을 통해 Query에서 사용한 테이블, 칼럼, 사용자의 권환 확인 D..