ตอบคำถามทั่วไปเกี่ยวกับคอร์สเรียนและการสอบใบรับรองออราเคิล พร้อมรวบรวมทิปส์แก้ไขปัญหาระบบสำหรับ DBA
แนะนำให้เริ่มต้นศึกษาหลักสูตร Oracle Database SQL Fundamentals I เป็นหลักสูตรแรก เนื่องจากภาษา SQL เป็นภาษาพื้นฐานสำคัญในการเข้าถึงและจัดการฐานข้อมูลออราเคิล ซึ่งจำเป็นต้องใช้ในการต่อยอดไปยังหลักสูตรการดูแลระบบ (DBA) หรือหลักสูตรนักพัฒนา (Developer) ระดับสูงต่อไป
พื้นฐานที่สำคัญของหลักสูตร Oracle ทั้งหมดคือภาษา SQL หากผู้เรียนมีความรู้ด้าน SQL หรือมีพื้นฐานระบบฐานข้อมูลมาบ้างแล้ว ก็สามารถเลือกลงทะเบียนคอร์สเรียนตามระดับความรู้ (Beginner, Intermediate, Advanced) ได้ตามต้องการ
SQL (Structured Query Language) เป็นภาษาที่ใช้ในการดึงและจัดการข้อมูลทั่วไปในลักษณะ Interactive ทันที เช่น คำสั่ง SELECT, INSERT, UPDATE, DELETE
PL/SQL (Procedural Language extension to SQL) เป็นภาษาโครงสร้างโปรแกรมมิ่งเฉพาะที่พัฒนาโดย Oracle เพื่อนำความสามารถของตัวแปร เงื่อนไข (IF-THEN) ลูปการทำงาน (Loops) และฟังก์ชัน มาร่วมประมวลผลบนฐานข้อมูล ช่วยอำนวยความสะดวกในการประมวลผลคำสั่งที่ซับซ้อนฝั่ง Server ได้ดีขึ้น
ประกาศนียบัตรรับรองความสามารถ (Certifications) ของ Oracle ได้รับความนิยมสูงและเป็นที่ยอมรับระดับสากล โดยแบ่งระดับความรู้ดังนี้:
ประกาศนียบัตรระดับแรกสุด การสอบต้องผ่านวิชาพื้นฐาน SQL และวิชา Administration I (สำหรับสาย DBA) หรือวิชา Developer (สำหรับสาย Programmer)
ระดับวิชาชีพที่ได้รับการยอมรับสูงสุดในประเทศ การสอบจำเป็นต้องได้รับ OCA ก่อน จากนั้นต้องสอบผ่านวิชาขั้นสูง Administration II และเข้าร่วมอบรมคอร์สเรียนตรงตามเกณฑ์ของ Oracle อย่างน้อย 1 หลักสูตร
ระดับผู้เชี่ยวชาญสูงสุด เหมาะสำหรับวิศวกรฐานข้อมูลระดับที่ปรึกษา (Consultant)
การสอบใบรับรอง Oracle จัดสอบผ่านพันธมิตรผู้ให้บริการทดสอบอย่างเป็นทางการ ผู้สอบสามารถลงทะเบียนสอบออนไลน์และเลือกสถานที่สอบ หรือจองคิวสอบแบบออนไลน์ที่บ้านพร้อมกล้องเว็บแคมผ่านทางเว็บไซต์ Pearson VUE Oracle Certification
ชุดคำสั่งคำถามที่ผู้ดูแลระบบ 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;
การเปลี่ยนชื่อ Instance หรือ SID ปัจจุบันเพื่อติดตั้งระบบทดสอบ (Clone Database):
ALTER DATABASE BACKUP CONTROLFILE TO TRACE;# Set #2. RESETLOGS caseCREATE CONTROLFILE ให้เป็นชื่อใหม่ เช่น:CREATE CONTROLFILE SET DATABASE "NEWDB" RESETLOGS NOARCHIVELOGRECOVER DATABASE USING BACKUP CONTROLFILE ออกเมื่อพบปัญหา 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
หากคุณรันเซิร์ฟเวอร์ 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
ปัญหาดั้งเดิมของ 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