คำถามที่พบบ่อย & ทิปส์เทคนิค

ตอบคำถามทั่วไปเกี่ยวกับคอร์สเรียนและการสอบใบรับรองออราเคิล พร้อมรวบรวมทิปส์แก้ไขปัญหาระบบสำหรับ DBA

หน้าแรก > คำถามที่พบบ่อย & ทิปส์

คำถามที่พบบ่อย (FAQs)

1. หากเพิ่งเริ่มต้นเรียนรู้ Oracle ควรเรียนหลักสูตรใดก่อน? +

แนะนำให้เริ่มต้นศึกษาหลักสูตร Oracle Database SQL Fundamentals I เป็นหลักสูตรแรก เนื่องจากภาษา SQL เป็นภาษาพื้นฐานสำคัญในการเข้าถึงและจัดการฐานข้อมูลออราเคิล ซึ่งจำเป็นต้องใช้ในการต่อยอดไปยังหลักสูตรการดูแลระบบ (DBA) หรือหลักสูตรนักพัฒนา (Developer) ระดับสูงต่อไป

2. มีหลักสูตรที่ต้องเรียนเป็น Prerequisite (วิชาบังคับก่อนหน้า) หรือไม่? +

พื้นฐานที่สำคัญของหลักสูตร Oracle ทั้งหมดคือภาษา SQL หากผู้เรียนมีความรู้ด้าน SQL หรือมีพื้นฐานระบบฐานข้อมูลมาบ้างแล้ว ก็สามารถเลือกลงทะเบียนคอร์สเรียนตามระดับความรู้ (Beginner, Intermediate, Advanced) ได้ตามต้องการ

  • • หากต้องการเรียนสาย Developer: ควรผ่าน SQL Fundamentals → PL/SQL Fundamentals → PL/SQL Program Units ตามลำดับ
  • • หากต้องการเรียนสาย DBA: ควรมีพื้นฐาน SQL Fundamentals ก่อน → Administration Workshop I → Administration Workshop II
3. ความแตกต่างระหว่างภาษา SQL และ PL/SQL คืออะไร? +

SQL (Structured Query Language) เป็นภาษาที่ใช้ในการดึงและจัดการข้อมูลทั่วไปในลักษณะ Interactive ทันที เช่น คำสั่ง SELECT, INSERT, UPDATE, DELETE

PL/SQL (Procedural Language extension to SQL) เป็นภาษาโครงสร้างโปรแกรมมิ่งเฉพาะที่พัฒนาโดย Oracle เพื่อนำความสามารถของตัวแปร เงื่อนไข (IF-THEN) ลูปการทำงาน (Loops) และฟังก์ชัน มาร่วมประมวลผลบนฐานข้อมูล ช่วยอำนวยความสะดวกในการประมวลผลคำสั่งที่ซับซ้อนฝั่ง Server ได้ดีขึ้น

4. รายละเอียดใบรับรอง Oracle Certified (OCA / OCP / OCM) เป็นอย่างไร? +

ประกาศนียบัตรรับรองความสามารถ (Certifications) ของ Oracle ได้รับความนิยมสูงและเป็นที่ยอมรับระดับสากล โดยแบ่งระดับความรู้ดังนี้:

  • OCA logo
    Oracle Certified Associate (OCA):

    ประกาศนียบัตรระดับแรกสุด การสอบต้องผ่านวิชาพื้นฐาน SQL และวิชา Administration I (สำหรับสาย DBA) หรือวิชา Developer (สำหรับสาย Programmer)

  • OCP logo
    Oracle Certified Professional (OCP):

    ระดับวิชาชีพที่ได้รับการยอมรับสูงสุดในประเทศ การสอบจำเป็นต้องได้รับ OCA ก่อน จากนั้นต้องสอบผ่านวิชาขั้นสูง Administration II และเข้าร่วมอบรมคอร์สเรียนตรงตามเกณฑ์ของ Oracle อย่างน้อย 1 หลักสูตร

  • OCM logo
    Oracle Certified Master (OCM):

    ระดับผู้เชี่ยวชาญสูงสุด เหมาะสำหรับวิศวกรฐานข้อมูลระดับที่ปรึกษา (Consultant)

5. ในการจัดสอบใบรับรอง Oracle Certified สามารถติดต่อสอบได้ที่ไหน? +

การสอบใบรับรอง Oracle จัดสอบผ่านพันธมิตรผู้ให้บริการทดสอบอย่างเป็นทางการ ผู้สอบสามารถลงทะเบียนสอบออนไลน์และเลือกสถานที่สอบ หรือจองคิวสอบแบบออนไลน์ที่บ้านพร้อมกล้องเว็บแคมผ่านทางเว็บไซต์ Pearson VUE Oracle Certification

ทิปส์และคู่มือเทคนิคสำหรับ Oracle DBA

คิวรี SQL พื้นฐานสำหรับตรวจสอบสถานะ Database

