
Last Updated (Sunday, 09 August 2009 15:18) Tuesday, 13 January 2009 15:15
ในสถาปัตยกรรม Oracle Database 10g แบ่ง ส่วนประกอบหลัก ออกเป็น 2 ส่วน
สิ่งที่อยู่ใน instance ประกอบด้วย

| เราจะมาดูกันว่า background processes ใน oracle database 10g มีอะไร และ มันทำหน้าที่อะไรบ้าง | ||
| background processes ที่มีมาใน oracle database 10g มีดังต่อไปนี้ | ||
|
Database Writer (DBWn)
Oracle ไม่ได้เขียนข้อมูลบน disk แต่จะทำบน memory แล้วเจ้า process DBWn จะทำการเขียน data ที่ถูก modified จาก memory ส่วนที่เป็น database buffers ลงบน data files ที่เป็น disks
Log Writer (LGWR)
เมื่อ มีการทำ Transaction เปลี่ยนแปลงข้อมูล ในตาราง Oracle จะเขียนการเปลี่ยนแปลง ทั้งที่ committed และ uncommitted ลง redo log buffer ซึ่งเป็น memory จากนั้น เจ้า LGWR process จะเขียนการเปลี่ยนแปลงเหล่านี้ จาก redo log buffer ลง redo log files บน disks
Checkpoint (CKPT)
CKPT process จะกระตุ้น DBWn และ LGWRn ให้เขียนข้อมูลจาก memory ลง disk แล้ว Checkpoint process จะทำหน้าที่ update header ของ data files และ control files ดังนั้น checkpoint process จะ synchronize buffer cache information กับ information บน disk ของ database
การ ที่ check point process เขียนบ่อย เมื่อเกิด instance crash จะทำให้การ recovery เร็วขึ้น เพราะ data ส่วนใหญ่ ถูกเขียนลง file ไปแล้ว แต่การเกิด check point ถี่ๆ ก็ทำให้เกิดปัญหาเรื่อง performance เช่นกัน
Process Monitor (PMON)
เมื่อ user process เกิดการ fail เจ้าตัว PMON นี้จะทำการ clean user process ออก เพื่อปลดปล่อย ทรัพยากร ของเครื่องที่ process ที่ตายไป นั้น ล็อคอยู่ระหว่างที่ยังใช้งานก่อนเกิดการ fail
System Monitor (SMON)
SMON จะเป็นตัว monitor system สำหรับ instance งานที่ SMON ทำ เช่น
File Mapping Monitor (FMON)
FMON process จะทำหน้าที่ map files เข้ากับ immediate storage layer และ physical device ซึ่งจะทำให้เรา เข้าใจว่า data files ถูกเก็บใน disk ที่ถูกจัดการแบบ Logical Volume Manage (LVM) อย่างไร
Archiver (ARCn)
ARCn จะถูกใช้ เมื่อมีการเปิด database แบบ archivelog mode โดยจะทำหน้าที่เก็บไฟล์ ซึ่ง snap มาจาก online redo log files ไปเขียนเป็นไฟล์ archive log files
Manageability Monitor (MMON)
process ทำหน้าที่เก็บสถิติของ system เพื่อให้ database สามารถ จัดการตัวมันเองได้อัตโนมัต ิ เช่น MMON ไปเก็บ snapshot ของ Automatic Workload Repository (AWR) ซึ่งเป็นค่าพื้นฐานสำหรับสำหรับ Automatic Database Diagnostic Monitor (ADDM) นำไปวิเคราะห์ และ MMON จะไปทำให้เกิด Alert เตือน เมื่อ database metric เกิด การเบี่ยงเบน จากค่าที่เราตั้งเอาไว้เป็นมาตรฐาน
Manageability Monitor Light (MMNL)
MMNL process จะไป flush ข้อมูลจาก Active Session History (ASH) เขียนลง disk เมื่อ buffer เกิดการเต็ม และ MMNL ยังไป เก็บข้อมูล ประวัติย้อนหลัง ของ session และ คำนวณ database metrics
Memory Manager (MMAN)
MMAN process จะไปคอยติดตามขนาด memory component และ จัดการหยุดขนาดไม่ให้โตเอาไว้ เพื่อคำนวณหา การกระจายแบ่ง memory ที่ดีที่สุด และ เพื่อให้แน่ใจว่า จะมี memory ที่ต้องการ ให้เพียงพอ ต่อการใช้งานได้ อยู่ตลอดเวลา
Job Queue Coordination Process (CJQO)
Job Queue Coordination Process ทำหน้าที่ run งานของ user ที่ตั้งเวลาเป็น schedule task เอาไว้
Rebalance Master (RBAL)
RBAL process เป็นตัวประสานในการเกลี่ยแบ่งข้อมูล กระจายลง disk เมื่อเราใช้ storage แบบ Automatic Storage Management (ASM)
ASM Rebalance (ARBn)
ARBn จะเป็นตัวทำการเกลี่ยแบ่งข้อมูลกระจายลง disk เมื่อเราใช้ storage แบบ Automatic Storage Management (ASM)
ASM Background (ASMB)
ASMB process จะมีใน database ที่ใช้ storage แบบ ASM โดย ASMB process นี้จะทำหน้าที่ ไปคุยกับ ASM instance ด้วยการ log in เข้าไปใน ASM instance แบบ foreground process
Recovery Writer ( R V W R )
ถ้า เรามีการ enable ฟีเจอร์ Flashback Database ซึ่งเป็นฟีเจอร์ใหม่ใน oracle database 10g เจ้าตัว Recovery Writer นี้ จะเขียนข้อมูล flashback data จาก flashback buffer ลงใน flashback logs ( ทำหน้าที่ ในลักษณะเดียวกับ LGWR เขียนจาก redo log buffer ลงใน relog files ประมาณนั้น )
Change Tracking Writer (CTWR)
CRWR process เป็น process ชนิดใหม่ของ oracle ทำหน้าที่เอา information ของการ change data ภายใน block data files เขียนเป็น change-tracking file เพื่อให้ RMAN มาอ่าน ระหว่าง การทำ incremental backup เพื่อที่จะได้ backup เฉพาะส่วนที่เกิดการเปลี่ยนแปลง
นอก จาก background process ที่กล่าวมา ทั้งหมด ข้างต้นนี้ ยังมี background process ที่ใช้ ในงานพิเศษ เฉพาะด้าน อีกหลายตัว เช่น ใน RAC จะมี Lock Process (LCKn)


