Mais conteúdo relacionado
เริ่มต้น Oracle database ด้วย XE (draft)
- 1. เริ่มต้น Oracle Database ด้วย Oracle Database Express (DRAFT)<br />การติดตั้งและเรียนรู้ Oracle Database XE <br />เมื่อเรามองกลับไปในมุมมองของคนที่กำลังเริ่มต้นศึกษา Oracle Database การใช้ Oracle Database XE ถือว่าเป็นแนวทางที่ดี การดาวน์โหลด Oracle XE ไปที่ http://www.oracle.com/technetwork/database/express-edition/overview/index.html เราจะพบ Oracle Database 10g XE และ Oracle Database 11g XE รูป 1.1: หน้าเว็บ download Oracle XE<br />บทความนี้ผมขอใช้ Oracle Database 11g XE และสิ่งที่ต้องมีก่อนดาวน์โหลด คือต้องมี OTN account (signup free: https://myprofile.oracle.com/EndUser/faces/profile/createUser.jspx) หลังจากดาวน์โหลด Oracle Database XE สำหรับระบบปฏิบัติการ Windows จะได้ไฟล์ win32_11gR2_OracleXE.zip จากนั้น unzip เราจะได้โฟลเดอร์ DISK1 ใน DISK1 โฟลเดอร์เลือก setup.exe ไฟล์ เพื่อติดตั้ง<br />รูป 1.2: ขั้นตอนการติดตั้ง Oracle Database XE เราต้องเลือก I accept the terms in the license agreement เพื่อติดตั้ง (ถ้ามีเวลาลองอ่านรายละเอียดดูนะครับ)<br />โดยปกติ Destination Folder คือ C:raclexe เราสามารถเปลี่ยนได้โดยคลิกที่ Browse… (กรณีนี้ขอเปลี่ยนเป็น D:raclexe)พิมพ์พลาสเวิร์ดสำหรับผู้ใช้ SYS และ SYSTEM<br />หมายเหตุ: SYS คือ ผู้ใช้ที่เป็นเจ้าของฐานข้อมูล Oracle และเจ้าของพจนานุกรมข้อมูลในฐานข้อมูล Oracle ด้วยSYSTEM คือ ผู้ใช้ที่มีสิทธ์ในการจัดการ และดูแลฐานข้อมูล Oracle<br /> จะพบว่า Oracle Database XE ต้องการพอร์ต 1521 สำหรับ Listener, 2030 สำหรับ MS Transaction Server, 8080 สำหรับ HTTP<br />Oracle Database XE จะมีชื่อฐานข้อมูลที่ชื่อว่า XE เมื่อติดตั้งเสร็จแล้ว เลือก Start -> All Programs เราจะพบรูป 1.3: เมนูบน Windows หลังติดตั้งเสร็จ<br />จากรูป 1.3: เลือก Get Started เราจะพบว่า Windows จะเปิด Browser ที่ URL http://127.0.0.1:8080/apex/f?p=nnnn ซึ่งเราจะพบดังรูป 1.4รูป 1.4: เพจ Oracle Database XE จากรูป 1.3: เลือก Run SQL Command Line เราจะพบรูป 1.5รูป 1.5: SQL Command Line<br />ใน SQL Command Line ทดสอบการติดต่อฐานข้อมูล<br />SQL> connect / as sysdba Connected.<br />SQL> show user;<br />USER is quot;
SYSquot;
<br />SQL> <br />หมายเหตุ: “connect / as sysdba” เท่ากับ “connect sys/password as sysdba” - เมื่อเราติดต่อฐานข้อมูล Oracle ด้วย sys เราจำเป็นต้องใช้ “as sysdba” กรณีนี้เราติดต่อฐานข้อมูลที่เครื่องฐานข้อมูลเอง จึงไม่ต้องผ่าน Listener พร้อมกันนี้ ORACLE_SID ยังระบุชื่อ Instance อีกด้วยหรือ ผ่าน Listener แบบ Easy Connect NamingSQL> connect sys/password@localhost:1521/xe as sysdba<br />Connected.<br />จากรูป 1.3 เราสามารถหยุดฐานข้อมูลด้วยการเลือก Stop Database <br />รูป 1.6: การ Stop Databaseหากต้องการ stop database ด้วย sqlplus <br />SQL> shutdown Database closed.<br />Database dismounted.<br />ORACLE instance shut down.จากรูป 1.3 เราสามารถเริ่มต้นฐานข้อมูลด้วยการเลือก Start Database <br />รูป 1.7: การ Start Databaseหากต้องการ start database ด้วย sqlplus<br />SQL> startup ORACLE instance started.<br />Total System Global Area 803500032 bytes<br />Fixed Size 1386556 bytes<br />Variable Size 234883012 bytes<br />Database Buffers 562036736 bytes<br />Redo Buffers 5193728 bytes<br />Database mounted.<br />Database opened.จากรูป 1.3: เราสามารถสำรองฐานข้อมูลด้วยการเลือก Backup Database และซ่อมแซมฐานข้อมูลด้วยการใช้ Restore Databaseเรียนรู้จากเพจ Oracle Database XEจากรูป 1.4 สิ่งที่น่าสนใจเราจะเห็นแท็บ Storage, Sessions, Parameters และ APEX เมื่อเลือก Storage เราจะเห็นดังรูปรูป 1.8: StorageTablespace เป็น Logical ที่ประกอบด้วย 1 หรือ หลายๆ physical datafiles หรือ tempfiles ซึ่งแบ่งเป็นประเภท<br />- Permanent tablespaces ใช้ในการเก็บข้อมูลของ system และผู้ใช้<br />การหา default Permanent tablespace (ไม่ควรเป็น SYSTEM Tablespace):<br />SQL> select PROPERTY_VALUE from database_properties where PROPERTY_NAME='DEFAULT_PERMANENT_TABLESPACE';<br />PROPERTY_VALUE<br />--------------------------------------------------------------------------------<br />USERS<br />- Temporary tablespaces ใช้ในทำงานที่เกี่ยวกับการเรียงข้อมูล สร้าง Index<br />การหา default Temporary tablespace:<br />SQL> select PROPERTY_VALUE from database_properties where PROPERTY_NAME='DEFAULT_TEMP_TABLESPACE';<br />PROPERTY_VALUE<br />--------------------------------------------------------------------------------<br />TEMP<br />- Undo tablespace ใช้เก็บข้อมูลก่อนที่จะถูกเปลี่ยนแปลง อย่างเช่นกรณีการสั่งคำสั่ง rollback และเกี่ยวกับการจัดการ read consistency<br />การหา Undo tablespace <br />SQL> show parameter undo_tablespace<br />NAME TYPE VALUE<br />------------------------------------ ----------- ------------------------------<br />undo_tablespace string UNDOTBS1แล้ว datafiles หรือ tempfiles <br />SQL> select tablespace_name, file_name from dba_data_files;<br />TABLESPACE_NAME FILE_NAME<br />------------------------------ --------------------------------------------------------------------------------<br />USERS D:RACLEXEPPRACLERADATAESERS.DBF<br />UNDOTBS1 D:RACLEXEPPRACLERADATAEYSAUX.DBF<br />SYSAUX D:RACLEXEPPRACLERADATAENDOTBS1.DBF<br />SYSTEM D:RACLEXEPPRACLERADATAEYSTEM.DBF<br />SQL> select tablespace_name, file_name from dba_temp_files;<br />TABLESPACE_NAME FILE_NAME<br />------------------------------ --------------------------------------------------------------------------------<br />TEMP D:RACLEXEPPRACLERADATAEEMP.DBFจากรูป 1.8 เราจะพบชื่อ Tablespaces ต่างๆ<br />- SYSTEM จะถูกสร้างโดยอัตโนมัติเมื่อเราสร้างฐานข้อมูล Oracle ซึ่งใช้ในการเก็บพจนานุกรมข้อมูล(data dictionary)ซึ่งเป็นศูนย์กลางของ tableและview ที่ใช้เป็นข้อมูลอ้างอิงสำหรับฐานข้อมูล ซึ่งอยู่ใน SYS schema (ในฐานข้อมูล Oracle... USER = schema)<br />- SYSAUX เป็น tablespace เสริมสำหรับ SYSTEM tablespace และถูกสร้างโดยอัตโนมัติเมื่อเราสร้างฐานข้อมูล Oracle <br />- TEMP ใช้ในการเก็บข้อมูลชั่วคราว เช่นในการทำงานของ SQL ที่ต้องมีการเรียงข้อมูล<br />- UNDOTBS1 เก็บข้อมูลที่ต้องการใช้ในการ undo SQL> show parameter undo_tablespace<br />NAME TYPE VALUE<br />------------------------------------ ----------- ------------------------------<br />undo_tablespace string UNDOTBS1<br />- USERS เป็น permanent tablespace ใช้ในการเก็บข้อมูลของผู้ใช้งานทั่วไป (เราสามารถสร้าง permanent tablespace ให้แก่ผู้ใช้งานฐานข้อมูลได้)<br />SQL> CREATE TABLESPACE TBS_TEST DATAFILE 'D:RACLEXEPPRACLERADATAEBS_TEST01.DBF' SIZE 10M;<br />Tablespace created.<br />SQL> CREATE USER DEMO IDENTIFIED BY DEMO DEFAULT TABLESPACE TBS_TEST QUOTA UNLIMITED ON TBS_TEST;<br />User created.<br />Parameters พารามิเตอร์เป็นสิ่งที่จำเป็นในการ start ฐานข้อมูล Oracle เมื่อเราเลือกแท็บ Parameters จะพบพารามิเตอร์แค่ค่าต่างๆ ดังรูป 1.9รูป 1.9: Parameters บนฐานข้อมูล Oracle มีพารามิเตอร์อยู่หลายตัว เราสามารถเช็คได้จาก V$PARAMETER<br />SQL> select * from v$parameter;พารามิเตอร์เป็นสิ่งที่จำเป็นต้องเรียนรู้ และเข้าใจ เมื่อเราต้องการดูแลระบบฐานข้อมูล Oracle หรือ เพื่อในการปรับปรุงประสิทธิภาพฐานข้อมูล Oracle ตัวอย่าง - db_name ชื่อฐานข้อมูล<br />- sessions จำนวน Session ที่ถูกจำกัดในฐานข้อมุล<br />- spfile เป็นตัวบอกว่าใช้งาน Server Parameter File ที่ไหน ...spfile เก็บค่า parameters ของฐานข้อมูล Oracle ที่จำเป็นเมื่อ start ฐานข้อมูล (ไฟล์เป็น binary)<br />- undo_management ระบุว่าการจัดการ UNDO เป็นแบบไหน Manual หรือ AUTO<br />- undo_tablespace ระบุว่า UNDO tablespace ที่ใช้ชื่ออะไร<br />- compatible ระบุการเข้ากันได้ของ software version<br />- control_files ระบุ control files อยู่ที่ไหน ... control file จะเก็บชื่อฐานข้อมูล datafiles/tempfiles และอื่นๆ ที่จำเป็นสำหรับฐานข้อมูล Oracle<br />หมายเหตุ: ต้องขอกล่าวคร่าวๆ เกี่ยวกับการจัดการ Oracle Database XE เพราะบทความนี้ ผมต้องการเพียงใช้ Oracle Database XE เข้ามาช่วยในเรียนรู้ Oracle Database<br />อ้างอิง <br />Database Express Edition Documentation 11g Release 2 (11.2) Beta http://download.oracle.com/docs/cd/E17781_01/index.htm<br />เขียนโดย Surachart Opun <br />http://surachartopun.com<br />OUGTH Contributor<br />การตรวจเช็คฐานข้อมูล Oracle https://docs.google.com/document/d/16wdyd63xgl_Oaq0RCDH2uhw-AJawxh5mhO4AYeXtKvs/edit?hl=en_US&ndplr=1&pli=1<br />