ชุดคำสั่งคำถามที่ผู้ดูแลระบบ DBA ใช้งานบ่อยที่สุดเพื่อตรวจหาข้อมูลตำแหน่งไฟล์และชื่อระบบฐานข้อมูล:

-- ค้นหาชื่อและสถานะของ Database ปัจจุบัน
SELECT name, log_mode, open_mode FROM v$database;

-- ตรวจสอบไฟล์เก็บข้อมูลในเครื่องและขนาด Tablespace
SELECT tablespace_name, substr(file_name,1,70) AS file_path FROM dba_data_files;

-- ตรวจสอบตำแหน่งของไฟล์ Log (Redo Log Files)
SELECT member FROM v$logfile;

-- ตรวจสอบตำแหน่งของ Control File
SELECT name FROM v$controlfile;

ขั้นตอนการเปลี่ยนชื่อ ORACLE_SID (Database Name)

การเปลี่ยนชื่อ Instance หรือ SID ปัจจุบันเพื่อติดตั้งระบบทดสอบ (Clone Database):

  1. สร้างไฟล์แบ็กอัป Control File ออกมาเป็นสคริปต์ข้อความ:
    ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
  2. ค้นหาไฟล์ Trace ที่เพิ่งถูกสร้างขึ้นมาในโฟลเดอร์ UDUMP แก้ไขข้อความในสคริปต์ดังนี้:
    • ลบบรรทัดคำสั่งข้อความส่วนหัวออกทั้งหมดจนถึงบรรทัด # Set #2. RESETLOGS case
    • ปรับเปลี่ยนชื่อฐานข้อมูลเก่าในคำสั่ง CREATE CONTROLFILE ให้เป็นชื่อใหม่ เช่น:
      CREATE CONTROLFILE SET DATABASE "NEWDB" RESETLOGS NOARCHIVELOG
    • ลบบรรทัดคิวรี RECOVER DATABASE USING BACKUP CONTROLFILE ออก
  3. รันสคริปต์แก้ไขเพื่อทำการสร้าง Control File ใหม่บนเซิร์ฟเวอร์

การแก้ไขปัญหาหาก Enterprise Manager (EM) ใช้งานไม่ได้

เมื่อพบปัญหา Console ของ Database control โหลดหน้าเว็บช้าหรือไม่ทำงาน ให้รันคำสั่งรีเซ็ต Repositories ตามขั้นตอนดังนี้:

# ทำการปิด Console และลบค่า Configurations เดิม
emca -deconfig dbcontrol db -repos drop

# ทำการคอนฟิกติดตั้งระบบ Repository ของ EM ใหม่
emca -config dbcontrol db -repos create

# คำสั่งทางเลือกสำหรับเช็กสถานะหรือสั่งสตาร์ทบริการแบบแมนนวล
emctl status dbconsole
emctl start dbconsole

การขยาย memory_target ให้มากกว่า 2GB บนระบบปฏิบัติการ Linux

หากคุณรันเซิร์ฟเวอร์ Oracle บนระบบ Linux และตั้งค่า memory_target สูงขึ้นแต่เกิดความผิดพลาดเนื่องจากระบบไฟล์ /dev/shm (Shared Memory) มีขนาดไม่พอ ให้ใช้คำสั่งขยายพื้นที่ดังนี้:

# เข้าสิทธิ์ root
su -

# รันคำสั่ง Remount ขยายขนาด Shared Memory ใน Linux ทันที (ตัวอย่างขยายเป็น 10GB)
mount -o remount,size=10G /dev/shm

# เพื่อความคงทนหลังรีสตาร์ตเครื่อง ให้เพิ่มข้อมูลในไฟล์ /etc/fstab:
# tmpfs /dev/shm tmpfs defaults,size=10G 0 0

การติดตั้ง RLWrap บน Linux เพื่ออำนวยความสะดวกใน SQL*Plus

ปัญหาดั้งเดิมของ SQL*Plus บน Linux คือไม่สามารถกดปุ่ม ลูกศรซ้าย/ขวา เพื่อแก้คำสะกด หรือกดปุ่มลูกศรขึ้น/ลง เพื่อย้อนประวัติคิวรีได้ การแก้ปัญหานี้สามารถใช้แพ็กเกจ RLWrap (มีไฟล์ RPM เตรียมไว้ในแผ่นสำรอง):

# ติดตั้งแพ็กเกจ RPM ตามเวอรชันของ OS
rpm -ivh rlwrap-0.42-1.el6.x86_64.rpm

# เพิ่ม Alias ในไฟล์ ~/.bashrc ของ User oracle:
alias sqlplus='rlwrap -m sqlplus'
alias rman='rlwrap -m rman'
alias asmcmd='rlwrap -m asmcmd'

# ทำการโหลดซอร์สโปรไฟล์ใหม่เพื่อใช้งาน
source ~/.bashrc