2024. 7. 25. 17:54ㆍDBMS/ORACLE Admin
데이터 저장, 관리 방식
파일 시스템(File System)
장점:
1. 사용 용이성:
- 친숙한 디렉토리 구조와 파일 관리 명령어를 제공하여 사용자가 쉽게 파일을 관리할 수 있다.
2. 광범위한 지원:
- 다양한 운영 체제에서 널리 사용되며, 많은 응용 프로그램이 파일 시스템을 기본으로 지원한다.
3. 데이터 무결성:
- 파일 시스템은 데이터 무결성을 보장하기 위한 다양한 메커니즘(예: 저널링 파일 시스템)을 제공한다.
4. 권한 관리:
- 파일과 디렉토리에 대해 사용 권한을 설정할 수 있어 보안이 강화된다.
단점:
1. 성능 저하:
- 파일 시스템은 메타데이터 관리와 같은 오버헤드가 있어 I/O 성능이 Raw Device나 ASM보다 낮을 수 있다.
2. 단편화:
- 시간이 지남에 따라 파일이 단편화되어 성능이 저하될 수 있다.
3. 복잡성:
- 큰 데이터베이스나 대규모 파일 시스템에서는 관리가 복잡해질 수 있다.
Raw Device
장점:
1. 높은 성능:
- 파일 시스템 오버헤드가 없기 때문에 I/O 성능이 향상된다.
2. 직접 액세스:
- 데이터베이스 관리 시스템(DBMS) 등이 디스크에 직접 접근하여 최적화된 I/O 작업을 수행할 수 있다.
단점:
1. 사용 어려움:
- 사용자 친화적인 인터페이스가 부족하여 관리가 복잡하고 어렵다.
2. 데이터 무결성:
- 파일 시스템이 제공하는 데이터 무결성 메커니즘이 없으므로 별도의 무결성 검사가 필요한다.
3. 호환성:
- 모든 운영 체제나 응용 프로그램에서 지원되지 않을 수 있다.
ASM(Automatic Storage Management)
장점:
1. 자동화:
- 스토리지 관리를 자동화하여 사용자가 스토리지 레이아웃을 신경 쓸 필요가 없다.
2. 성능 최적화:
- 데이터 스트라이핑과 미러링을 통해 성능과 가용성을 최적화한다.
3. 확장성:
- 스토리지 용량을 쉽게 확장할 수 있다.
4. 유연성:
- 디스크 그룹을 통해 다양한 스토리지 장치를 통합 관리할 수 있다.
단점:
1. 복잡성:
- 설정과 관리가 복잡하여 초기 학습 곡선이 가파를 수 있다.
2. 종속성:
- 특정 데이터베이스 소프트웨어(예: Oracle DBMS)에 종속적일 수 있다.
3. 추가 비용:
- 일부 기능은 추가 비용이 발생할 수 있다.
Oracle에서 Automatic Storage Management (ASM)을 선호하는 이유
1. 자동화된 스토리지 관리
- 자동화: ASM은 스토리지 관리를 자동화하여 사용자가 복잡한 스토리지 레이아웃을 수동으로 설정하고 관리할 필요가 없다. 데이터베이스의 스토리지 구성, 데이터 분산 및 균형 조정이 자동으로 수행된다.
- 자동 리밸런싱: ASM은 디스크 그룹 내의 데이터를 자동으로 재배치하여 데이터의 균형을 맞추고, 새로운 디스크가 추가되면 자동으로 리밸런싱을 수행한다.
2. 성능 최적화
- 데이터 스트라이핑: ASM은 데이터를 여러 디스크에 스트라이핑하여 I/O 성능을 향상시킨다. 데이터 스트라이핑은 성능을 향상시키고 병목 현상을 줄이는 데 도움을 준다.
- 미러링: ASM은 데이터의 미러링을 지원하여 높은 가용성을 제공한다. 디스크에 저장된 데이터가 여러 위치에 복제되므로 디스크 장애 시에도 데이터가 손실되지 않는다.
3. 확장성 및 유연성
- 유연한 스토리지 확장: ASM은 새로운 디스크를 추가하거나 기존 디스크를 제거하는 등의 작업을 쉽게 수행할 수 있다. 스토리지 확장을 관리하는 것이 간편하여 대규모 데이터베이스 환경에서 유용한다.
- 디스크 그룹: ASM은 여러 물리적 디스크를 하나의 디스크 그룹으로 묶어 관리한다. 이는 스토리지 자원을 효율적으로 활용할 수 있도록 도와준다.
4. 내장된 데이터 보호
- 고가용성: ASM은 내장된 데이터 보호 기능을 통해 데이터 무결성과 가용성을 높이다. 미러링과 기타 보호 메커니즘을 통해 데이터 손실 위험을 줄이다.
- 복구 기능: ASM은 데이터베이스 복구를 지원하여 시스템 장애 발생 시 빠르게 복구할 수 있도록 한다.
5. 통합 관리
- 단일 관리 도구: ASM은 Oracle Enterprise Manager를 통해 스토리지 관리 작업을 통합적으로 관리할 수 있게 해준다. 관리자가 스토리지 관련 작업을 중앙에서 쉽게 수행할 수 있다.
- 관리 편의성: ASM은 스토리지
관련 작업을 단순화하여 관리자의 작업 부담을 줄이고, 스토리지 관리의 복잡성을 감소시킨다.
ASM의 AU (Allocation Unit)
- 정의: AU는 ASM에서 데이터가 저장되는 기본 단위이다. 각 AU는 일정한 크기의 블록으로 구성되어 있으며, 데이터베이스의 데이터 파일, 인덱스 파일 및 기타 파일의 저장 공간을 관리한다.
- 크기: AU의 크기는 ASM 디스크 그룹을 생성할 때 설정된다. 일반적으로 AU의 크기는 1MB에서 64MB까지 설정할 수 있으며, 이는 스토리지의 요구 사항에 맞게 조정할 수 있다.
AU의 역할
- 공간 관리: ASM은 AU를 사용하여 스토리지 공간을 효율적으로 관리한다. 데이터가 디스크에 저장될 때, ASM은 AU 단위로 데이터를 분산 저장한다.
- 성능 최적화: 데이터가 AU 단위로 저장되면, 디스크 I/O 작업이 더 효율적으로 수행될 수 있다. AU는 데이터 스트라이핑 및 미러링과 함께 사용되어 I/O 성능을 향상시킨다.
AU 설정
- 디스크 그룹 생성 시 설정: ASM 디스크 그룹을 생성할 때 AU 크기를 지정할 수 있다. 이 설정은 디스크 그룹의 스토리지 성능과 효율성에 영향을 미친다.
- 기본값: Oracle ASM은 일반적으로 1MB 크기의 AU를 기본값으로 사용한다. 그러나 필요에 따라 AU 크기를 조정할 수 있다.
AU와 데이터베이스 파일
- 파일 저장: 데이터베이스 파일은 여러 AU로 나누어 저장된다. 데이터베이스의 데이터 블록, 인덱스 블록 등은 AU 단위로 디스크에 분산된다.
- 재배치 및 리밸런싱: 데이터가 추가되거나 삭제되면 ASM은 AU 단위로 데이터의 재배치 및 리밸런싱을 수행하여 디스크 공간을 최적화한다.
AU의 장점
- 효율적인 공간 사용: AU를 사용하여 데이터 저장 공간을 효율적으로 관리할 수 있으며, 디스크 공간의 낭비를 줄이다.
- 성능 향상: AU 단위로 데이터가 저장되면, 디스크 I/O 작업이 최적화되어 성능이 향상된다.
- 유연한 관리: ASM은 AU를 사용하여 스토리지 관리 작업을 자동화하고, 스토리지 용량 확장을 간편하게 처리할 수 있다.
디스크 그룹을 생성할 때 AU 크기를 설정
CREATE DISKGROUP my_diskgroup
EXTERNAL REDUNDANCY
DISK '/dev/oracleasm/disks/disk1',
'/dev/oracleasm/disks/disk2'
ALLOCATION UNIT 8M;
단일 인스턴스(Single Instance)와 Real Application Clusters (RAC) 환경
1. Single Instance 환경에서의 ASM 구성
Single Instance 환경에서는 단일 Oracle 데이터베이스 인스턴스가 단일 서버에서 실행된다. ASM을 사용하는 경우, ASM은 단일 데이터베이스 인스턴스와 스토리지 시스템을 관리한다.
구성 방법:
1. ASM 인스턴스 생성:
- ASM 인스턴스는 Oracle 데이터베이스와 별도로 실행된다. ASM 인스턴스는 디스크 그룹을 관리하며, 데이터베이스 인스턴스와 독립적으로 구성된다.
- ASM 인스턴스를 생성하려면 asmca (ASM Configuration Assistant) 또는 명령줄에서 sqlplus를 사용하여 ASM 인스턴스를 설정한다.
2. 디스크 그룹 생성:
- ASM 디스크 그룹을 생성하여 데이터베이스의 데이터 파일, 로그 파일 등을 저장할 디스크 공간을 정의한다.
- 디스크 그룹은 특정 디스크를 포함하며, 다양한 속성(예: redundancy level, AU size 등)을 설정할 수 있다.
3. 데이터베이스 구성:
- Oracle 데이터베이스를 설치하고, 데이터베이스 파일, 로그 파일, 제어 파일 등을 ASM 디스크 그룹에 저장한다.
- 데이터베이스와 ASM 인스턴스는 같은 서버에서 실행되며, ASM 인스턴스는 데이터베이스 인스턴스에 스토리지 서비스를 제공한다.
2. RAC (Real Application Clusters) 환경에서의 ASM 구성
RAC 환경에서는 여러 Oracle 데이터베이스 인스턴스가 여러 서버에서 동시에 실행된다. RAC 환경에서 ASM은 클러스터 전체에서 공유 스토리지 시스템을 관리한다.
구성 방법:
1. ASM 인스턴스 생성:
- RAC 환경에서는 여러 서버에서 ASM 인스턴스가 실행된다. 각 서버는 클러스터의 일부로 ASM 인스턴스를 실행하여 디스크 그룹을 관리한다.
- ASM 인스턴스는 RAC 클러스터의 모든 노드에서 실행되며, 이들 ASM 인스턴스는 클러스터에서 공유 스토리지 자원을 관리한다.
2. 디스크 그룹 생성:
- ASM 디스크 그룹은 클러스터의 모든 노드에서 접근할 수 있는 공유 스토리지에 생성된다. 디스크 그룹은 클러스터의 모든 노드에서 액세스할 수 있도록 설정된다.
- 디스크 그룹의 설정은 고가용성을 고려하여 구성된다. 예를 들어, NORMAL 또는 HIGH 레벨의 redundancy를 설정하여 데이터 보호를 강화한다.
3. 데이터베이스 구성:
- RAC 데이터베이스 인스턴스는 클러스터 내의 여러 서버에서 동시에 실행된다. 이들 인스턴스는 ASM 디스크 그룹에서 공유 스토리지를 사용하여 데이터베이스 파일, 로그 파일, 제어 파일 등을 저장한다.
- ASM은 클러스터의 모든 노드에서 데이터베이스 파일을 효율적으로 관리하고, I/O 성능을 최적화한다.
단일 인스턴스 vs. RAC:
- 단일 인스턴스: ASM 디스크 그룹은 단일 서버에서만 접근할 수 있다.
- RAC: ASM 디스크 그룹은 클러스터의 모든 노드에서 접근할 수 있도록 설정된다.
- 단일 인스턴스: 단일 인스턴스 환경에서는 서버 장애 시 데이터베이스의 가용성이 저하될 수 있다.
- RAC: 여러 노드에서 동시에 실행되므로 하나의 노드가 실패하더라도 나머지 노드에서 데이터베이스를 계속 사용할 수 있다.
- 단일 인스턴스: I/O 성능은 단일 서버의 성능에 의해 제한된다.
- RAC: 여러 서버에서 동시에 작업을 수행하여 성능이 향상된다.
ASM 인스턴스 내부 구성
요소
1. ASM 인스턴스의 주요 구성 요소
- ASM 인스턴스 프로세스: ASM 인스턴스는 Oracle 서버 프로세스에서 독립적으로 실행된다. 주요 프로세스는 ASM 프로세스와 ASMB 프로세스이다.
- ASM 프로세스: ASM 인스턴스의 주요 프로세스로, 데이터와 메타데이터의 관리 및 데이터 블록의 할당 등을 담당한다.
- ASMB 프로세스: 데이터베이스 인스턴스와 ASM 인스턴스 간의 통신을 관리하며, 클러스터 환경에서는 ASM과 데이터베이스 인스턴스 간의 메시지를 처리한다.
- ASM 디스크 그룹: 데이터와 메타데이터를 저장하는 디스크 집합이다. 디스크 그룹은 여러 물리적 디스크를 논리적으로 그룹화하여 데이터의 저장 및 관리를 단순화한다.
- 디스크 그룹의 메타데이터: 디스크 그룹의 구조 및 데이터 저장 방식에 대한 정보를 포함한다. ASM 인스턴스는 디스크 그룹의 메타데이터를 관리하여 데이터의 위치와 상태를 추적한다.
2. ASM 메타데이터 및 구조
- 디스크 레이블: 각 디스크는 ASM에 의해 관리되기 위해 레이블이 지정된다. 디스크 레이블은 디스크의 구성과 메타데이터를 정의한다.
- 디스크 헤더: 각 디스크의 헤더에는 디스크의 상태와 구성 정보가 포함된다. ASM 인스턴스는 디스크 헤더를 읽고 관리하여 데이터 무결성을 보장한다.
- 파일 및 블록 구조: ASM은 파일 시스템과 유사한 구조로 데이터 파일을 저장한다. 데이터는 블록 단위로 저장되며, 블록의 크기와 할당 방식은 ASM 설정에 따라 다를 수 있다.
3. ASM 디스크 그룹의 메타데이터
- 디스크 그룹의 매핑 정보: ASM은 디스크 그룹 내의 각 디스크와 데이터 블록을 매핑하는 정보를 유지한다. 이를 통해 데이터의 위치를 추적하고 관리한다.
- 디스크 그룹의 로그: ASM은 디스크 그룹의 변경 사항을 기록하는 로그를 유지한다. 이 로그는 장애 복구 및 데이터 일관성을 유지하는 데 사용된다.
4. ASM의 주요 기능
- 자동 리밸런싱: ASM은 디스크 그룹의 데이터를 자동으로 리밸런싱하여 성능과 용량을 최적화한다. 디스크가 추가되거나 제거되면, ASM은 데이터의 재배치를 수행하여 디스크 그룹의 균형을 유지한다.
- 데이터 미러링: ASM은 데이터의 미러링을 통해 데이터의 가용성을 보장한다. 미러링은 데이터가 여러 디스크에 복제되어 디스크 장애 시에도 데이터 손실을 방지한다.
- 스트라이핑: ASM은 데이터를 여러 디스크에 스트라이핑하여 I/O 성능을 향상시킨다. 스트라이핑은 데이터가 여러 디스크에 분산되어 저장되도록 한다.
ASM 인스턴스의 내부 작동 원리
RBAL과 ARBN은 Oracle Automatic Storage Management (ASM)에서 사용되는 두 가지 중요한 프로세스이다.
1. RBAL (Rebalance Process)
RBAL은 ASM 인스턴스의 리밸런싱 작업을 담당하는 프로세스이며 리밸런싱은 디스크 그룹의 데이터가 여러 디스크에 균등하게 분포되도록 작업하여 데이터베이스 성능을 최적화하고, 디스크의 공간 사용을 균형 있게 유지하는 데 중요하다.
주요 기능 및 역할:
- 리밸런싱: 디스크 그룹에 새로운 디스크가 추가되거나 기존 디스크가 제거될 때, RBAL 프로세스는 데이터를 새로운 디스크 배치로 자동으로 리밸런싱한다. 이는 디스크 그룹의 I/O 성능을 최적화하고 데이터의 균형을 유지하는 데 도움을 준다.
- 장애 복구: 디스크 장애가 발생하면, RBAL 프로세스는 미러링된 데이터를 사용하여 장애가 발생한 디스크의 데이터를 다른 디스크로 복구한다.
- 백그라운드 작업: RBAL은 비정기적으로 또는 필요에 따라 실행되며, 데이터의 분포와 상태를 지속적으로 모니터링하고 조정한다.
RBAL 프로세스의 작동 방식:
- 작업 큐: RBAL 프로세스는 리밸런싱 작업을 수행하기 위한 작업 큐를 사용한다. 이 큐는 리밸런싱을 수행할 디스크와 데이터를 추적한다.
- 분산 작업: RBAL은 여러 작업을 동시에 처리하여 리밸런싱 작업의 속도를 높이다. 각 작업은 특정 디스크와 데이터 블록에 대해 수행된다.
2. ARBN (ASM Rebalance Process)
주요 기능 및 역할:
- 리밸런싱 조정: ARBN 프로세스는 리밸런싱 작업의 조정 및 관리를 담당하여 데이터의 균형을 유지하기 위해 디스크 그룹의 상태를 모니터링하고 조정한다.
- 작업 스케줄링: ARBN은 리밸런싱 작업의 스케줄링과 우선순위를 관리하여, 성능에 미치는 영향을 최소화하면서 효과적으로 작업을 수행한다.
- 리밸런싱 상태 모니터링: ARBN은 리밸런싱 작업의 진행 상태를 모니터링하고, 필요한 조치를 취한다. 이를 통해 작업의 성공적인 완료를 보장한다.
ARBN 프로세스의 작동 방식:
- 상태 추적: ARBN은 리밸런싱 작업의 상태와 진행 상황을 추적한다. 이를 통해 작업이 올바르게 수행되고 있는지 확인한다.
- 자동 조정: ARBN은 리밸런싱 작업의 자동 조정을 수행하여, 필요에 따라 작업의 우선순위를 조정하고 성능을 최적화한다.
Disk Group
1. 디스크 그룹의 주요 개념
- 디스크 그룹 (Disk Group): 여러 개의 물리적 디스크를 하나의 논리적 단위로 묶어서 사용하는 구조로 데이터베이스의 데이터 파일, 로그 파일, 제어 파일 등을 저장하는 데 사용된다.
- 디스크: 디스크 그룹을 구성하는 물리적 디스크이다. ASM은 이들 디스크를 논리적으로 결합하여 저장소를 관리한다.
- AU (Allocation Unit): ASM에서 데이터를 저장하는 기본 단위이다. AU는 디스크 그룹 내에서 데이터를 관리하고, 스토리지 용량을 효율적으로 할당한다.
Coarse-Grained vs Fine-Grained Allocation Units
- Coarse-Grained Allocation Units
Coarse-Grained 방식은 큰 크기의 AU를 사용하는 방식으로 스토리지의 단위가 상대적으로 크기 때문에, 큰 데이터 파일을 관리하는 데 유리하지만 스토리지의 세밀한 조정이 어려워질 수 있다.
Coarse-Grained AU는 특히 대량의 데이터가 일정한 크기로 저장될 때 유리하며, 성능을 높이는 데 도움이 된다.
- Fine-Grained Allocation Units
Fine-Grained 방식은 작은 크기의 AU를 사용하는 방식이다. 이 방식은 스토리지의 할당을 더 세밀하게 조정할 수 있어, 데이터의 효율적인 저장과 공간 관리가 가능한다.
- 크기: AU 크기가 상대적으로 작다
- 장점:
- 효율적인 공간 사용: 작은 AU는 데이터 파일이 작은 경우에도 공간을 더 효율적으로 사용할 수 있다.
- 미세 조정 가능: 데이터의 할당과 조정이 더 세밀하게 이루어질 수 있다.
2. 디스크 그룹의 주요 구성 요소
- 디스크: 디스크 그룹을 구성하는 물리적 저장 장치이다. ASM은 이들 디스크를 자동으로 관리하고, 데이터의 분산과 리밸런싱 작업을 수행한다.
- 디스크 그룹의 메타데이터: 디스크 그룹의 구성과 상태를 정의하는 메타데이터이다. ASM은 이 메타데이터를 사용하여 디스크 그룹 내의 데이터와 디스크를 관리한다.
- 디스크 레이블: 각 디스크에 대한 레이블 정보를 포함한다. 디스크 레이블은 디스크의 구성과 상태 정보를 기록한다.
3. 디스크 그룹의 종류
- External Redundancy: 이 설정에서는 ASM이 데이터의 미러링을 하지 않고 외부 RAID 솔루션이나 다른 데이터 보호 방법을 사용하여 데이터의 고가용성을 보장해야 한다.
- Normal Redundancy: 이 설정에서는 데이터가 두 개의 미러 디스크에 저장된다. 하나의 디스크에 장애가 발생하더라도 데이터의 무결성을 유지할 수 있다.
- High Redundancy: 이 설정에서는 데이터가 세 개의 미러 디스크에 저장된다. 이 설정은 매우 높은 데이터 가용성을 보장하며, 여러 디스크 장애가 발생하더라도 데이터 손실을 방지한다.
'DBMS > ORACLE Admin' 카테고리의 다른 글
DB startup (0) | 2024.08.29 |
---|---|
SPFILE과 PFILE (0) | 2024.08.29 |
IP Address / MAC Address (0) | 2024.07.25 |
Commit, Rollback (1) | 2024.07.14 |
DB buffer cache 영역 구성 (0) | 2024.07.13 |