SCN(System Change Number)DB의 변경이 발생한 시점. 즉 COMMIT이 발생하면 트랜잭션은 고유한 번호를 받게 됩니다. 이 때 발생하는 번호가 SCN(System Change Number)입니다. 이 SCN을 통해 트랜잭션을 관리할 수 있고 장애 발생 시 복구할 때 사용되는 키가 됩니다.또한, SCN(System Change Number)을 통해서 Data files, Control File, Redo Log File의 동기화 정보를 맞춥니다. SCN에 기록된 파일을 통해 복구 위치 파악하기Data Fiiles: 실제 데이터 저장되는 디스크 상의 물리적 파일이 파일을 OS 상에서 삭제 및 이동하면 안되고 DB에서 삭제해야 합니다. Control File: DB의 제어 정보를 가지고 있..
병렬 처리(Parallel Processing)오라클에서 병렬 처리(Parallel Processing)란 하나의 SQL를 처리하기 위해 여러 개의 프로세스를 띄워 작업 속도를 보다 빠르게 하는 것을 목표로 하는 기능입니다. 기본적으로 사용자 세션(User Session)이 붙게 되면(=SQL Plus 혹은 DBeaver, Toad 등과 같은 툴로 접근하는 경우) 서버 메모리에 Dedicate Server를 띄우게 됩니다. 그리고 하나의 Dedicate Server가 한 세션에 대한 SQL를 처리하게 됩니다. 하지만, 병렬 처리(Parallel Processing)는 여러 개의 Dedicate Server를 통해 SQL를 분할하여 처리합니다. 병렬 처리(Parallel Processing)는 성능 향상에..
파싱(Parsing) SQL은 SGA(System Global Area) 내부 Shared Pool의 라이브러리 캐시(Library Cache)에는 SQL 실행 정보(실행 계획 등...)가 들어있는데, 이러한 실행 정보를 만드는 과정을 파싱(Parsing)이라고 합니다. 파싱(Parsing)은 SQL이 들어오면 이를 분석하여 어떻게 실행할지 계획을 세우고 실행하여 결과를 만들어 냅니다. 이러한 파싱은 소프트 파싱(Soft Parsing)과 하드 파싱(Hard Parsing)으로 나뉘어집니다. 소프트 파싱(Soft Parsing)파싱(Parsing)을 할 때 SQL 자체가 잘못된 SQL. 즉, 문법이 맞지 않거나, 존재하지 않는 테이블에 CRUD 작업을 하는 SQL이 들어올 수 있는데, 이 때 잘못된 SQ..
세그먼트(Segment)와 오브젝트(Object)데이터베이스에서 공간은 테이블스페이스(Tablespace)를 의미합니다. 테이블스페이스에 저장되는 요소에는 테이블(Table), 인덱스(Index), 파티션(Partition) 등이 있습니다. 이렇게 데이터를 가지고 있는 요소들을 세그먼트(Segment)라고 합니다. 반면, 트리거(Trigger), 프로시저(Procedure), 함수(function)과 같이 데이터를 가지고 있지 않고 어떠한 코드만 가지고 있는 것을 오브젝트(Object)라 합니다. 오브젝트(Object)는 세그먼트(Segment) 보다 조금 더 큰 개념으로 오브젝트(Object)는 세그먼트(Segment)를 포함하고 있습니다. 또한, 오브젝트(Object)는 저장 공간을 할당하지 않은 객..
Tablespace 확장 방법1. Resize 방법alter database datafile '+DATAC1/ORA19/DATAFILE/TS1_01' resize 10G;alter database tempfile '/u03/oradata/ORA10/TT_TEMP01.dbf' resize 1000M;TEMP_Tablespace: Sorting이나 GROUP BY 할 때 사용하는 임시적인 공간입니다.2. Add 방법alter tablespace TS1 add datafile size 10G; # Oracle Managed Filesystem의 경우 이렇게 파일 이름을 지정하지 않습니다.alter tablespace TS1 add datafile '+DATAC1/ORA19/DATAFILE/TS1_02' siz..
Oracle DB의 메모리 구조SGA 메모리어떠한 서버의 Memory(=RAM)가 있다고 하면, DB를 설치할 때 메모리에서 "내가 얼마만큼의 공간을 사용하겠다"라고 지정한 공간이 SGA(System Global Area)입니다. 따라서, 이 SGA는 오라클이 사용하는 영역이 됩니다. 그리고 SGA의 내부에는 Buffer Cache, Shared Pool, Large Pool 등의 여러 공간이 존재합니다. 그럼 이 공간들에 대해 하나씩 설명해 보겠습니다.Buffer Cache필요한 데이터를 가져올 때 매번 Disk를 통해 가져오는 것은 속도적인 측면에서 느리기 때문에, 서버 기동 시 필요한 데이터나 자주 사용하는 데이터들을 DB로부터 가져와, 임시적으로 Buffer Cache에 올려 사용합니다. 이후, ..
트랜잭션(Transaction)트랜잭션트랜잭션: DBMS에서 데이터를 다루는 논리적인 작업의 단위DB에서 데이터를 다룰 때 장애가 일어난 경우 데이터를 복구하는 작업의 단위가 됩니다.DB에서 여러 작업이 동시에 같은 데이터를 다룰 때가 이 작업을 서로 분리하는 단위가 됩니다.트랜잭션은 전체가 수행되거나 또는 전혀 수행되지 않아야 합니다.(원자성)우리가 데이터베이스에 삽입, 수정, 삭제 등의 작업을 할 때, 여러 개의 작업들을 하나의 트랜잭션으로 묶습니다. 즉, 트랜잭션은 DBMS에서 데이터를 다루는 논리적인 작업의 단위가 됩니다. 예를 들어 A계좌(홍길동)에서 B계좌(김연아)로 돈을 이체하는 경우에 이 업무는 A에서 돈을 빼고 B에 돈을 더하는 2가지의 Update 문으로 나뉘게 됩니다. 그리고 이것들은..
이상현상(Anomaly)이상현상의 개념삭제 이상: 튜플 삭제 시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상삽입 이상: 튜플 삽입 시 특정 속성에 해당하는 값이 없어 NULL을 입력해야 하는 현상수정 이상: 튜플 수정 시 중복된 데이터의 일부만 수정되어 일어나는 데이터 불일치 현상삭제 이상(Deletion Anomaly)란 튜플을 삭제할 때 저장되어 있는 다른 정보도 삭제되어 연쇄 삭제(Triggered Deletion) 문제가 발생하는 경우를 의미합니다. 아래의 그림에서 장미란 이라는 학생의 정보를 지울 경우 강의실 103도 같이 사라지게 되어 다른 튜플들이 강의실 103을 사용하지 못하는 경우에 발생합니다. 삽입 이상(Insertion Anomaly)란 튜플을 삽입하는 경웨 해당하는 정보가 없..
- Total
- Today
- Yesterday