Oracle Database Server
ประกอบด้วยสองส่วนคือ
1) Oracle Instance
2) Oracle Database
Oracle Instance คือ หน่วยความจำที่ใช้เก็บข้อมูลและควบคุมการทำงานของ Oracle Server
ที่เรียกว่า SGA (System Global Area) รวมกับ Oracle Process ที่ใช้ในการทำงานของ Oracle
Oracle Database คือ กลุ่มข้อมูลที่ถูกจัดเก็บไว้รวมกันโดยจัดเก็บลงเป็นไฟล์ข้อมูลที่เป็น Physical File
ข้อมูลที่เก็บอยู่ในไฟล์เหล่านี้สามารถที่จะเรียกขึ้นมาอ่าน หรือ เปลี่ยนแปลงค่าได้
Oracle Database ประกอบด้วยไฟล์ข้อมูล 3 กลุ่ม
- Control File
- Redo Log File
- Data File
ไฟล์ที่ ไม่ใช่ส่วนประกอบของ Database
- Parameter File
- Archive File
- Password File

ส่วนประกอบของ Oracle Instance
1) SGA ( System Global Area)
เป็นหน่วยความจำที่ ที่สำคัญที่สุดของ Oracle สังเกตุได้เมื่อเราเริ่ม startup oracle
เราก็จะเห็นว่า ฐานข้อมูลของเราจอง SGA ไว้เท่าไร
ส่วนประกอบต่างๆ ของ SGA
1.1) Shared Pool
หน่วยความจำล่าสุดที่ใช้เก็บข้อมูลล่าสุดของฐานข้อมูล เช่น Sql Command
Shared Pool ประกอบด้วย
1.1.1) Library Cache ใช้เก็บข้อมูลพวก Sql Command ล่าสุด
1.1.2) Data Dictionary Cache เก็บ Data Dictionary ล่าสุดที่มีการใช้งาน
1.1.3) Result Cache (Version 11g) เก็บผลลัพธ์ล่าสุดของ SQL PL/SQL เมื่อ User ใช้คำสั่งเดิม
ไม่จำเป็นต้องต้องไปอ่านข้อมูลซ้ำ ทำให้ทำงานได้เร็วขึ้น
การกำหนดค่า Shared Pool กำหนดใน
- SHARED_POOL_SIZE
-SHARED_POOL_RESERVED_SIZE
- RESULE_CACHE_MAX_SIZE กำหนดค่าสูงสุดของ Result Cache
1.2) Database Buffer Cache
เป็นหน่วยความจำที่ใช้เก็บข้อมูลล่าสุดที่ถูกใช้งานจากไฟล์ในฐานข้อมูล
1.3) Redo Log Buffer
เป็นหน่วยความจำที่ใช้เก็บข้อมูลในการทำงานของ transaction เพื่อเก็บไว้ recovery
ตั้งค่าขนาด Redo Log Buffer ที่ parameter LOG_BUFFER
1.4) Large Pool
หน่วยความจำที่ใช้สำหรับการทำงานที่ต้องการ หน่วยความจำที่ใหญ่ คือ
- Multithread Server
- I/O Process
- Backup
ตั้งค่าที่ parameter LARGE_POOL_SIZE
1.5) Java Pool
หน่วยความจำที่ใช้สำหรับการทำงานของโปรแกรม java
1.6) Streams Pool
เก็บ Query Message ต่างๆ
ตั้งค่าที่ parameter STREAMS_POOL_SIZE
2) Oracle Process
2.1) User Process
Process ของ user ที่ส่งเข้าไปทำงาน เช่น sql command ต่างๆ
2.2) Server Process
Process ที่อยู่ฝั่ง server เพื่อรองรับ User Process เมื่อทำงานเสร็จจะส่งผลลัพธ์ไปให้ User Process
2.3) Database Writer Process(DBWn)
Process ที่เขียนข้อมูลจาก Database Buffer Cache ลง Physical File
2.4) Log Writer Process (LGWR)
เขียนข้อมูลใน Log Buffer ลง Redo Log File
2.5) System Monitor Process(SMON)
ตรวจสอบความถูกต้องของฐานข้อมูล
2.6) Process Monitor Process(PMON)
มอนิเตอร์การทำงานของ Process ต่างๆ
2.7) Checkpoint Process(CKPT)
Checkpoint เพื่อใช้อ้างอิงในการ Recovery
2.8) Recoverer Process(RECO)
ใช้ในกรณีมีฐานข้อมูลมากกว่า 1
2.9) Archiver Process(ARC)
คัดลอก Redo Log File ไปเก็บไว้ที่ Archive File
