일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- ogg
- Database
- Installation
- ActiveDataGuard
- Oracle
- Oracle 19c
- goldengate
- SSH
- 데이터가드
- adg
- 19c
- 오라클설치
- ORACLE19C
- 오지지
- 사일런트모드
- 티베로
- oracle installation
- SILENTMODE
- Opatch
- diskgroup
- 오라클
- 디비투
- OracleGoldenGate
- 오라클구조
- 오라클아키텍쳐
- oracle goldengate
- oracle recovery
- DataGuard
- linux
- 데이터베이스
- Today
- Total
DoubleDBDeep
[ORACLE] 1. Oracle Server Architecture 본문
< 오라클 데이터베이스 서버 구조 >
먼저, 크게 살펴보면
1. 오라클 데이터베이스 시스템 = 데이터베이스 Instance 와 오라클 데이터베이스로 구성된다.
2. 그렇다면 ! Instance = 메모리 구조 + 해당 Instance와 연관된 백그라운드 프로세스로 구성된다.
* 하나의 컴퓨터에서 thread / process가 운영 중에 서로 공유하는 메모리영역
인스턴스가 시작될 때 (오라클 데이터베이스 startup)
-> 1) SGA(System Global Area)라는 공유 메모리 영역이 할당된다.
* 공유 메모리라는 것은 유저 세션마다 다같이 공유하는 공간이기 때문에 공유 메모리 영역이라 부름.
-> 2) 백그라운드 프로세스가 시작된다.
-> 3) 데이터베이스 마운트 : 해당 인스턴스를 특정 데이터베이스와 연결시킴. (각 instance = 한 개의 database)
* 하나의 서버에 여러 개의 데이터베이스가 있는 경우 각각 고유한 Instance가 존재
-> 4) 데이터 베이스 open 준비가 되고, 권한이 있는 승인된 유저가 access할 수 있는 상태가 됨.
3. 데이터베이스 = 물리적인 운영체제의 파일 및 디스크의 집합
* 디스크에 저장된 데이터의 집합
1) 컨트롤 파일
작은 이진 파일로,
데이터베이스 자체에 대한 데이터
(datafile, tempfile, redo log file 위치 및 각 파일의 상태에 관련된 메타데이터) 포함
데이터베이스 마운트 및 운영 시 필요
하나의 데이터베이스와 연결됨
다중화 및 손실 시 복구 필요
ex) data files 위치정보
2) 데이터 파일
데이터베이스의 유저, 응용 프로그램 데이터, 메타 데이터, 데이터 딕셔너리 등 포함
3) 온라인 리두 로그 파일
데이터의 모든 변경사항 기록 (트랜잭션 로그)
데이터베이스의 Instance Recovery 허용 -> 복구 방식을 제공
Group 단위로 구성되며 최소 2개 이상의 Group 필요
4) 파라미터 파일
Instance 시작 시 어떻게 Instance를 구성할 지 정의하는데 사용
- Instance가 control file을 찾는데 사용
- 여러 메모리 구조 각각의 크기를 결정하는 등에 사용
5) 패스워드 파일
패스워드 유틸리티(orapwd)를 이용하여 생성
네트워크 상에서 관리자 역할을 수행하는 사용자에 대한 인증 용도로 사용
SYSDBA, SYSOPER, SYSASM ROLE이 Instance에 원격으로 연결하여 관리 작업을 수행
6) 백업 파일
데이터베이스 Recovery에 사용
일반적으로 Media Failure, User Error로 원본 파일이 손상되었거나 삭제된 경우 복원에 사용
7) 아카이브 리두 로그 파일
변경되는 사항을 계속 기록하는 리두로그파일을 지정된 저장소로 복사한 파일
손실된 파일을 recovery할 때 사용
8) Trace 파일
각 server, backgroud 프로세스는 내부 특별한 오류가 감지되면 해당 오류 정보를 Trace File에 덤프함
-> 분석용 파일
9) Alert 로그 파일
특수 Trace 항목으로 메세지와 오류를 시간 순으로 기록한 파일
조치해야 할 사항이 포함된 이벤트들을 담고 있어 DBA에게 위험 신호를 알린다.
default 경로 : $ORACLE_BASE/diag/rdbms/<db_name>/$ORACLE_SID/trace/alert_<$ORACLE_SID>.log
User Process와 Database Instance 연결
* User Process ~~~> Database 까지 연결되기 까지 ..
1. 유저가 로컬 컴퓨터에서 Oracle Database에 액세스하는 응용 프로그램 또는 도구를 시작 (SQL*Plus, 클라이언트 프로그램-오렌지, toad, sqldeveloper... 등) // User Process 생성
2. 네트워크(Listener)를 통해 Oracle Database를 실행하는 컴퓨터에 연결
3. 오라클에서 Server Process 생성 // User Process와 1:1로 연결
* Server Process : 클라이언트 프로그램을 대신하여 데이터베이스에 대한 연결을 처리하고 작업을 수행하는 프로세스.
4. 서버프로세스 생성 시 각 프로세스마다 개별적으로 사용하는 PGA(메모리) 할당
5. 데이터베이스 Instance와 사용자간 세션이 생성
6. User Process와 Server Process가 통신하며 User Process가 요청한 SQL을 Server Process가 대신 실행 후 응답해주는 방식으로 작동
참고 >>
oracle administration Workshop book
전문가를 위한 오라클 데이터베이스 아키텍처 (토마스카이트)
'ORACLE > Architecture' 카테고리의 다른 글
[ORACLE] Cursor (0) | 2024.04.17 |
---|---|
[ORACLE] SQL Parsing (0) | 2024.04.17 |
[ORACLE] 3. Oracle Process (0) | 2023.03.06 |
[ORACLE] 2. Oracle Memory 구조 (0) | 2023.03.06 |