You are on page 1of 41

1

Oracle Database Administration

บทที่ 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 จะเปนสวนของการจัดเก็บขอมูล

• Oracle Server Instance จะประกอบดวย Memory และ Background Process

ในการติดตอใชงานกับ Oracle Database นั้น เราตองใชภาษา SQL (ซึ่งบางทานเรียกวา SEQUEL)


ซึ่งเปนภาษาที่ใชในการกําหนด และจัดการกับ Database (DDL, DML) การทํางานกับ Database ในแบบ
Relational Database นั้นหมายความวา Database Engine จะมีการจัดเก็บขอมูล ในลักษณะที่เปนกลุมของ
ขอมูลที่มีความสัมพันธกัน ใน 1 Database สามารถที่จะมี Table ตั้งแต 1 table เปนตนไป และในแตละ
Table ก็สามารถมีไดหลาย Column หลาย Row
2
Oracle Architecture

Memory Structure
• SGA

o Shared pool

o Library Cache

ƒ Data Dictionary cache

ƒ Database Buffer cache

o Redo buffer 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

• Redo log files

• Archived log 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 ซึ่งถูกออกแบบเพื่อ

รองรับงานระดับ Department โดยความสามารถที่ขาดหายไปจาก Enterprise Edition ก็อยางเชน


การทํา Parallel Processing และ Function ที่เกี่ยวกับ Data Warehousing เปนตน
• Oracle Personal Edition จะมีความสามารถใกลเคียงกับ Enterprise Edition เกือบทุกอยาง

เพียงแตวา Edition นี้ถูกออกแบบใหใชงาน Database ไดเพียงแคคนเดียว


• Oracle Lite ถูกออกแบบเพือ ่ ใหใชงานกับอุปกรณประเภท Mobile อยาง Palm หรือ Windows CE
เปนตน
ซึ่งก็คงแลวแตความตองการของทาน ที่จะหา Oracle Software ที่เหมาะสมกับความตองการ และ
ตรงกับ OS ของทานได อยางเชน Oracle for Linux, Oracle for Windows NT/2000/XP หรือ Oracle for
Solaris ซึ่งเรียกไดวา Oracle มี Software ที่ครอบคลุมเกือบทุก OS ที่มีอยูในทองตลาด
อยางที่เรากลาวไวเบื้องตนวา ทานสามารถ Download ไดจาก http://otn.oracle.com/ ซึ่งเปน
Oracle Technology Network Developer License ทานสามารถใช Software ที่ไดจาก OTN เพื่อทดสอบได
อยางเต็มที่ (แนะนําอานเรื่องรายละเอียดของ license เพิ่มเติมที่ OTN )เพราะ Software ที่ทาน Download
มา มีความสามารถเหมือนกับ Production Software ทุกอยาง

ขั้นตอนการวางแผนในการเตรียมติดตั้ง ฐานขอมูลออราเคิลเวอรชั่น 10G


