본문 바로가기
database/oracle

🌱 1편. Oracle Database란 무엇인가 – 기업용 데이터베이스의 대표주자 | 오라클 아키텍쳐

by 죄니안죄니 2025. 4. 8.

들어가며) 오라클이란 무엇인가? - 아키텍처와 특징

Oracle Database(이하 오라클 DB)는 전 세계에서 가장 널리 사용되는 상용 관계형 데이터베이스 관리 시스템(RDBMS) 중 하나입니다.
금융, 제조, 공공기관, 통신, 유통 등 대기업과 대규모 시스템에서 주로 사용되며, 고성능, 고가용성, 뛰어난 보안성과 확장성을 강점으로 갖춘 엔터프라이즈 데이터베이스 솔루션입니다.

이 글에서는 오라클 DB가 어떤 특징을 갖고 있으며, 다른 RDBMS와 어떤 차별점을 가지는지 개념적으로 살펴보면서 오라클 카테고리의 시작을 열어보겠습니다.

 

Oracle Database란?

Oracle Database는 Oracle Corporation에서 개발한 상용 RDBMS 제품군으로, SQL 표준을 바탕으로 하되 오라클 고유의 기능(PL/SQL, RAC, Flashback 등)을 포함합니다.

주요 특징

  • 관계형 데이터베이스(RDBMS): 데이터를 테이블(행/열) 형태로 저장하고, SQL로 조작
  • ACID 보장: 트랜잭션의 원자성, 일관성, 고립성, 지속성을 철저하게 지원
  • 고성능 트랜잭션 처리: 대용량 데이터를 다루는 데에 강력한 파티셔닝, 클러스터링 기능 제공
  • PL/SQL: 저장 프로시저 및 트리거를 위한 강력한 프로그래밍 언어
  • 다양한 운영체제 및 플랫폼 지원
  • 강력한 보안, 백업 및 복구 기능
  • 💾 고가용성(HA): RAC, Data Guard, Flashback 등 다양한 복구/이중화 구조 지원
  • 🚀 성능 최적화: 인덱스, 파티셔닝, 옵티마이저 힌트로 SQL 성능 제어 가능
  • 🛡️ 보안: 사용자, 권한, 역할, 감사(Audit) 기능이 체계적으로 설계됨
  • 🧩 확장성: PL/SQL, 프로시저, 트리거 등 프로그래밍 가능 기능 탑재

오라클의 아키텍처 개요

Oracle은 크게 메모리 구조(SGA/PGA), 프로세스 구조, 파일 구조로 구성됩니다.

1. 메모리 구조

  • SGA (System Global Area): 공유 메모리. SQL 캐시, 버퍼, 파스 정보 저장
  • PGA (Program Global Area): 사용자 세션 별 전용 메모리. 커서 처리, 정렬 공간 등

2. 프로세스 구조

  • 백그라운드 프로세스: DBWn, LGWR, CKPT, SMON, PMON 등
  • 서버 프로세스: 사용자 SQL 요청을 실제로 처리

3. 파일 구조

  • 데이터 파일: 테이블/인덱스 등 실제 데이터 저장
  • 리두 로그(Redo Log): 변경 이력 기록 → 장애 복구에 사용
  • 컨트롤 파일: DB 메타정보(구성, 위치 등) 저장

오라클 DB는 다음과 같은 구성 요소로 이루어집니다:

1. 인스턴스(Instance)

  • 메모리 구조(SGA) + 백그라운드 프로세스로 구성
  • 하나의 인스턴스는 하나 이상의 데이터베이스를 관리

2. 데이터베이스 구조

  • TablespaceDatafileSegmentExtentBlock 구조
  • 논리적/물리적 구조가 명확히 구분됨

3. 백그라운드 프로세스

  • DBWn, LGWR, CKPT, SMON, PMON 등 자동화된 프로세스

4. 데이터 딕셔너리

  • 시스템이 관리하는 메타데이터 집합
  • 사용자, 객체 정보, 권한, 통계 등 포함

Oracle vs MySQL/PostgreSQL vs MS SQL 간 차이

항목 Oracle MySQL / PostgreSQL MS SQL Server
라이선스 상용 오픈소스 상용 (MS 기반)
PL 기능 PL/SQL PL/pgSQL / 없음 T-SQL
주 사용처 대기업, 정부, 금융 스타트업, 일반 서비스 윈도우 기반 기업 환경
고가용성 RAC, DataGuard 등 내장 외부 솔루션 필요 AlwaysOn, 클러스터링 등


 

