Exzilla.net
Contact
Home -> Articles -> Roadmap and Beginner's Guide for Oracle Developer
 
Features
Forums
Files
Blogs
Roadmap and Beginner's Guide for Oracle Developer
March 31, 2002
Narisa N.
Author's Bio | E-Mail
Copyright (C) 2002 exzilla.net
 

"ต้องการทำโปรเจ็ค อยากใช้ PHP กับ Oracle จะเริ่มยังไง ไม่รู้ว่าจะใช้ Oracle แผ่นไหน เพื่อสร้าง database

แล้วมีหนังสือที่บอกถึงการใช้Oracle ติดต่อกับ PHP หรือเปล่า ช่วยแนะนำด้วย

อีกอย่างมีหนังสือสอนการใช้ Oracle ตั้งแต่เริ่มต้นหรือเปล่าในท้องตลาดที่เป็นภาษาไทย"

เราคงพบเห็นคำถามประเภทนี้อยู่บ่อยๆ  และอย่างที่หลายคนทราบ ทุกครั้งที่เราสนใจ และอยากเรียนรู้ Technology ใหม่ คำถามที่เกิดขึ้นในใจเราอยู่เสมอ นั่นคือ "จะเริ่มต้นอย่างไร"

บทความนี้มีจุดประสงค์เพื่อเป็นแนวทางให้กับผู้ที่กำลังสนใจพัฒนา Application ซึ่งอาศัย Oracle Technology เป็นหลัก โดยเราได้นำเสนอขั้นตอน เพื่อช่วยให้ท่านเริ่มต้นได้อย่างง่ายๆ ดังขั้นตอนต่อไปนี้

1. What's 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

รายละเอียดเพิ่มเติมสามารถอ่านได้ที่บทความ Oracle Architecture

2. 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 ทุกอย่าง

3. Installing Oracle Database Server

หลังจากที่ได้ Oracle Software มาแล้ว ในแผ่น CD นั้นจะมีทั้ง Oracle ในส่วน Server และ Client สำหรับ OS นั้นๆ

ทำความเข้าใจกันเสียก่อนนะค่ะ ว่า Oracle Database Server ที่เรา Install ในขั้นตอนแรกนี้คือ ส่วนของโปรแกรมที่ช่วยจัดการ Database ที่เราจะสร้างขึ้นเท่านั้น ไม่ใช่ขั้นตอนการสร้าง Database ที่เราจะใช้จัดเก็บข้อมูล

สำหรับการ Install Oracle Database Server Software สามารถดูรายละเอียดได้ที่นี่

" http://www.exzilla.net/docs/InstallDB/InstallDB01.php "

4. Creating Oracle Database

และมาถึงขั้นตอนนี้คือขั้นตอนในการสร้าง Database เพื่อที่จะจัดเก็บข้อมูลต่าง ๆ ตามที่เราต้องการ ซึ่งเราก็ควรสร้าง Database ให้เหมาะสมกับลักษณะการใช้งานที่เราต้องการ ดูตัวอย่างการสร้าง Database ได้จาก

" http://www.exzilla.net/docs/createDB/createDB016.php "

5. Startup/Shutdown Database

ในกรณีที่คุณเพิ่งสร้าง Database เสร็จ Database ของคุณจะถูก Startup ไว้ให้อัตโนมัติ ถ้าคุณต้องการ Startup หรือ Shutdown Database เอง สามารถดูตัวอย่างได้จากบทความนี้

" http://www.exzilla.net/docs/instance/StartupNshutdownWithshell.php "

6. Configuring Oracle Network Server Side (Listener)

ในฝั่ง Server เราจำเป็นต้องอาศัย Oracle Software อีกตัวหนึ่งคือ Listener ซึ่งถูกติดตั้งเรียบร้อยแล้วจากขั้นตอนที่ 2 แต่เราต้องทำการ Config และ Startup มันขึ้นมาก่อน

เจ้าตัว Listener นี้จะทำให้ Software Oracle Client หรือโปรแกรมที่เราพัฒนาขึ้น สามารถติดต่อกับ Oracle Database Server ได้

ตัวอย่างการจัดการ Listener ได้จากบทความนี้

" http://www.exzilla.net/docs/sqlnet/orcl-listener-01.php "

เมื่อมาถึง Step นี้ เราก็มี Oracle Database Server พร้อมที่จะใช้งานแล้ว

