출처: 서진수 강사님 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
Posted by 히드라야
,