오라클 DB의 강점

  • 대규모 트랜잭션 처리 성능
  • **RAC(Real Application Clusters)**를 통한 고가용성
  • Flashback 기능으로 데이터 복구 용이
  • DataGuard를 통한 고급 백업/복제/재해복구 지원
  • 세분화된 보안 기능과 감사 로깅(Auditing)

 

오라클 DB는 언제 사용할까?

  • 은행, 보험, 공공기관처럼 안정성과 데이터 무결성, 장애 복구가 최우선인 시스템 
  • 대규모 트랜잭션실시간 분석이 동시에 필요한 환경 하루 수억 건 이상의 트랜잭션을 처리하는 시스템 (예: 카드사, 통신사)
  • 24시간 무중단 시스템이 요구되는 산업
  • 기존 오라클 생태계를 유지/확장하는 기업 환경
  • 비즈니스 로직을 DB단에서 구현해야 하는 복잡한 업무 (PL/SQL 기반)

✅ 실무 관점에서 알아두면 좋은 것

  • Oracle은 설치만 해도 자동으로 ORCL이라는 샘플 데이터베이스가 생성됨
  • 기본 사용자 system, sys 계정은 최상위 권한을 가짐
  • 대부분의 Oracle 실무는 SQL Developer 또는 PL/SQL Developer를 통해 쿼리 수행


 

마치며 – 앞으로 다룰 Oracle Database 주제들

오라클 DB는 방대한 기능을 가진 만큼 학습과 운영에도 깊이 있는 이해가 필요합니다.
이 블로그에서는 다음과 같은 주제를 실무 중심으로 다룰 예정입니다:

  • 오라클 설치 및 SQL Developer 연결 방법
  • 테이블스페이스, 사용자, 권한 구조 이해하기
  •  
  •  
  •  
  • AWR, ASH 리포트를 활용한 성능 진단
  •  

📚 전체 시리즈 목차

1️⃣ 입문 · 기초

  1. 오라클이란 무엇인가? - 아키텍처와 특징
  2. 오라클 설치 및 기본 환경 설정 (Windows/Linux) SQL Developer 사용법
  3. DML/DDL 기본 명령어 정리
  4. 데이터 타입과 NULL 처리 특성

2️⃣ 실무 · 자주 쓰는 기능

  1. 인덱스 구조와 실전 튜닝 전략
  2. 뷰, 시퀀스, 동의어 활용법
  3. 조인과 서브쿼리 정복
  4. 계층 쿼리 완전 정복 (CONNECT BY)
  5. Pivot / Unpivot으로 행열 변환하기
  6. MERGE 문으로 UPSERT 처리하기

3️⃣ 고급 SQL · 성능 최적화

  1. WITH절과 재귀 쿼리 (WITH RECURSIVE)
  2. 동적 SQL과 EXECUTE IMMEDIATE
  3. 오라클 커서와 BULK COLLECT
  4. 실무 고급 SQL 패턴 모음
  5. PARTITION 테이블과 대용량 테이블 설계
  6. 트랜잭션과 격리 수준 완전 정리
  7. Lock 이해와 Deadlock 방지 전략
  8. Connection Pool과 세션 관리
  9. 실행계획(EXPLAIN PLAN)으로 튜닝하기
  10. 통계정보와 옵티마이저 힌트 사용법

4️⃣ PL/SQL 프로그래밍

  1. PL/SQL 기본과 실전 예제
  2. 함수, 프로시저, 트리거 만들기
  3. 예외 처리, 변수 타입, 커스텀 구조
  4. 패키지(PACKAGE)와 재사용 전략

5️⃣ 운영 · 백업 · 보안

  1. Oracle Data Pump 백업 및 복구
  2. 사용자 권한 및 역할 관리
  3. Alert Log와 Trace 파일 분석

🛠 실전 팁

  • 예제 중심으로 구성되어 있어, 직접 실습해보면 학습 효과가 2배!
  • 성능이 중요한 구문은 실행계획(Explain Plan)과 함께 분석합니다.
  • 실무에서 마주치는 문제와 그 해결법을 정리해두었으니 필요할 때 찾아보세요.

오라클을 처음 접하는 개발자부터, 실무에서 관리 중인 DBA까지 모두에게 도움이 되는 내용을 공유하겠습니다.
데이터베이스의 정통 세계, Oracle로 함께 들어가봅시다!

 

댓글