본문 바로가기

ORACLE/아키텍처 기초

(8)
오라클 아키텍쳐 (5) Undo Segment Oracle 데이터베이스의 UNDO 세그먼트Oracle 데이터베이스에는 UNDO 세그먼트라는 특수한 영역이 있어, 트랜잭션이 진행되는 동안 변경되기 전의 데이터를 저장합니다. 이 세그먼트는 트랜잭션 시작 시 자동으로 할당되며다음과 같은 목적으로 사용됩니다.트랜잭션 롤백: 사용자가 트랜잭션을 롤백하거나 시스템 오류로 인해 트랜잭션이 비정상적으로 종료될 경우 데이터를 복구하는 데 사용됩니다.읽기 일관성: 트랜잭션이 진행되는 동안 다른 사용자가 커밋되지 않은 변경 사항을 확인할 수 없도록 하여 트랜잭션 진행 전의 데이터 상태를 보장합니다.  ROLLBACK Segment / UNDO Segment Oracle 8i 이전 버전에서는 롤백 세그먼트가 사용되었습니다. 이러한 세그먼트는 수동으로 관리되어야 했으며 크..
[Oracle] Bigfile Tablespace (BFT) Oracle의 Bigfile Tablespace (BFT)매우 큰 크기의 단일 데이터 파일로 구성된 Oracle Tablespace 유형. Oracle Database 10g부터 새로운 addressing 기법에 의해, 하나의 datafile이 40억개의 block을 가질 수 있게 됨.block의 크기에 따라 8TB ~ 128TB 까지의 최대 크기를 갖는다.Bigfile Tablespace와 구분을 위해 기존의 tablespace를 smallfile tablespace라고 한다.  Bigfile Tablespace 를 통해 매우 큰 데이터 볼륨을 효율적으로 저장하고 관리할 수 있다.  Bigfile Tablespace 특징단일 데이터 파일: Bigfile Tablespace는 단일 데이터 파일로 구성되며..
[ORACLE] 클러스터링 팩터(Clustering Factor) 오라클 클러스터링 팩터(Clustering Factor)테이블 내 어떤 컬럼에서 같은 값을 갖는 데이터가 물리적 저장 구조에 모여있는 정도.데이터 저장 구조가 얼마나 최적화 되어있는지를 나타낸다. 값을 갖는 값이 모여있다면, 흩어져있을 때 보다 더 적은 block을 access해서 결과 값을 출력할 수 있다.즉 클러스터링 팩터가 좋으면 i/o 효율이 좋다.  인덱스의 Clustering Facter인덱스의 데이터 정렬 순서와 테이블의 데이터 저장 순서가 얼마나 비슷한가?비슷한 순서로 저장되어있을 수록 인덱스의 클러스터링 팩터가 좋다.   인덱스의 Clustering Facter  확인 방법통계정보 생성 시 dba_indexes 에서 clustering_factor 를 확인할 수 있다.-- 인덱스의 클러스..
오라클 아키텍쳐 (5) Checkpoint Checkpoint 버퍼 캐시상에서 변경된 블록을 데이터 파일에 기록하는 시점을 Checkpoint라고 한다. 변경사항을 디스크에 바로 기록하지 않고 버퍼 캐시에 기록 후 Checkpoint 마다 디스크에 기록하는 방식으로 디스크 I/O를 최소화하고 성능을 높인다. 프로세스 체크포인트가 발생 CKPT에서 DBWn에 체크포인트가 발생한 것을 통지 통지받은 DBWn은 버퍼 캐시에 변경된 블록을 데이터 파일에 기록 LGWR 또는 CKPT(버전에 따라 상이)이 현재 발생한 checkpoint의 SCN 값을 data file과 control file에 기록 Check Point 발생 경우 Log switch가 발생한 경우 Log_checkpoint_interval 파라미터 만큼의 OS block 간격 (단위는 O..
오라클 아키텍쳐 (4) Redo Log File Redo Log File 데이터 파일에 대한 변경 내역(= REDO Data)을 기록하는 파일. 장애 발생 시 복구 작업 수행 Redo Log Buffer 디스크 접근 횟수를 줄여 성능을 향상시키기 위해 Redo Data를 임시 보관하는 메모리 공간. 프로세스 서버 프로세스가 데이터 변경 시에 REDO Data를 생성한다. Redo Log Buffer에 Redo Date가 임시 보관된다. 백그라운드 프로세스 LGWR(Log Writer)에 의해 Redo Log File에 기록된다. LGWR이 Redo Log Buffer에 임시보관된 Redo Data를 Redo Log File에 기록하는 시점 트랜잭션이 커밋될 때 DBWn이 REDO Data 쓰기를 요청할 때 3초마다 Redo Log Buffer 용량이 ..
오라클 아키텍쳐 (3) Control File Control File 인스턴스 동작에 반드시 필요한 바이너리 파일. DB의 현재 상태 정보 저장. 내용 : 구성 정보와 운영 관리 정보 구성 정보 운영 관리 정보 기록 내용 DB 이름, Data File 파일명, Redo Log File 파일명, 테이블 스페이스 정보 등 Redo Log, Archive Redo Log에 관한 정보, 백업 파일에 관한 정보, 체크 포인트 정보 갱신 DB 구성이 변경될 때마다 오라클에 의해 갱신(같이 변경) 인스턴스 기동 중 오라클에 의해 끊임없이 갱신 유의점 구성 정보와 실제 파일의 위치가 같지 않으면 DB가 기동 되지 않음 인스턴스 기동 중 언제든지 컨트롤 파일에 접근해야 함. 접근 불가능 시 인스턴스 강제 종료 select * from v$controlfile; --..
오라클 아키텍쳐 (2) Data File과 Tablespace Oracle 저장공간은 물리적, 논리적 개념으로 나누어서 볼 수 있습니다. 서버에서 파일 형태로 확인이 가능한 측면을 '물리적' 이라고 표현하고, DB상에서 저장/관리 목적으로 나눈 것으로 서버에서 확인이 불가능한 측면을 '논리적'이라고 표현합니다. Datafile은 데이터를 담고있는 물리적 파일로, 우리가 서버에서 엑셀파일, 워드파일을 보듯이 .dbf 파일을 확인할 수 있습니다. Tablespace는 DB 상에서 한 개 이상의 Datafile을 묶어 이름 붙인 논리적 공간입니다. Tablespace를 구분하면 DB 관리가 용이합니다. 서비스 별, 오브젝트 별(Table/index)로 Tablespace를 구분해서 관리하는 것을 권고합니다. Data File 데이터 파일 : 데이터베이스의 데이터(테이블,..
오라클 아키텍쳐 (1) 개요 Database DB : 어느 한 조직의 응용프로그램들이 공유하며 통합해서 저장한 데이터의 집합체 DBMS : DB를 관리, 구축하고, 효율적으로 사용할 수 있게 하는 툴 RDBMS (Realational Database Management System) : 관계형 DB 관리 시스템 - 테이블 형식으로 데이터 표현 > 단순하고 이해하기 쉬움 - 대량의 데이터 취급. 신뢰도와 접근성 높다. - MySQL, PostgreSQL, MariaDB, MSSQL, Oracle 등 SQL (Structured Query Language) : RDBMS를 위한 표준 질의어 - DML : 데이터 조작어 (SELECT, INSERT, DELETR, UPDATE) - DDL : 데이터 정의어 (CREATE, ALTER, D..