ในการติดตั้งฐานขอมูลของออราเคิลมีขั้นตอนที่จะตองมีการคํานึงถึงหรือมีการวางแผนงาน
ลวงหนาถึงสิ่งที่จะตองทําหลายอยางดังพอจะจําแนกไดดังนี้
- ภารกิจกอนการติดตั้ง (Pre-installation Tasks) จะกลาวถึง ภาระกิจหรือขั้นตอนที่จะตองทําให
สําเร็จลุลวงกอนที่จะเริ่มทําการติดตั้งฐานขอมูลโดยทั่วไปจะหมายถึง งานหรือความตองการที่
จะตองมีการปรับพารามิเตอรในสวนของสภาพแวดลอมของระบบ (Environment Parameter)
เพื่อใหเหมาะสมกับการทํางาน รวมไปถึงการติดตั้ง Software หรือ Package ที่มีความจําเปนใน
การติดตั้งซอฟตแวรฐานขอมูลเสียกอน
7
- ภารกิจการติดตั้ง (Installation Software) เปนขั้นตอนการดําเนินการติดตั้งองคประกอบของตัว
ซอฟตแวรฐานขอมูลวาจะดําเนินการเชนไรขึ้นอยูกับความตองการของตัวระบบวาจะตองมีการ
เลือกใชสวนประกอบ(Component)อะไรบางในตัวซอฟตแวรฐานขอมูลที่จะตองดําเนินการ
ติดตั้ง
- ภารกิจหลังการติดตั้ง (Post-installation Tasks) ความจําเปนที่จะตองมีการ Configuration และ
ตรวจสอบการทํางานตางๆของซอฟตแวรฐานขอมูลที่ดําเนินการติดตัง้ ไปแลววามีการทํางาน
หรือไม รวมไปการความจําเปนที่จะตองมีการติดตั้งซอฟทแวรสําหรับการแกไขบัคทีเ่ กิดขึ้น
(Apply Patch)
- การวางแผนถึงการสราง Starter Database วามีความตองการใชงานในลักษณะไหน รวมไปถึง
การกําหนด Account User หรือการจัดวาง Data File ในพืน้ ที่ Hard disk ตางๆ ซึ่งจะขึ้นอยูกับ
ปจจัยทางดาน Hardware ของระบบ
ภารกิจกอนการติดตั้ง (Pre-Installation Tasks)
จะมีปจจัยทีจ่ ะตองคํานึงถึงและภารกิจทีจ่ ะตองมีการดําเนินงานดังตอไปนี้
- ปจจัยทีจ่ ะตองคํานึงถึงกอนการติดตั้ง ซึ่งจะตองมีการกําหนดถึงความตองการของซอฟตแวร
ฐานขอมูลวามีความตองการทางดาน ซอฟตแวรและความตองการทางดานฮารทแวรเปนเชนไร
ดังตารางขางลางเปนการบงชี้ถึงองคประกอบความตองการในการติดตัง้ ระบบวามีรายการ
อะไรบาง
- ปจจัยในเรื่องของ License วามีความสามารถในการใชงานหรือการติดตั้งองคประกอบตางๆของ
ซอฟทแวรฐานขอมูลวาเปนชนิดไหน โดยทั่วไปจะแบงออกไดเปนดังนี้
• Enterprise Edition
• Standard Edition
• Personal Edition
โดยแตละชนิดหรือประเภทจะมีราคาของ License ไมเทากันเพราะองคประกอบตางๆจะมีมากมี
นอยไมเทากันซึ่งแตละองคประกอบจะมีหนาที่ในการทํางานที่แตกตางกันออกไปดวยซึ่งขึ้นอยูกับความ
ตองการจากการออกแบบระบบวา จะตองมีองคประกอบอะไรบางที่จะตองติดตั้งเพื่อใชงาน
8
Table Software Requirements

ความตองการ คําอธิบาย
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

รายการ Patch • Patches for Solaris 8:


สําหรับ patches ทั้งหมดตามรายการขางลางนี้จะรวมอยูใ นชุด J2SE
Patch Cluster สําหรับระบบปฎิบัติการ Solaris 8:
• 108528-23, SunOS 5.8: kernel update patch

• 108652-66, X11 6.4.1: Xsun patch

• 108773-18, SunOS 5.8: IIIM and X I/O Method patch

• 108921-16, CDE 1.4: dtwm patch

• 108940-53, Motif 1.2.7 and 2.1.1: Runtime lib. patch for

Solaris 8
• 108987-13, SunOS 5.8: Patch for patchadd and patchrm

• 108989-02, /usr/kernel/sys/acctctl & /.../exacctsys patch

• 108993-18, SunOS 5.8: LDAP2 client, libc, libthread ...

lib. patch
• 109147-24, SunOS 5.8: linker patch

• 110386-03, SunOS 5.8: RBAC Feature Patch

• 111023-02, SunOS 5.8: /kernel/fs/mntfs and ...


9
ความตองการ คําอธิบาย
sparcv9/mntfs
• 111111-03, SunOS 5.8: /usr/bin/nawk patch

• 111308-03, SunOS 5.8: /usr/lib/libmtmalloc.so.1 patch

• 111310-01, SunOS 5.8: /usr/lib/libdhcpagent.so.1 patch

• 112396-02, SunOS 5.8: /usr/bin/fgrep patch

และรายการขางลางนี้จะเปน patches ที่จะตองลงหรือไมกไ็ ด:


• 111721-04, SunOS 5.8: Math Library (libm) patch

• 112003-03, SunOS 5.8: Unable to load fontset in 64-bit

Solaris 8 iso-1 or iso-15


• 112138-01, SunOS 5.8: usr/bin/domainname patch

Patches for Solaris 9:


• 112233-11: SunOS 5.9: Kernel Patch

• 111722-04: SunOS 5.9: Math Library (libm) patch

โปรโตคอล ของระบบ สําหรับ โปรโตคอลสําหรับการติดตอกันในระบบโดยสิง่ ที่เรียกวา Oracle