ในขั้นตอนติดตั้ง Oracle Database Server Software จากตัวอย่างข้อ 2 จะมีการติดตั้ง Oracle Client Software ให้อัตโนมัติอยู่แล้ว

ถ้าเราเลือกที่จะพัฒนาโปรแกรมบนเครื่องเดียวกับ Database Server เราก็สามารถพัฒนา หรือเริ่มใช้โปรแกรม Oracle Client อย่าง SQL*Plus ได้เลย

แต่ถ้าเราวางแผนที่จะพัฒนา หรือทำงานบนเครื่องอื่นๆ ที่อยู่ใน Network เดียวกัน เราจำเป็นต้อง install Oracle Client Software ที่เครื่องนั้น เพื่อให้โปรแกรมที่เราพัฒนาขึ้น หรือ utility ต่างๆ ที่จะใช้งาน Oracle Database สามารถติดต่อกับ Oracle Database Server ที่อยู่ต่างเครื่องกันได้

7. Installing Oracle Client

ตัวอย่างการติดตั้ง Oracle Client Software ดูได้ที่นี่

" http://www.exzilla.net/docs/orcle-client/orcl-client-01.php "

8. Configuring Oracle Network Client Side

หลังจากติดตั้ง Oracle Client เรียบร้อยแล้ว เพื่อให้ Software ที่ฝั่ง Client ติดต่อไปยัง Database Server ที่เราต้องการได้( Database Server อาจจะอยู่ต่างเครื่อง ต่างชนิดของ OS กันก็ได้ ) เราต้อง Config Oracle Network Client เพื่อให้ Oracle Client กับ Oracle สามารถพูดคุยกันได้ ซึ่งสามารถดูรายละเอียดและขั้นตอนตามเอกสารนี้

Oracle Client configuration

และวิธีการตรวจสอบการทำงานของ Oracle client เบื้องต้น

Checking your Oracle client configuration (pdf, 55kb)

9. Testing current configuration with sql*plus

เพื่อเป็นการทดสอบ Configuration จากขั้นตอนต่างๆ ที่ผ่านมา เราจะใช้โปรแกรม SQL*Plus ที่เราได้ติดตั้งไว้ที่ฝั่ง Client ทำการทดสอบ ดังนี้

$ sqlplus system/manager@viper
sql> select * from v$database;
sql> exit
$

จากตัวอย่างข้างบน ทำการ Connect ด้วย User ชื่อ “system” และ password “manager” ติดต่อไปยัง Database ตาม Alias ที่ชื่อ “viper” ซึ่งก็ควรจะสามารถ connect และดึงข้อมูลจาก v$database ได้

หมายเหตุ user “system” และ password “manager” จะเป็น user default ที่ระบบสร้างให้โดยอัตโนมัติ หลังจากสร้าง Database

10. Creating New Database User

หลังจากทำการสร้าง Database โดยใช้ Oracle Database Configuration Assistant จาก Step ที่ 3 เรียบร้อยแล้ว เราจะได้ User ที่เป็น Default User หลาย User ด้วยกัน อย่างเช่น

SYS,SYSTEM,OUTLN,DBSNMP,TRACESVR

โดยที่ User ที่เป็น "SYS" จะเป็น user ที่มีสิทธิสูงสุดในการจัดการ Database รวมถึงสิทธิในการ Startup และ Shutdown Database ด้วย ส่วน user "SYSTEM" จะเป็น user ที่มีสิทธิในการดูแลรักษาทั้งหมด แต่ไม่มีสิทธิในการ Startup หรือ Shutdown Database

ในการใช้งานจริง เราควรสร้าง user ขึ้นมาใหม่ เพื่อใช้ในการพัฒนา และง่ายต่อการดูแลรักษา

ตัวอย่างข้างล่างนี้ เป็นการสร้าง user ขึ้นมาใหม่ โดยผู้ที่มีสิทธิสร้าง user ต้องมีสิทธิเป็น DBA ซึ่งก็คือ user “SYSTEM” โดยมี password คือ “manager”

$sqlplus /nolog
sql> connect system/manager@viper
sql> create user nicole identified by tiger default tablespace users temporary tablespace temp;
sql> grant connect,resource to nicole;
sql> exit

