출처: 서진수 강사님 oracle 취업 강좌, 오라클 관리실무 책, 기타 블로그, oracle 공식문서
◎ Process
- 운영체제가 운영하는 작업을 하는 프로그램
Oracle DBMS를 실행중일 때 리눅스 명령어를 치면 보임
[oracle@MINSUNG ~]$ ps -ef
[oracle@MINSUNG ~]$ top -c
Shift+P 프로세스순 정령 Shift+M 메모리 순 정렬
◎ 종류
□ User Process
- SQL 및 응용프로그램을 실행하는 프로세스
□ Server Process
- 사용자에 요구(UserProcess)에 기반을둔 프로세스
□ 종류
- 전용서버 프로세스: 사용자 별로 할당됨(일딴 이걸로 공부)
- 공유서버 프로세스 : 일정량을 정해놓고 공유하는듯... ??
□ 주업무
- 데이터베이스 버퍼 캐시에 데이터 파일로부터 데이터 블록을 읽는다
- PL/SQL 코드를 실행
- 등등
□ Background Process
- DATABAE(disk) ↔ SGA 간에 연결 다리 역할(실제 운영을 하는것) 프로세스
필수 Background Process
- DBWR
- LGWR
- PMON
-SMON
- CKPT
-MMON & MMNL
- RECO
※ 참고하기
Connection :UserProcess ServerProcess 간에 물리적인 연결(통신을 통한)
Sessions : 실제 로그인이 된 ORACLE에 상태 (SQL 쿼리를 실행할 수 있는)
※ 연결은 1개이지만 세션은 2개 이상이 될 수 있음
연결 세션 확인하기
SQL>SELECT SID, SERIAL#, PADDR FROM V$SESSION WHERE
USERNAME = USER;
◎ 필수 Background Process 종류
◎ DBWR(Database Writer)
-Database Buffer Cache 에서 변경한 후에 Dirty Block를 DataFile로 저장
→Database 에 Datafile을 변경하여 저장하는 프로세스
□ 시점
① Checkpoint 신호가 발생할때 ★★
② Dirty Buffer가 임계값(40%) 지날때
③ Time out이 발생할때
④ RAC Ping이 발생할때
⑤ Tablespace Read only 상태로 변경될때
⑥ Tablespace 가 offline 될때
⑦ Tablespace begin backup 상태가 될때
⑧ Drop table 이나 Truncate table이 될때
⑨ Direct Patth Read/Write 가 진행이 될때
⑩ 일부 Parallel Query 작업이 진행이 될때
◎ LGWR(Log Writer)
- Redo Log Buffer에 있는 내용을 disk에 Redo Log File에 저장
- Redo Log Buffer 관리
□ 시점
- Commit이 발생할때
- 1/3 이 찼을때
- 변경량이 1M가 되었을때
- 3초마다
- DBWR이 내려쓰기 전에
※ Oracle은 Log를 살리기 위해서 계속해서 Log를 Disk에 저장하려고 함
선로그 기법
① 로그를 먼저 작성하고
② disk에 바로 옮겨놓음
→메모리 작업으로 인해 데이터가 없어지는 것을 방지하기 위해서
◎ PMON(Process Monitor)
- 모든 서버프로세스를 감시하고 비정상적으로 종료된 프로세스가 있으면
관련 복구작업을 진행함
◎ SMON(System Monitor)
- 인스턴스의 비정상 종료(Instance Crash)에 대해서 시작할때
Clean Up(Instance Recovery) 하는 역할
※ Instance Recovery 과정
①Parameter File 읽어서 nomount 단계에서 Instance 생성
②Mount 단계에서 Control File 내용을 확인해서 Instance 상황을 인지
③Redo log file 에서 DML 후 commint, DML 후 commint 안한 작업을 다시 생성
(Roll Forward)
④데이터 베이스를 OPEN
⑤ DML 후 commit 안한 작업은 취소(Roll Backward)
◎ CKPT(Checkpoint Process)
- CKPT Process 는 DBWR에게 checkpoint 신호를 전달
- Control File 과 Data file Haedr에 해당 Chekpoint 정보를 기록하는 역할
- Checkpoint 위치 , SCN, 해당 내용의 Redo log내용의 위치값
◎ MMON & MMNL(Manageability Moniter Processes)
- AWR(Automatic Workload Repository)관련한 다양한 작업을 수행(MMON)
- Active Session History (ASH) 정보를 disk 파일로 기록 (MMNL)
◎ RECO(Recoverer Process)
- 분산데이터 베이스 환경에서의 Transaction 처리도중의 장애 처리
◎ 선택적인 Background Process 종류
◎ ARCn
redo log file을 Archiving 해주는 역할
◎CJQ0 & Jnnn
job 기능을 수행하는 프로세스
◎FBDA
uodo data를 덮기 전에 Archive 해서 보관해주는 역할
※ 데이터를 바꿀때
① rebo buffer 에 먼저 적어줌 → Change
② 원래 데이터 를 undo에 넣음
③ Data buffer chche 에 데이터를 바꿈
④ Disk에 저장을 하는 역할 (DBWR)
'ORACLE > Admin' 카테고리의 다른 글
7장 Tablespace & DataFile 관리 (0) | 2015.04.01 |
---|---|
6장 Redo Log 관리하기 (0) | 2015.03.30 |
4~5장 Startup Shutdown , parmeter & control File (0) | 2015.03.27 |
2장 SQL 문장의 실행 원리 (0) | 2015.03.26 |
1장 Oracle Architecture (0) | 2015.03.26 |