เครือขาย (Network Net foundation layer ซอฟตแวรระบบฐานขอมูลของออราเคิลจะรองรับการ
Protocol) ทํางานของโปรโตคอลตางๆดังนี้
• TCP/IP

• TCP/IP with SSL

• 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

4. การตรวจสอบพี้นที่ Had disk


root@somewhare#df –k
13
5. สําหรับการตรวจเช็ควาเปนระบบปบัติการแบบ 64-bit หรือไมทําไดโดยใชคําสั่ง
ขางลางนี้
root@somewhere#/bin/isainfo -kv
14
ขั้นตอนหรือคําสั่งที่ใชสําหรับการตรวจเช็คความตองการทางดานซอฟทแวรของ
ระบบปฏิบัติการสําหรับภารกิจกอนการติดตั้ง

1. การตรวจสอบรุน (Version) ของระบบปฎิบัติการ


root@somewhere#uname –r

2. คําสั่งที่ใชสําหรับตรวจสอบ Package ตางๆที่ตองการ


root@somewhere#pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibm SUNWlibms \
SUNWsprot SUNWsprox SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt
15
3. คําสั่งที่ใชสําหรับการตรวจสอบ Patch ตางๆตามรายการที่ปรากฎในตารางขางตนทํา
ไดดังนี้
root@somewhere#/usr/sbin/patchadd –p|grep patch number
16
การกําหนด Group และ User ในระบบปฏิบัติการ Solaris
ทําไดโดยการทําตามขั้นตอนดังตอไปนี้
1. สราง Group สําหรับ User ทําจะเปน DBA (Database Administrator) ของระบบขึน้ มากอน โดย
ใหชื่อ Gropu วา dba โดย ใชคําสั่งดังนี้
a. ตรวจสอบวามี dba group อยูใ นระบบหรือไม
i. root@somewhere#grep dba /etc/group
b. ในกรณีที่ยังไมมี Group dba ใหทําการสรางขึ้นมาดังนี้
i. root@somewhere#/usr/sbin/groupadd dba

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

2. ทําการกําหนด Owner ใหแตละ ไดเร็กทอรี่ที่สรางขึ้นมา


root@somewhere# chown -R oracle:dba /oracle /oradata

3. ทําการเปลี่ยน Permission ดังขางลางนี้


root@somewhere# chmod -R 775 /oracle /oradata
18
การปรับ Kernel Parameter สําหรับ Solaris
1. เราสามารถที่จะใชคําสั่งเพื่อทําการตรวจสอบการตั้งคา parameter ตางๆไดดังขางลางนี้
2. # grep noexec_user_stack /etc/system
3. # /usr/sbin/sysdef | grep SEM
4. # /usr/sbin/sysdef | grep SHM

5. ในกรณีที่เรายังไมไดทําการปรับแก Kernel Parameter หัวขอขางตนแลว เราสามารถทําการ


ปรับแตงไดตาม
a. สํารองไฟล /etc/system เอาไวกอนดวยคําสั่ง
b. # cp /etc/system /etc/system.orig
c. แกไขไฟลเปดไฟล /etc/system ดวย Text editor แลวทําการเพิ่มบรรทัดดังตอไปนี้เขาไป
เพิ่มทีบรรทดสุดทาย
* Begin Oracle Parameter
forceload: sys/shmsys
set noexec_user_stack=1
set semsys:seminfo_semmni=100
set semsys:seminfo_semmns=1024
set semsys:seminfo_semmsl=256
set semsys:seminfo_semvmx=32767
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=10
* End Oracle Parameter
d. เสร็จแลวใหทาํ การ รีบูตเครื่อง ดวยคําสั่งตามขางลางนี้
# /usr/sbin/reboot
19
การปรับแก Oracle User's Environment
โดยการ ปรับแกที่ไฟล .profile โดยใหมีเนื้อหาภายในดังนี้
# Copyright (c) 2001 by Sun Microsystems, Inc.
# All rights reserved.
#
# ident "@(#)local.profile 1.10 01/06/23 SMI"
stty istrip
ORACLE_HOME=/oracle
ORACLE_BASE=/data
PATH=$ORACLE_HOME/bin:/usr/bin:/usr/ccs/bin:/usr/ucb:/etc:.
export ORACLE_HOME ORACLE_SID ORACLE_BASE PATH
ulimit -s 32768
ulimit -n 4096
20
การติดตั้งซอฟทแวรระบบฐานขอมูลของออราเคิล
1. ไปที่ Terminal Tools ดังรูป

