2022. 11. 3. 13:42ㆍ데이터베이스
오라클 DB

서버 프로세스 : 사용자 프로세스가 보낸 SQL문을 실행한다.
*오라클 서버 : 여러개의 파일, 프로세스, 메모리 구조가 있지만 이 모두가 SQL문을 처리하는데 사용 되는것은 아님. 그중 일부는 데이터베이스 성능을 향상시키거나 소프트웨어 또는 하드웨어 오류 발생시 데이터베이스를 복구하거나 데이터베이스를 유지관리하는데 필요한 작업을 수행.
오라클서버는 오라클인스턴스와 오라클 데이터베이스로 구성.
*오라클 인스턴스
- 데이터베이스의 데이터를 액세스하려면 인스턴스가 시작 되어야 한다.
- 메모리 영역에 만들어진다.
- 내가 하는 작업들은 메모리영역에서 한다.
sga :
- SGA(시스템 글로벌 영역)가 할당 되고 Oracle 백그라운드 프로세스가 시작된다.
background processer
- handleing 할수없다.
- 프로세스를 호출하기 위한 기능을 수행.
- 각 사용자가 실행하는 여러 오라클 프로그램으로 처리해야 할 기능을 통합 할 수 있다.
- I/O을 수행하고 다른 Oracle 프로세스를 모니터하여 병렬화를 높임으로써 서능 및 신뢰도를 향상시킴.
*오라클 데이터베이스
- 하드드라이브 영역에 만들어진다.
- 데이터베이스 정보를 위한 실제적인 물리적 저장 영역을 제공하는 운영체제 파일.
- 데이터베이스 파일은 데이터를 일관성 있게 유지하고 인스턴스가 실패한 경우 복구하는데 사용.
PMON(피몬)
SMON(에스몬)
DBWR(db라이트)
LGWR(로그라이트)
CKPT(체크포인트)
OTHER()
트랜잭션 - data files에 내용이 조금이라도 바뀌면 트랜잭션이라 한다.
DB에 작업후 취소하면 data files은 내용이 안바뀐것같아보여도 바뀌었다.
딕션너리 조회하면 확인할수있다.
작업 단위 - 트랜잭션
실행하고 자동 커밋되는 트랜잭션은 data files에 영향을 준다.
redo log files - 데이터베이스가 설치된 이후부터 모든 변경사항이 저장되어있다.
datafiles - 복구가능
control files, redo log files - 데이터가 손실되면 안된다. 한번 망가지면 DB 복구가 불가능하다., 미러링으로 사용
1.
select 문을 사용할때 database buffer cache와 datafiles의 내용이 같기 때문에 database buffer cache만 적용
2.
insert, update문을 사용할때 database buffer cache와 datafiles의 내용이 다르기때문에 database buffer cache에서
comitt한다.
insert, update문을 사용할때 정전이 나면 redo log buffer에 시간순서대로 적었던 것들이 적혀있고
그걸 redo log files에 보내주고 그걸로 복구한다.
database buffer cache - block단위
i/o는 block단위
smon
- 데이터베이스를 유지시켜주는역할
- 정전이 날때 smon의 역할은 data files, control files, redo log files의 상태를 확인하고
control files, redo log files의 내용을 data files에 옮겨서 데이터베이스를 사용가능하게 만들어준다.
3장
내용 보기
'데이터베이스' 카테고리의 다른 글
데이터베이스 - 서브쿼리 기초1 (1) | 2022.11.03 |
---|---|
리눅스DB(사용자 계정 생성) (0) | 2022.11.03 |
오라클Q02 네트워크 설정 (0) | 2022.11.03 |
데이터 베이스 기초4(자기참조 조인, 외부조인) (0) | 2022.11.01 |
데이터 베이스 기초3(SELECT/BETWEEN, IN, 등가조인, 비등가조인) (1) | 2022.10.31 |