Oracle Database
posted on 29 Jun 2008 15:59 by itknow in Oracle
Oracle Database Server เป็น Object-Relational Database Management System (ORDBMS)
หมายความว่า สามารถทำงานได้ ทั้งในรูปแบบ Rational และบางคุณสมบัติของ Object Oriented ได้
โดย Oracle Database Server นั้น มีความสามารถทำงานร่วมกันกับ Software หลายๆ ตัวได้ จากผู้ผลิตหลายราย และสนับสนุนมาตรฐานระบบเปิดต่าง ๆ
Oracle Database Server จะประกอบด้วย 2 ส่วนหลัก คือ
|
ในการติดต่อใช้งานกับ Oracle Database นั้น เราต้องใช้ภาษา SQL ( ซึ่งบางท่านเรียกว่า SEQUEL) ซึ่งเป็นภาษาที่ใช้ในการกำหนด และจัดการกับ Database (DDL, DML) การทำงานกับ Database ที่สนับสนุน การทำงานแบบ Relational Database นั้นหมายความว่า จะมีการจัดเก็บข้อมูล ในลักษณะที่เป็นกลุ่มของข้อมูล ที่มีความสัมพันธ์กัน ใน 1 Database สามารถที่จะมี Table ตั้งแต่ 1 table เป็นต้นไป และในแต่ละ Table นั้น ก็สามารถมีได้หลาย Column หลาย Row ยกตัวอย่างเช่น เราต้องการเก็บข้อมูลของพนักงาน ใน Table ของข้อมูลพนักงานก็จะประกอบด้วย Column ที่ อธิบายชื่อ นามสกุล ที่อยู่ เงินเดือน แผนกที่สังกัด เป็นต้น และใน Table นั้น ก็สามารถที่จะมีข้อมูลพนักงานได้มากกว่า 1 คน ( Row)
Oracle Database คือส่วนของ Oracle Server ที่จะจัดเก็บข้อมูลต่าง ๆ ไว้ที่ storageที่เป็นลักษณะ Persistence หรือเรียกง่าย ๆ ว่าถ้าปิดไฟฟ้าแล้วข้อมูลต้องยังอยู่ซึ่งแน่นอนว่า Disk เป็น Storage ที่เป็นที่นิยมที่สุด กล่าวโดยสรุปก็คือ Oracle Database จะถูกจัดเก็บบน Disk ในลักษณะเป็น files โดยแบ่งเป็นประเภท ดังนี้ |
|
|
|
Data Files
คือ ส่วนในการจัดเก็บข้อมูลของระบบฐานข้อมูล ซึ่ง Data File นั้นเป็นชื่อเรียกทาง Physical ในขณะที่ทาง Logical จะเรียกว่า Tablespace โดยจะทำการตัดแบ่งไฟล์ไปจัดเก็บในหน่วยเล็กๆ ที่เรียกว่า Data blocks โดยส่วนหัวของบล็อกจะเรียกว่า Header ซึ่งจะจัดเก็บรายละเอียดของ Data Files เช่นขนาดของไฟล์ ขนาดของบล็อก พื้นที่จัดเก็บตาราง เวลาที่สร้าง เป็นต้น เมื่อมีการเปิดใช้งานข้อมูลในฐานข้อมูล ออราเคิลจะทำการตรวจสอบ รายละเอียดของไฟล์ที่ส่วนหัวนี้ เพื่ออ่านข้อมูลใน Data Files มาเก็บในหน่วยความจำชั่วคราวแบบแคช ทำให้สามารถค้นหาข้อมูลได้รวดเร็วมากขึ้นซึ่งเราจะเรียกส่วนนี้ว่า Database Buffer cache
|
|
Control Files
คือไบนารี่ไฟล์ซึ่งเก็บข้อมูลเกี่ยวกับระบบปฏิบัติการที่ใช้งานอยู่ชื่อฐานข้อมูล เวลาที่สร้างชื่อ Data Files และ Online Redo Log Files รวมถึง Archived Redo Log Files ด้วย ทุกครั้งที่มีการ mount ฐานข้อมูลก็จะเกิด Control File ขึ้นเพื่อระบุ Data Files และ Online Redo Log Files ที่ต้องใช้ในการทำงานของระบบฐานข้อมูล ถ้าหากมีการเปลี่ยนแปลง เช่น มีการสร้าง Data File หรือ Redo Log File ใหม่ขึ้นมาก็จะทำการบันทึกลงใน Control File ซึ่งโดยปกติแล้ว ควรจะแยก เก็บเป็น mirror ไว้บนฮาร์ดดิสก์คนละตัวกัน เพื่อป้องกันการ Fail ของฮาร์ดดิสก์ และเก็บเป็นไฟล์นามสกุล . con นอกจากนี้เรายังควรที่จะทำการสำเนาไฟล์นี้เอาไว้เผื่อกรณีฉุกเฉินด้วย
|
|
Online Redo Log Files
ออราเคิลจะมี Redo Log File เพื่อใช้ในการจัดเก็บการเปลี่ยนแปลงทุกอย่างที่เกิดขึ้นกับ Database เพื่อนำไว้ใช้ ในกรณีที่เกิดเหตุการณ์ไม่ปกติกับ Database อย่างเช่น มีคนซนดึง plug ไฟฟ้าของเครื่องออก โดยที่ยังไม่ได้ทำการ Shutdown Database ก่อน
|
|
Archived Redo Log Files
ส่วนนี้จัดเก็บข้อมูลจาก Online Redo Log File ที่มีการจัดเก็บจนเต็มแล้ว โดยแยกเก็บในพื้นที่ภายนอก ที่สามารถ ขยายได้ (เนื่องจาก Online Redo Log File นั้นเมื่อบันทึกจนเต็มก็จะย้ายไปทำงานที่ตัวถัดไป จนกระทั่งทุกตัวบันทึก เต็มหมดแล้ว ก็จะกลับมาเริ่มที่ตัวแรกใหม่ ซึ่งจะเริ่มเขียนทับข้อมูลเดิม ดังนั้นออราเคิลจึงได้ทำการย้ายไปเก็บใน Archive Redo Log File แทน ) ทำให้เราสามารถจัดเก็บข้อมูลย้อนหลังได้มากขึ้น เพื่อว่าเวลาที่เกิดปัญหาขึ้น จะได้สามารถนำ ข้อมูลกลับคืนมาได้ครบถ้วน Archived Redo log files จะเกิดขึ้นในกรณีที่ Database เรากำหนด mode เป็น ARCHIVELOG Mode ซึ่งจะทำให้เราสามารถกู้ข้อมูลกลับคืนมาได้ทั้งหมด ในกรณีที่มีปัญหาเกิดขึ้น นอกจากนั้นจะมี File ประกอบการทำงานอีก 2 file คือ
|
Tags: database, oracle0 Comments