ทําการ set คากอนรัน Installer ดังนี้


1. root@somewhere#xhost +
2. root@somewhere#export DISPLAY=localhost:0.0
3. ทําการ runInstaller
21
1. หนาจอแรก

คลิ๊ก Next

2. เลือก path ที่จะทําการติดตั้ง


22
3. เลือกชนิดของการติดตั้งตามที่ตองการ

คลิ๊กเพื่อเลือกภาษาที่ใช

4. จะปรากฎหนาจอเพื่อใหเลือกภาษาใหเลือกเปน English
23
5. หนาจอตอไปจะใหเลือกวาตองการใหทาํ การ สราง Database ภายหลังการติดตั้งหรือไม ในกรณี
ที่ตองการใหสราง Database เลยใหเราเลือกประเภทใดประเภทหนึ่งภายใตหวั ขอ Create a Starter
Database แตจะยังไมสรางในตอนนี้ ดังนัน้ ใหเราทําการเลือก คลิ๊กที่ Do not create a starter database

6. ภายหลังจากการกดปุม Next จะปรากกฎหนาจอสรุปรายละเอียดของการติดตั้งตามที่เราเลือกไวในแต


ละขั้นตอนที่ผา นมา
24
7. คลิ๊กติดตั้ง (Install) เพื่อติดตั้งในขั้นตอนตอไป

8. เมื่อเสร็จแลวจะปรากฏหนาจอดังรูป
25
การสราง Starter Database โดยใชคําสั่ง dbca บน UNIX

1. ทําการเปด Terminal ขึ้นมา


2. ทําการลอกออนเขาไปที่ user ที่เปน DBA ของระบบในกรณีนี้ชื่อวา “oracle” ดังนั้นเราจะใช
คําสั่งที่ลอกออนเขาระบบจาก User ที่เปน root ดังนี้
root@somewhere#su – oracle

3. ทํา set คาใหกบั environment parameter โดยการใชคําสั่ง export ORACLE_SID โดยกําหนดให


SID มีคาเทากับชื่อ SID ที่เราจะทําการสรางขึ้นมา สมมุติวา ORACLE_SID=moioltp ดังนั้นเรา
จะทําการสรางดาตาเบสที่มีชื่อ SID วา moioltp

4. ให runInstaller เพื่อเรียกหนาจอ setup ขึ้นมาโดยจะ run ที่ User ที่เปน Oracle Admin.
จะปรากฏหนาจอดังรูป ใหคลิ๊ก Next เพื่อไปทําในขั้นตอนถัดไป
26
5. ใหทําการเลือก Create a Database

6. เลือกชนิดหรือประเภททีต่ องการ
27
7. ตั้งชื่อใหกบั SID ที่ตองการ

8. การตั้ง password ใหกับ user ในฐานขอมูลสามารถเลือกไดวาจะมี password เดียวหรือตั้งได


ตาม User
28
9. ใหเลือก option เพื่อทําการตั้งคาตางๆใหกับตัวระบบฐานชอมูล
29

10. หนาจอการกําหนดการตัง้ คาใหกับระบบฐานขอมูล


30
บทที่ 3
การดูแลและการจัดการฐานขอมูล

ขั้นตอนการดูและจัดการระบบฐานขอมูล
เราสามารถที่จะทําการจัดการและดูแลระบบฐานขอมูลของ 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

ถาเปนการเขาใชครั้งแรกทาง Oracle จะถามเรื่อง License ใชทําการกดที่ I Agree เพื่อทํางานตอไป


31
2. หนา Database Home จะมีการแสดงสภาพโดยรวมทั้งหมดของฐานขอมูลทั้ง สุขภาพ และสถานะการ
ทํางาน

3. มุมบนดานขวาของหนาจะมี Link ตางๆ เชน


Setup ใชในการเขาไปจัดการในสวนของผูดูแลระบบ และการตั้งคาตาง การแสดงขอความ
Preferences การจัดการเกี่ยวกับการโชวขอ มูล ตารางเวลาการแสดงตางๆ
Help การใหความชวยเหลือ
Logout การตัดการติดตอกับฐานขอมูลนั้นๆ
32
4. เมื่อทําการดูขอมูลทั้งหมดแลวตองการทีจ่ ะกลับสูหนาหลัก หรือหนา Database Home ใหกดที่ปมุ
Back ของบราวเซอร

