Professional Documents
Culture Documents
บทที่ 1
Oracle Database คืออะไร
Oracle Database Server จัดวาเปน Object-Relational Database Management System (ORDBMS)
ซึ่งหมายความวา สามารถทํางานได ทั้งในรูปแบบ Rational และบางคุณสมบัติของ Object Oriented ได
โดย Oracle Database Server นั้น มีความสามารถทํางานรวมกันกับ Software หลายๆ ตัวได จากผูผลิต
หลายราย และสนับสนุนมาตรฐานระบบเปดตาง ๆ
Oracle Database Server จะประกอบดวย 2 สวนหลัก คือ
• Oracle Database จะเปนสวนของการจัดเก็บขอมูล
Memory Structure
• SGA
o Shared pool
o Library Cache
• PGA
3
SGA
SGA(System Global Area) เปนโครงสรางหนวยความจําสวนที่สําคัญมากของ Oracle Server ซึ่ง
ประกอบดวย buffer cache หลายประเภทดวยกันตามประเภทการใชงาน ซึ่งจุดประสงคโดยรวมก็เพื่อลด
เวลาในการทํา I/O ใหมากที่สุดเพื่อประสิทธิภาพที่ดีในการทํางานกับฐานขอมูล ภายใน SGA นั้น
ประกอบดวย buffer cache ประเภทตาง ๆ ซึ่งในบทความนี้จะกลาวถึงเฉพาะสวนประกอบสําคัญๆ ดังนี้
Redo Log Buffers Cache
Redo Log Buffers Cache จะทําการบันทึก การเปลี่ยนแปลงที่เกิดขึ้นในฐานขอมูล โดยการเปลี่ยนแปลง
เหลานี้ก็จะถูกเขียนลงไปใน Online redo log files ซึ่งการบันทึกการเปลี่ยนแปลงที่เกิดขึ้นนี้สามารถที่จะ
นําไปใชในการ roll-forwardในระหวางที่ฐานขอมูลกระทําการกูขอมูล โดยการกระทํานี้จะเกิดขึ้นกอนที่
จะเขียนหรือบันทึกขอมูลลงไปใน Online redo log files ขนาดของ Redo Log Buffers Cache จะสามารถ
ตั้งคาผาน LOG_BUFFER parameter ในไฟล init.oraได
Database Buffer Cache
การทําสําเนาขอมูลที่ถูกเรียกใชจาก data files โดยจะชวยใหการทํางานในการเรียกใชขอมูลจาก
ฐานขอมูลมีความรวดเร็วขึ้นโดยการเก็บขอมูลที่ถูกเรียกใชงานเปนประจําเอาไวใน Database Buffer
Cache โดยสามารถใชคําสั่ง DB_BLOCK_SIZE ในการกําหนดเนื้อที่ของ Database Buffer Cache
Shared pool
Shared pool ถูกใชสําหรับเก็บการกระทําการของ SQL statement และ รายละเอียดตางๆของขอมูล ใน
การกําหนดขนาดของ Shared pool ใชคําสั่ง SHARED_POOL_SIZE โดย Shared pool มี
สวนประกอบดวยกัน 2 สวนคือ
Library Buffer Cache จะใชสําหรับเก็บประโยคคําสั่ง SQL และ PL/SQLที่ใชในการทํางานโดย Library
Buffer Cache ประกอบดวย 2 โครงสราง คือ Shared SQL area และ Shared PL/SQL area ขนาดของ
Library Buffer Cache จะขึ้นอยูกับการกําหนดจาก Share pool
Data Dictionary Cache จะเก็บรวบรวมรายละเอียดตาง ๆ ที่ใชในฐานขอมูลรวมทั้งขอมูลที่เกี่ยวกับ
tables, indexes, columns, users, privileges และ object ฐานขอมูลอื่น ๆ ขนาดของ Data Dictionary
Cache จะขึ้นอยูกับการกําหนดจาก Share pool
PGA
PGA เปนพื้นที่ ( พื้นที่สวนนี้จะถูกจองเมื่อมีการ start ของ server process เกิดขึ้น )ที่อยูในหนวยความจํา
ซึ่งจะชวย user process ในการกระทําการดังตัวอยาง เชน bind variable information, sort areas, cursor
information และsession information ซึ่งโดยทั่วไปแลวในการกระทําการของ SQL statements ในshared
area ถูกเรียกใชจาก Library cache แลวคุณสงสัยไหมวาทําไม user จึงตองการพื้นที่ในการที่จะกระทํา
การเปนของตนเอง เหตุผลก็คือ userตองการที่จะกระทําการ select หรือ update โดยไมมีการถูกใชขอมูล
รวมกันได ( Shared ) เพราะฉะนั้น PGA จึงถูกใชในการเก็บขอมูลจริง ๆ ในที่ซึ่งไมมีผูใดสามารถ
มองเห็นได สําหรับที่จะกระทํา SQL statement
4
Oracle Server
Oracle Database
• Data files
• Control files
• Parameter file
• Password file
An Oracle Database
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
Tablespace อยางนอยที่สุดจะตองมี System Tablespace ซึ่งจะทําหนาที่เก็บ Data Dictionary ของ
Database ทั้งหมด พูดใหงายขึ้นก็คือเปนขอมูลอยางเชน มี tables ,user หรือ objects อื่น ๆ อะไรบาง ใคร
เปนเจาของ เปนตน เวลาที่เราทํางานกับฐานขอมูลของออราเคิล เพื่อประสิทธิภาพในการทํางานที่ดี ขอ
แนะนําใหสราง Tablespace ใหมขึ้นมาเพื่อใชเก็บขอมูลของแตละงานแยกกัน โดยปกติถาเราใช DBCA
เปนตัวสราง Database ตัว DBCA จะสราง tablespace อื่นนอกเหนือจาก Systems Tablespace ใหเราดวย
แลว
5
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
คือ
Parameter File
ทําหนาที่ เก็บ parameter ตาง ๆ ขอ Database ที่เราใชงานซึ่งรวมไปถึงการกําหนดขนาดของ SGA และ
พฤติกรรมการทํางานตาง ๆ ฉะนั้นเวลา DBA เคาคิดจะ Tuning เจาตัว Database เคาก็จะมาปรับแตงที่ file นี้
Password File
ทําหนาที่เก็บ user และ password ของคนที่มีสิทธิ startup และ shutdown Database ได
6
บทที่ 2 การติดตั้ง Oracle Database Server 10g
Getting Oracle software
กอนอื่นที่จะเริ่มพัฒนา ก็คงตองจัดหา Software กันกอน ซึ่งที่เราพูดถึงคือ Oracle Database
Software ในการจัดหา ทานอาจสอบถามจากแผนกขางๆ, Download ที่เปน Development License จาก
http://otn.oracle.com/ หรือสั่งซื้อ Software ไดจาก http://oraclestore.oracle.com
โดยปกตินั้น Oracle Database Software จะแบงออกเปน 4 ประเภทดวยกัน คือ
• Oracle Enterprise Edition จะเปน Edition ที่มีความสามารถครบที่สุด มี Feature ตามที่ Oracle
โฆษณาไวทุกอยาง
• Oracle Standard Edition จะมีความสามารถนอยกวา Enterprise Edition ซึ่งถูกออกแบบเพื่อ
ความตองการ คําอธิบาย
System Architecture 32-bit หรือ 64-bit
Note: ในกรณีที่ ระบบปฏิบัติการเปน 32-bit หรือ 64-bit จําเปนจะตอง
เลือกใชโปรแกรมติดตั้งที่ออกแบบไวสําหรับ 32-bit หรือ 64-bit แลวแตกรณี
Operating System ซอฟตแวรระบบฐานขอมูลของออราเคิล สําหรับระบบปฎิการ โซลาลิส
(Solaris) ชนิดที่เปน 64-bit จะออกแบบสําหรับระบบปฎิการโซลาลิสในเวอร
ชั่นตางๆดังนี้
• Solaris 8
• Solaris 9
และจะตองมี แพ็กเกจดังตอไปนี้
• SUNWarc SUNWlibms SUNWi1of
• SUNWbtool SUNWsprot SUNWi1cs
• SUNWhea SUNWsprox SUNWi15cs
• SUNWlibm SUNWtoo SUNWxwfnt
Solaris 8
• 108987-13, SunOS 5.8: Patch for patchadd and patchrm
lib. patch
• 109147-24, SunOS 5.8: linker patch
• Named Pipes
10
ขอกําหนดความตองการของระบบฮาดทแวรอยางนอยที่สุด
ความตองการของ
คาต่ําสุด
ซอฟทแวร
หนวยความจํา (RAM) 512 MB (524288 KB)
พื้นที่ Swap 1 GB (1048576 KB) หรือ 2 เทาของหนวยความจํา
หมายเหตุ กรณีที่ หนวยความจําไมต่ํากวา 2 GB พื้นที่ของ SWAP อาจะเปน
หนึ่งหรือสองเทาของหนวยความจําก็ได
พื้นที่ /tmp 400 MB (409600 KB)
พื้นที่สําหรับการลง 2.5 GB (2621440 KB)
ซอฟตแวร หมายเหตุ สําหรับเนื้อที่ขางบนนี้จะรวมไปถึงการติดตั้งโปรดักซในสวนของ
Companion CD
พื้นที่สําหรับ database 1.2 GB (1258290 KB)
files
สถาปตยกรรมของ 64-bit
ระบบ
11
รายการตรวจเช็ครายการตาง ๆ ในขั้นตอนของภารกิจกอนการติดตั้งมีดังนี้
1. การตรวจขนาดของหนวยความทําไดดังนี้
root@somewhere# /usr/sbin/prtconf | grep "Memory size"
2. การตรวจสอบพื้นที่สําหรับ SWAP
root@somewhere # /usr/sbin/swap -s
12
3. การตรวจสอบพื้นที่ในสวนของ /tmp
root@somewhare#df –k /tmp
2. สราง user สําหรับการ installation และ เปน user account สําหรับการดูแลระบบ ในกรณีนี้จะให
ชื่อวา “oracle”
a. ตรวจสอบวามี user ชื่อ oracle อยูในระบบหรือไม โดยใชคําสั่ง
i. root@somewhere# id -a oracle
b. กรณีที่ไมมี user ในระบบใหทําการสราง user ขึ้นมาโดยใชคําสั่ง
i. root@somewhere# /usr/sbin/useradd -g oinstall -G dba oracle
ii. root@somewhere#passwd oracle เพื่อกําหนด password ใหกับ User
17
การกําหนดและการสรางไดเร็กทอรี่สําหรับการติดตั้ง
ในกรณีนี้เราจะแบงพืน้ ที่การใชงานออกเปน 2 สวนดวยกันคือ
พื้นที่ในสวนที่ 1 จะเปนพื้นทีส่ ําหรับการติดตั้งตัวซอฟทแวรฐานขอมูลของออราเคิล จะติดตั้งไวที่
/oracle
พื้นที่ในสวนที่ 2 จะเปนพื้นทีส่ ําหรับการติดตั้งในสวนที่เปน Data File ที่จะตองใขทั้งหมด จะ
ยกตัวอยางไวที่ /oradata
ดังนั้นจะทําการสรางไดเร็กทอรี่ตางๆตามการสมมุติขางตนดังนี้
1. สรางไดเรกทอรี่ /oracle และ /oradata ขึ้มา
root@somewhere# mkdir -p /oracle
root@somewhere# mkdir oradata
คลิ๊ก Next
คลิ๊กเพื่อเลือกภาษาที่ใช
4. จะปรากฎหนาจอเพื่อใหเลือกภาษาใหเลือกเปน English
23
5. หนาจอตอไปจะใหเลือกวาตองการใหทาํ การ สราง Database ภายหลังการติดตั้งหรือไม ในกรณี
ที่ตองการใหสราง Database เลยใหเราเลือกประเภทใดประเภทหนึ่งภายใตหวั ขอ Create a Starter
Database แตจะยังไมสรางในตอนนี้ ดังนัน้ ใหเราทําการเลือก คลิ๊กที่ Do not create a starter database
8. เมื่อเสร็จแลวจะปรากฏหนาจอดังรูป
25
การสราง Starter Database โดยใชคําสั่ง dbca บน UNIX
4. ให runInstaller เพื่อเรียกหนาจอ setup ขึ้นมาโดยจะ run ที่ User ที่เปน Oracle Admin.
จะปรากฏหนาจอดังรูป ใหคลิ๊ก Next เพื่อไปทําในขั้นตอนถัดไป
26
5. ใหทําการเลือก Create a Database
6. เลือกชนิดหรือประเภททีต่ องการ
27
7. ตั้งชื่อใหกบั SID ที่ตองการ
ขั้นตอนการดูและจัดการระบบฐานขอมูล
เราสามารถที่จะทําการจัดการและดูแลระบบฐานขอมูลของ Oracle ไดโดยใชเครื่องมือที่มีมาใหที่เรียกวา
Oracle Enterprise Management Database
ความตองการ
จะตองมีการติดตั้ง SVG Plug-in เพื่อใชในการแสดงกราฟ แผนภาพ
จะตองมีความรูในเรื่องของการติดตั้ง Oracle Database มากอน
การใชงานหนา Oracle Database Home จะประกอบไปดวย
• General
• Host CPU
• Active Sessions
• SQL Response TIme
• Diagnostic Summary
• Space Summary
• High Availability
• Job activity
การเขาไปใชงาน
1. เปดหนาเวปบราวเซอร แลวกรอก URL หรือชื่อเครื่อง หรือ IP Address ของเครื่องนั้นๆ
เชน http://<host name>:1158/em
กรอก User name SYS, กรอก Password ****, ในชอง Connect AS เลือก SYSDBA
1. การใชงานเลือกที่แถบ Performance
3. ในสวนของการเก็บขอมูลที่มีรายละเอียดยอนหลัง
37
4. Host Performance ในสวนนี้จะแสดงแผนภาพของประสิทธิภาพการทํางานของเครื่องทั้งหมด เชน
CPU, Memory, Disk O/I