หลังจาก connect ด้วย user "SYSTEM" ก็ทำการสร้าง user ด้วยคำสั่ง Create User ดังตัวอย่างข้างบน user ที่สร้างขึ้นใหม่คือ "nicole" มี password คือ "tiger" และกำหนดให้ข้อมูลที่ถูกสร้างจาก user "nicole" ถูกจัดเก็บไว้ที่ tablespace ชื่อ "users" และให้ใช้ temporary tablespace ที่ชื่อ "temp"

จากนั้น ให้สิทธิในการ "connect" และ "resource" กับ user "nicole" เพื่อ user นี้สามารถทำงาน และจัดเก็บข้อมูลของตนเองได้

11. Using Created Oracle Database by SQL*Plus

เมื่อทุกอย่างพร้อมสำหรับการใช้งาน ตัวอย่างข้างล่างนี้ เป็นการ connect Oracle Database ด้วย user "nicole" ไปยัง Database "viper" และจากนั้นทำการสร้าง Table เพื่อทดสอบการใส่ข้อมูล และการดึงข้อมูลออกมาในรูปแบบต่างๆ

$ sqlplus nicole/tiger@viper
SQL> create table mytable(mydate date);
Table created.

SQL> insert into mytable values(to_date('12-JAN-2001','DD-MON-YYYY'));
1 row created.

SQL> commit;
Commit complete.

SQL> select * from mytable;
MYDATE
---------
12-JAN-01
SQL> select to_char(mydate,'DD-MM-YYYY') from mytable;
TO_CHAR(MY
----------
12-01-2001

SQL> select to_char(mydate,'DD-MONTH-YYYY') from mytable;
TO_CHAR(MYDATE,'D
-----------------
12-JANUARY -2001

SQL>

12. Using Thai Support Feature in Oracle Database

เพื่อให้เราใช้ความสามารถเรื่องการสนับสนุนภาษาไทยของ Oracle Database ได้อย่างมีประสิทธิภาพ เรามีข้อปฎิบัติง่ายๆ อธิบายไว้ในบทความต่อไปนี้

Using Thai Support Features in Oracle Database
" http://www.exzilla.net/docs/nls/nlsdatabase.php "

13. Creating development environment from different development technology

มาถึงตรงนี้ ก็ขึ้นอยู่กับเราแล้วว่า เราจะเลือกใช้ technology หรือภาษาอะไรในการพัฒนา Application ที่เราถนัด ซึ่งก็มีทางเลือกอยู่หลากหลาย และก่อนที่จะพัฒนา Application เราจำเป็นต้องจัดเตรียมวิธีการติดต่อระหว่าง Technology ที่เลือกกับ Oracle Database(Data Access to Oracle Database ) เสียก่อน ดังเช่น

- PHP OCI8 extension Data Access to Oracle Database

- COM Data Access to Oracle Database

- J2EE Data Access to Oracle Datbase

14. Developing your application with your favorite technology

และมาถึงขั้นตอนการพัฒนา Application โดยเลือกใช้ Technology ที่เราถนัด

- SQL*PLUS
http://www.exzilla.net/docs/howto/HowtoOracleSqlplus01.php

- PHP
http://www.exzilla.net/docs/howto/HowtoOraclePHP01.php

- ASP
http://www.exzilla.net/docs/howto/HowtoOracleASP01.php

- Servlet
http://www.exzilla.net/docs/howto/HowtoOracleServlet01.php

- JSP
http://www.exzilla.net/docs/howto/HowtoOracleJSP01.php

- PL/SQL
http://www.exzilla.net/docs/plsql01/plsql01.php

 

15. Getting in deep for your career path

- Oracle DBA
http://www.exzilla.net/node/view/8

- J2EE Developer
http://www.exzilla.net/node/view/9

- ASP Developer
http://www.exzilla.net/node/view/10

- PHP Developer
http://www.exzilla.net/node/view/11

 

และท้ายสุดที่สำคัญและขาดไม่ได้ในการเริ่มเรียนรู้ Oracle Technology ก็คือความตั้งใจและเวลาที่เราได้แบ่งไว้เพื่อการเรียนรู้อย่างจริงจัง

สำหรับท่านที่ สนใจจะแลกเปลี่ยนความคิดเห็นหรือ พูดคุยกับ ทีมงาน Exzilla.net ขอเชิญแวะที่ Discussion Forums ( http://www.narisa.com ) ของเราดูนะคะ

 
 
{exzilla.net -- e-development QuickStart --}



Copyright (c) 2001-2005 - Exzilla.net -  All Rights Reserved.
Contact Us | Privacy Policy | Terms & Conditions