공부/데이터베이스
-
[데이터베이스] 동기화 확인 방법공부/데이터베이스 2022. 12. 22. 14:26
■ 동기화 확인 방법 Controll File, Data File, RedoLog File을 확인하여 SCN을 확인하여 3개의 파일의 SCN이 동일하다면 동기화가 완료되었다는 것이다. RedoLog File에 SCN이 동일하지 않다면 Archive RedoLog File을 찾아본다. ■ System Commit Number(SCN) 명칭 설명 System Commit Number(SCN) COMMIT이 발생하면 이를 처리하던 트랜잭션은 고유 번호(SCN)를 받는다. 트랜잭션들을 관리(읽기 일관성)할 수 있다. 장애 발생 시 복구의 키가 될 수 있다. Control File, DataFile, RedoLog File에 기록된 SCN을 비교하면 복구 위치를 알 수 있다. ■ LRU List 명칭 설명 LRU..
-
[데이터베이스] Oracle 서버 기동 단계(Shoutdown, Nomount, Mount, Open)공부/데이터베이스 2022. 12. 21. 21:47
■ Oracle 서버 기동 단계 상태 설명 Shutdown Database, Instance를 중지한 상태 Nomount Parameter File을 읽고 Instance를 시작 Control File 재창조 Database 생성 Mount Istance, Database *맵핑 생성된 Istance를 사용할 Database로 연결 Open 정상적으로 Oracle 서버를 서비스할 수 있는 단계 모든 파일의 존재를 확인 Control File, Data File, RedoLog File이 동기화 되어있지 않으면 오류 반환 *맵핑 : 하나의 값을 다른 값으로 대응시키는 것 ■ Archive Log Mode 명칭 설명 Archive Log Mode RedoLog File을 Archive Log File에 저장..
-
[데이터베이스] 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로 저장된다...