5. การดูขอมูลสามารถที่จะเลือกที่จะใหหนาจอทําการ Refresh ใหแบบอัตโนมัติก็ได โดยเลือกที่ Drop-


Down List

6. แถบ General จะเปนสวนที่แสดง สถานะของฐานขอมูล, ชื่อ, รุน, ชื่อเครื่อง และอื่น


33
7. ในสวนของเครื่องที่ติดตั้ง ในสวนนั้นจะประกอบไปดวยแถบตางๆ ที่จะแสดงขอมูลทั้งหมดของ
เครื่อง

8. หนา Host Configuration จะแสดงขอมูลของเครื่องที่รัน Oracle database เรื่องของ Hardware,


Operating System, Oracle Software, Registered Software ตางๆ
34
9. ในสวนของ Host CPU ในหนา Database Home นั้นจะแสดงข็อมูลของการใชงาน CPU
ประสิทธิภาพการทํางาน
Active Session จะแสดงคาเฉลี่ยของจํานวน Session ที่ทํา (การใชงาน CPU)
SQL Response Time จะแสดงในกรณีที่มกี ารตั้งคาการติดตามของ SQL

10. ในสวนของ Diagnostic Summary จะแสดงขอมูลที่ไดมาจากการตรวจสอบโดยการทํางานของ


Automatic Diagnostic Database Monitor (ADDM)

11. ในสวนของ Alert log Error จะแสดงขอมูลของการทํางานในฐานขอมูล


35
12. สวนของ Space Summary นั้นจะชวยในการตรวจสอบพื่นที่ในการเก็บขอมูล และยังมีขอแนะนํา
ในการปรับเพือ่ เพิ่มประสิทธิภาพดวย

13. High Availability จะบอกถึงความนาเชื่อถือของขอมูล การสามรถที่จะนําฐานของมูลกลับมาไดเมื่อ


เกิดปญหา

14. เมื่อเขามาดูรายละเอียดของการตั้งคาการในสวนของการ Recovery นั้นสามารถที่จะปรับเปลี่ยนได


36
การใชงานหนา Database Performance ประกอบดวยสวนตาง ๆ ดังนี้
• Host
• Average Active Sessions
• Instance Disk I/O
• Instance Throughput

1. การใชงานเลือกที่แถบ Performance

2. ในสวนของหนาจอ Performance จะแสดงขอมูลการใชงาน CPU

3. ในสวนของการเก็บขอมูลที่มีรายละเอียดยอนหลัง
37
4. Host Performance ในสวนนี้จะแสดงแผนภาพของประสิทธิภาพการทํางานของเครื่องทั้งหมด เชน
CPU, Memory, Disk O/I

5. Average Active Sessions จะแสดง Load ของตัวฐานขอมูล

6. Instance Disk I/O จะแสดงขอมูลของปริมาณการอานเขียนขอมูลในฐานขอมูล


38
7. Instance Throughput จะแสดงกราฟของปริมาณการใหบริการทั้งหมดของ Session
39
การใชงานหนา Administration
Administration นั้นจะชวยใหผูดูแลฐานขอมูลสามารถที่จะที่การเขาถึงตัวของขอมูล สามารถที่จะจัดการ
ผานหนาจอนี้ได เชน การสราง Table spaces, การกําหนดสิทธิการใชงาน ตางๆ
1. การเขาหนาจอนี้ กดทีแ่ ถบ Administration

2. ในหนาจอของ Administration จะจัดเตรียมเครื่องมือตางๆ ที่จะชวยใหผูดแู ลฐานขอมูลใชในการ


ทํางาน เชน
Storage ใชในการจัดการพืน้ ที่ และขนาดของฐานขอมูล
Database Configuration ใชในการตั้งคาตางๆ ของฐานขอมูล
Database Scheduler ใชในการตั้งตารางการทํางาน หรือ การไปตรวจสอบตางๆ
Statistics Management ใชในการตั้งคาการที่จะปรับปรุงประสิทธิภาพการทํางานของฐานขอมูล
40
3. การเขาไปทําการตรวจสอบ Tablespaces เพื่อดูเนื้อที่ Click ที่ Link Tablespace

4. ในหนาของ Tablespace จะแสดงขอมูลตางๆ และสามารถที่จะเขาไปดูในรายละอียดของแตละ


Tablespace ได
41
5. จะแสดงรายละทั้งหมดของ Tablespace นั้นๆ และสามารถที่จะจัดเรียงการแสดงผลได

You might also like