สูงสุด 50 Oracle คำถามและคำตอบในการสัมภาษณ์ (2026)
การเตรียมตัวสำหรับ Oracle สัมภาษณ์งานเหรอ? ถึงเวลาพิจารณาคำถามที่คุณอาจเจอ คำถามเหล่านี้สำคัญ เพราะไม่เพียงแต่ทดสอบความรู้เท่านั้น แต่ยังเผยให้เห็นแนวทางการแก้ปัญหาอีกด้วย
โอกาสในสาขานี้มีตั้งแต่ผู้เริ่มต้นที่มีทักษะพื้นฐานไปจนถึงผู้เชี่ยวชาญระดับสูงที่มีประสบการณ์ทางเทคนิค 10 ปี ไม่ว่าคุณจะกำลังวิเคราะห์ทักษะในระดับพื้นฐาน ประยุกต์ใช้ความเชี่ยวชาญเฉพาะด้าน หรือเตรียมพร้อมที่จะไขข้อข้องใจและคำตอบทั่วไป Oracle อาชีพต่างๆ ต้องการความเชี่ยวชาญทางเทคนิคที่แข็งแกร่ง หัวหน้าทีม ผู้จัดการ และผู้บริหารระดับสูงต่างให้ความสำคัญกับผู้เชี่ยวชาญที่มีทักษะที่เหมาะสม ช่วยให้องค์กรประสบความสำเร็จ ขณะเดียวกันก็มั่นใจได้ว่าผู้สมัครจะได้แสดงให้เห็นถึงประสบการณ์วิชาชีพจริงทั้งในด้านเทคนิคและขั้นสูง
เราได้ปรึกษากับผู้นำทางเทคนิคมากกว่า 60 คน รวบรวมคำติชมจากผู้จัดการกว่า 45 คน และวิเคราะห์ข้อมูลเชิงลึกจากผู้เชี่ยวชาญกว่า 100 คนจากหลากหลายอุตสาหกรรม ขอบเขตที่กว้างขวางนี้รับประกันว่า Oracle คำถามสัมภาษณ์ที่ครอบคลุมที่นี่แสดงถึงมุมมองที่หลากหลายและความคาดหวังในการจ้างงานในทางปฏิบัติ

Top Oracle คำถามและคำตอบสัมภาษณ์
1) อธิบายประเภทต่างๆ ของ Oracle วัตถุฐานข้อมูลและคุณลักษณะของมัน
Oracle วัตถุฐานข้อมูลคือเอนทิตีระดับสคีมา (schema-level) ที่จัดเก็บและจัดการข้อมูล วัตถุทั่วไปประกอบด้วยตาราง มุมมอง คำพ้องความหมาย ลำดับ ดัชนี และคลัสเตอร์ แต่ละวัตถุมีวัตถุประสงค์เฉพาะของตนเอง: ตารางเก็บข้อมูลจริง มุมมองทำหน้าที่เป็นตัวแทนเสมือน คำพ้องความหมายให้ชื่ออื่น ลำดับสร้างค่าเฉพาะ ดัชนีช่วยเพิ่มความเร็วในการเรียกข้อมูล และคลัสเตอร์จัดกลุ่มตารางที่เกี่ยวข้อง การทำความเข้าใจวงจรชีวิตของวัตถุเหล่านี้ ตั้งแต่การสร้างไปจนถึงการลบ ช่วยให้นักพัฒนาสามารถจัดการการอ้างอิงและเพิ่มประสิทธิภาพการทำงานของฐานข้อมูลได้
ตัวอย่าง: มุมมองสามารถทำให้การรวมข้อมูลที่ซับซ้อนง่ายขึ้น ในขณะที่ดัชนีสามารถเร่งความเร็วในการค้นหา แต่จะทำให้การแทรกหรือการอัปเดตช้าลงได้
👉 ดาวน์โหลด PDF ฟรี: Oracle คำถามและคำตอบในการสัมภาษณ์
2) ความแตกต่างระหว่าง VARCHAR และ VARCHAR2 คืออะไร Oracle?
VARCHAR และ VARCHAR2 ใช้เพื่อจัดเก็บข้อมูลอักขระที่มีความยาวแปรผัน แต่พฤติกรรมของทั้งสองแตกต่างกัน VARCHAR ถูกสงวนไว้สำหรับการใช้งานในอนาคตและอาจทำงานแตกต่างกันในอนาคต Oracle เวอร์ชันต่างๆ ในขณะที่ VARCHAR2 เป็นชนิดข้อมูลที่แนะนำสำหรับสตริงที่มีความยาวแปรผัน VARCHAR2 จะตัดช่องว่างท้ายออก ในขณะที่ VARCHAR จะเก็บรักษาช่องว่างไว้ ทำให้มีประสิทธิภาพน้อยลงสำหรับสถานการณ์ส่วนใหญ่
ตารางเปรียบเทียบ:
| ปัจจัย | วาร์ชาร์ | วาร์ชาร์2 |
|---|---|---|
| พื้นที่จัดเก็บ | แก้ไขพฤติกรรมในอนาคต | การจัดเก็บที่มีประสิทธิภาพด้วยพื้นที่ที่ถูกตัด |
| การใช้ | ที่สงวนไว้ | ได้รับความนิยมและใช้กันอย่างแพร่หลาย |
| ประสิทธิภาพ | อาจไม่สอดคล้องกัน | เชื่อถือได้และปรับให้เหมาะสม |
3) ข้อจำกัดบังคับใช้ความสมบูรณ์ของข้อมูลอย่างไร Oracle ฐานข้อมูล?
ข้อจำกัดคือกฎที่ใช้กับคอลัมน์ตารางเพื่อรักษาความถูกต้องและความสอดคล้อง ซึ่งรวมถึง ไม่เป็นค่าว่าง, ไม่ซ้ำกัน, คีย์หลัก, คีย์ต่างประเทศและ ตรวจสอบตัวอย่างเช่น คีย์หลักช่วยรับรองความเฉพาะตัวของเรคคอร์ด ในขณะที่คีย์นอกช่วยรักษาความสมบูรณ์ของการอ้างอิงในตารางต่างๆ ข้อจำกัดช่วยลดความซับซ้อนในการบังคับใช้ตรรกะทางธุรกิจในระดับสคีมา มากกว่าระดับแอปพลิเคชัน
ตัวอย่าง: ใน Employees โต๊ะ, การจัดวาง Employee_ID โดยเป็นคีย์หลักเพื่อให้แน่ใจว่าแต่ละรายการไม่ซ้ำกัน ในขณะที่คีย์ต่างประเทศเชื่อมโยง Department_ID ไปยัง Departments ตารางป้องกันการบันทึกแบบกำพร้า
4) อยู่ที่ไหน Oracle tablespaces ที่ใช้มีอะไรบ้าง และมีประโยชน์อะไรบ้าง?
Tablespaces คือหน่วยจัดเก็บข้อมูลเชิงตรรกะที่จัดกลุ่มไฟล์ข้อมูลที่เกี่ยวข้องกัน ทำหน้าที่แยกข้อมูลประเภทต่างๆ เช่น ข้อมูลถาวร ข้อมูลชั่วคราว และข้อมูลย้อนกลับ การจัดระเบียบแบบนี้ช่วยปรับปรุงการจัดการ ความปลอดภัย และประสิทธิภาพการทำงาน
ประโยชน์ที่ได้รับรวมถึง:
- กลยุทธ์การสำรองข้อมูลและการกู้คืนที่ง่ายกว่า
- การแยกการดำเนินการชั่วคราวออกจากข้อมูลถาวร
- การจัดการพื้นที่อย่างมีประสิทธิภาพโดยใช้คุณสมบัติขยายอัตโนมัติ
ตัวอย่าง: ฐานข้อมูลการผลิตอาจมีตารางพื้นที่แยกกันสำหรับข้อมูลผู้ใช้ ดัชนี และข้อมูลเมตาของระบบเพื่อเพิ่มประสิทธิภาพกระบวนการกู้คืน
5) ข้อดีและข้อเสียของการใช้ดัชนีใน Oracle?
ดัชนีช่วยเร่งประสิทธิภาพการสืบค้นข้อมูลโดยลดจำนวนการดำเนินการ I/O ของดิสก์ อย่างไรก็ตาม ดัชนีจะเพิ่มภาระงานระหว่างการดำเนินการ DML (INSERT, UPDATE, DELETE) เนื่องจากดัชนีต้องได้รับการอัปเดตด้วย
ตารางข้อดีและข้อเสีย:
| ข้อดี | ข้อเสีย |
|---|---|
| การดึงข้อมูลได้เร็วขึ้น | การดำเนินการ DML ช้าลง |
| รองรับข้อจำกัดที่เป็นเอกลักษณ์ | ต้องใช้พื้นที่จัดเก็บ |
| เพิ่มประสิทธิภาพการเข้าร่วม | อาจทำให้เกิดการแตกกระจาย |
ตัวอย่าง: ดัชนีบน Customer_ID ช่วยให้ดึงข้อมูลคำสั่งซื้อของลูกค้าได้เร็วขึ้นแต่จะเพิ่มต้นทุนในการแทรกแถวใหม่
6) มุมมองแตกต่างจากตารางอย่างไร Oracle?
ตารางคือโครงสร้างทางกายภาพที่จัดเก็บข้อมูลจริง ในขณะที่วิวคือตารางเสมือนเชิงตรรกะที่อิงตามแบบสอบถาม SQL วิวไม่ได้จัดเก็บข้อมูลโดยตรง แต่เป็นวิธีแบบไดนามิกในการทำให้แบบสอบถามที่ซับซ้อนง่ายขึ้น บังคับใช้ความปลอดภัยโดยการจำกัดการเข้าถึงบางคอลัมน์ และสรุปการเปลี่ยนแปลงสคีมาพื้นฐาน
ตัวอย่าง: มุมมองที่แสดงเฉพาะชื่อและหมายเลขโทรศัพท์ของลูกค้าจะซ่อนข้อมูลสำคัญ เช่น ข้อมูลบัตรเครดิต วิธีนี้ช่วยปกป้องข้อมูลสำคัญในขณะที่ยังคงตอบสนองความต้องการด้านการรายงาน
7) อธิบายประเภทต่างๆ ของการเข้าร่วมที่รองรับ Oracle SQL พร้อมตัวอย่าง
การรวมแถวจากสองตารางขึ้นไปโดยอิงตามคอลัมน์ที่เกี่ยวข้องกัน ประเภทต่างๆ ประกอบด้วย:
- เข้าร่วมภายใน: ส่งคืนแถวที่ตรงกัน
- ซ้ายด้านนอกเข้าร่วม: แถวทั้งหมดจากตารางด้านซ้าย รวมถึงแมตช์ด้วย
- เข้าร่วมด้านนอกขวา: แถวทั้งหมดจากตารางด้านขวา รวมถึงแมตช์ด้วย
- เข้าร่วมภายนอกแบบเต็ม: ทุกแถวจากทั้งสองตาราง
- การเข้าร่วมแบบครอส: ผลคูณคาร์ทีเซียนของแถว
ตัวอย่าง:
SELECT e.name, d.department_name FROM employees e INNER JOIN departments d ON e.department_id = d.department_id;
8) ลักษณะและประโยชน์ของการใช้ PL/SQL เหนือ SQL มีอะไรบ้าง?
PL/SQL คือ Oracleส่วนขยายเชิงขั้นตอนของ SQL ที่รวม SQL แบบประกาศเข้ากับโครงสร้างเชิงขั้นตอน เช่น ลูป เงื่อนไข และการจัดการข้อยกเว้น ซึ่งแตกต่างจาก SQL ที่ดำเนินการทีละคำสั่ง PL/SQL รองรับบล็อกโค้ด ซึ่งช่วยเพิ่มประสิทธิภาพและความสามารถในการนำกลับมาใช้ใหม่
ประโยชน์ที่ได้รับรวมถึง:
- การเขียนโปรแกรมแบบโมดูลาร์ผ่านขั้นตอนและแพ็คเกจ
- กลไกการจัดการข้อยกเว้น
- ปรับปรุงประสิทธิภาพการทำงานด้วยการดำเนินการเป็นกลุ่ม
ตัวอย่าง: บล็อก PL/SQL สามารถประมวลผลการปรับเงินเดือนพนักงานหลายรายการในลูปเดียว ลดการสลับบริบทเมื่อเทียบกับการดำเนินการคำสั่ง SQL หลายคำสั่ง
9) เป็นยังไงบ้าง Oracle จัดการค่า NULL และความแตกต่างระหว่าง NVL และ COALESCE คืออะไร
Oracle แทนค่า NULL เป็นการไม่มีค่า ฟังก์ชันเช่น เอ็นวีแอล และ เชื่อมต่อกัน จัดการค่า NULL แตกต่างกัน NVL ยอมรับอาร์กิวเมนต์สองตัวและแทนที่ค่า NULL ด้วยค่าที่สอง COALESCE สามารถรับอาร์กิวเมนต์ได้หลายตัวและส่งคืนค่าที่ไม่ใช่ค่า NULL แรก
ตัวอย่าง:
SELECT NVL(commission, 0), COALESCE(bonus, allowance, 0) FROM employees;
ที่นี่ NVL จะตรวจสอบให้แน่ใจว่าค่าคอมมิชชันไม่ใช่ค่าว่าง ในขณะที่ COALESCE จะตรวจสอบคอลัมน์ต่างๆ เพื่อหาค่าแรกที่ใช้ได้
10) ทำทริกเกอร์ใน Oracle มีข้อดีหรือข้อเสียในการออกแบบฐานข้อมูลอย่างไร?
ทริกเกอร์คือบล็อก PL/SQL ที่จัดเก็บไว้ ซึ่งจะดำเนินการโดยอัตโนมัติเมื่อเกิดเหตุการณ์ต่างๆ เช่น INSERT, UPDATE หรือ DELETE ทริกเกอร์มีประโยชน์สำหรับการตรวจสอบ การบังคับใช้ข้อจำกัดที่ซับซ้อน และการทำให้กฎทางธุรกิจเป็นแบบอัตโนมัติ
ข้อดี: บังคับใช้กฎเกณฑ์โดยอัตโนมัติ รวมตรรกะไว้ที่ศูนย์กลาง
ข้อเสีย: การดำเนินการที่ซ่อนอยู่สามารถทำให้การดีบักมีความซับซ้อนและลดประสิทธิภาพลงได้หากใช้งานมากเกินไป
ตัวอย่าง: ทริกเกอร์ที่บันทึกการเปลี่ยนแปลง Salaries ตารางช่วยให้แน่ใจว่าเป็นไปตามการตรวจสอบโดยไม่ต้องมีการเปลี่ยนแปลงในเลเยอร์แอปพลิเคชัน
11) เป็นยังไงบ้าง Oracle แพคเกจที่แตกต่างจากขั้นตอนและฟังก์ชั่น?
แพ็กเกจคืออ็อบเจ็กต์สคีมา (schema object) ที่จัดกลุ่มกระบวนการ ฟังก์ชัน ตัวแปร และเคอร์เซอร์ที่เกี่ยวข้องไว้ในหน่วยเดียว ซึ่งแตกต่างจากกระบวนการหรือฟังก์ชันแบบสแตนด์อโลน แพ็กเกจมีความสามารถในการแยกส่วน ความปลอดภัย และประสิทธิภาพที่ดีกว่า เนื่องจาก Oracle โหลดแพ็กเกจลงในหน่วยความจำเพียงครั้งเดียวและเก็บไว้ในแคชเพื่อใช้งานซ้ำ แพ็กเกจยังอนุญาตให้แยกรายละเอียดสเปคและเนื้อหาออกจากกัน ช่วยให้นักพัฒนาสามารถเปิดเผยเฉพาะส่วนประกอบที่จำเป็น ในขณะที่ซ่อนรายละเอียดการใช้งาน
ตัวอย่าง: แพ็คเกจเงินเดือนอาจประกอบด้วยฟังก์ชันสำหรับการคำนวณภาษีและขั้นตอนการจ่ายเงินเดือน นักพัฒนาสามารถเปิดเผยเฉพาะขั้นตอนการคำนวณเงินเดือนเท่านั้น โดยยังคงรักษากฎภาษีที่ละเอียดอ่อนไว้ภายใน
12) มีวิธีจัดการข้อยกเว้นใน PL/SQL อะไรบ้าง?
การจัดการข้อยกเว้นช่วยให้โปรแกรม PL/SQL มีความทนทานมากขึ้นด้วยการสกัดกั้นข้อผิดพลาด มีสามประเภทหลักดังนี้:
- ข้อยกเว้นที่กำหนดไว้ล่วงหน้า เช่น
NO_DATA_FOUNDและTOO_MANY_ROWS. - ข้อยกเว้นที่ผู้ใช้กำหนด ประกาศโดยนักพัฒนาเพื่อจัดการกับสถานการณ์เฉพาะ
- ข้อยกเว้นที่ไม่ได้รับการจัดการ ที่แพร่กระจายไปยังสภาพแวดล้อมการโทรโดยอัตโนมัติ
ตัวอย่าง:
BEGIN
SELECT salary INTO v_salary FROM employees WHERE id=999;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('Employee not found');
END;
วิธีนี้ช่วยป้องกันข้อผิดพลาดขณะรันไทม์ที่ทำให้หยุดการทำงาน และช่วยให้สามารถกู้คืนได้อย่างปลอดภัย
13) อธิบายวงจรชีวิตของ Oracle เคอร์เซอร์.
เคอร์เซอร์คือตัวชี้ไปยังชุดผลลัพธ์ของแบบสอบถาม SQL วงจรชีวิตของเคอร์เซอร์มีขั้นตอนที่แตกต่างกัน:
- ประกาศ: เคอร์เซอร์ถูกกำหนดแล้ว
- เปิดให้บริการ: Oracle จัดสรรหน่วยความจำและดำเนินการค้นหา
- กำลังดึงข้อมูล: แถวจะถูกดึงข้อมูลตามลำดับเข้าสู่ตัวแปร
- ปิด: ทรัพยากรต่างๆ จะถูกปล่อยออกมา
ตัวอย่าง: ในเคอร์เซอร์ที่ชัดเจน นักพัฒนาจะควบคุมแต่ละขั้นตอน ในขณะที่เคอร์เซอร์โดยนัยจะถูกจัดการโดยอัตโนมัติโดย Oracle ระหว่างการสืบค้นแบบแถวเดียว การจัดการวงจรชีวิตเคอร์เซอร์ที่เหมาะสมช่วยป้องกันการรั่วไหลของหน่วยความจำและปรับปรุงเสถียรภาพของแอปพลิเคชัน
14) ปัจจัยใดบ้างที่ส่งผลต่อการปรับแต่งประสิทธิภาพใน Oracle ฐานข้อมูล?
การปรับแต่งประสิทธิภาพขึ้นอยู่กับหลายปัจจัย ตั้งแต่การปรับแต่ง SQL ไปจนถึงการกำหนดค่าระบบ ข้อควรพิจารณาหลักๆ ได้แก่:
- การออกแบบแบบสอบถามและกลยุทธ์การจัดทำดัชนี
- การใช้แผนการดำเนินการอย่างเหมาะสม
- การจัดสรรหน่วยความจำที่เหมาะสม (SGA, PGA)
- การแบ่งพาร์ติชันข้อมูลและการดำเนินการแบบขนาน
- หลีกเลี่ยงการรวมหรือซับเควรีซ้อนกันที่ไม่จำเป็น
ตัวอย่าง: การค้นหาที่ไม่ได้จัดทำดัชนีบนตารางที่มี 10 ล้านแถวอาจใช้เวลาหลายนาที แต่ด้วยดัชนี B-tree ที่เลือกมาอย่างดี การค้นหาเดียวกันจะเสร็จสิ้นภายในไม่กี่วินาที
15) ความแตกต่างระหว่างระบบ OLTP และ OLAP คืออะไร Oracle?
Oracle รองรับทั้งการประมวลผลธุรกรรมออนไลน์ (OLTP) และการประมวลผลวิเคราะห์ออนไลน์ (OLAP) โดย OLTP จัดการธุรกรรมขนาดเล็กที่เกิดขึ้นบ่อยครั้ง ในขณะที่ OLAP จัดการแบบสอบถามที่ซับซ้อนเพื่อสนับสนุนการตัดสินใจ
ตารางเปรียบเทียบ:
| ปัจจัย | OLTP | สพป |
|---|---|---|
| จุดมุ่งหมาย | การทำธุรกรรม | วิเคราะห์ |
| ปริมาณข้อมูล | ปานกลาง | มีขนาดใหญ่มาก |
| ความซับซ้อนของแบบสอบถาม | เรียบง่าย, กำหนดไว้ล่วงหน้า | ซับซ้อน, เฉพาะกิจ |
| เวลาตอบสนอง | รองวินาที | อาจจะนานกว่านี้ |
ตัวอย่าง: ระบบธนาคารที่ประมวลผลการถอนเงินจากตู้ ATM คือ OLTP ในขณะที่การวิเคราะห์แนวโน้มการใช้จ่ายของลูกค้าคือ OLAP
16) เป็นยังไงบ้าง Oracle การนำระบบแบ่งพาร์ติชั่นข้อมูลมาใช้มีข้อดีอะไรบ้าง?
การแบ่งพาร์ติชันจะแบ่งตารางหรือดัชนีขนาดใหญ่ออกเป็นส่วนย่อยๆ ที่จัดการได้ โดยยังคงรักษาความสอดคล้องเชิงตรรกะไว้ ประเภทต่างๆ ได้แก่ ช่วง รายการ แฮช และการแบ่งพาร์ติชันแบบผสม
ประโยชน์ที่ได้รับรวมถึง:
- ปรับปรุงประสิทธิภาพการค้นหาโดยการสแกนเฉพาะพาร์ติชันที่เกี่ยวข้องเท่านั้น
- การบำรุงรักษาที่ง่ายขึ้นด้วยการตัดแต่งพาร์ติชัน
- เพิ่มประสิทธิภาพการจัดการชุดข้อมูลขนาดใหญ่
ตัวอย่าง: ตารางยอดขายที่แบ่งพาร์ติชันตามปีช่วยให้สามารถค้นหาข้อมูลปี 2024 ได้โดยเข้าถึงเฉพาะพาร์ติชันปี 2024 เท่านั้น แทนที่จะต้องสแกนชุดข้อมูลทั้งหมด
17) คุณควรใช้การดำเนินการจำนวนมากใน PL/SQL เมื่อใด
การดำเนินการเป็นกลุ่ม ( BULK COLLECT, FORALL ) ถูกนำมาใช้เมื่อต้องจัดการข้อมูลปริมาณมากอย่างมีประสิทธิภาพ แทนที่จะประมวลผลแบบแถวต่อแถว การดำเนินการแบบกลุ่มจะประมวลผลชุดแถวด้วยการสลับบริบทระหว่างเอ็นจิน SQL และ PL/SQL เพียงครั้งเดียว
ข้อดี:
- ประสิทธิภาพที่เร็วขึ้น
- ลดการใช้งาน CPU
- การประมวลผลแบบแบตช์ที่เรียบง่าย
ตัวอย่าง: การใช้ FORALL การแทรกข้อมูลพนักงาน 100,000 รายนั้นเร็วกว่าการดำเนินการคำสั่ง INSERT แยกกัน 100,000 คำสั่งอย่างเห็นได้ชัด
18) คุณสามารถอธิบายบทบาทของ Oracle ทำซ้ำบันทึกในการกู้คืน?
บันทึกการทำซ้ำจะเก็บบันทึกการเปลี่ยนแปลงทั้งหมดที่เกิดขึ้นกับฐานข้อมูล เพื่อให้มั่นใจถึงความคงทน ในระหว่างการกู้คืน Oracle เล่นซ้ำรายการเพื่อสร้างธุรกรรมที่สูญหายหรือไม่สมบูรณ์อีกครั้ง
ลักษณะ:
- ประกอบด้วยไฟล์บันทึกการทำซ้ำออนไลน์และไฟล์บันทึกการทำซ้ำที่เก็บถาวร
- ป้องกันความล้มเหลวของอินสแตนซ์
- เปิดใช้งานการกู้คืนจุดในเวลา
ตัวอย่าง: หากเซิร์ฟเวอร์ขัดข้องหลังจากการทำธุรกรรมเสร็จสิ้น แต่ก่อนที่จะเขียนข้อมูลลงในดิสก์ บันทึกการทำซ้ำจะช่วยให้แน่ใจว่าการเปลี่ยนแปลงที่ได้รับการยืนยันจะถูกนำไปใช้ใหม่ในระหว่างการกู้คืน
19) มีประเภทอะไรบ้าง Oracle ดัชนีและกรณีการใช้งานของพวกเขา?
Oracle มีดัชนีหลายประเภท แต่ละประเภทเหมาะสำหรับสถานการณ์เฉพาะ:
- ดัชนี B-tree: วัตถุประสงค์ทั่วไป เหมาะที่สุดสำหรับคอลัมน์ที่มีจำนวนคาร์ดินัลลิตี้สูง
- ดัชนีบิตแมป: มีประสิทธิภาพสำหรับคอลัมน์ที่มีจำนวนคาร์ดินัลลิตี้ต่ำ เช่น เพศ
- ดัชนีตามฟังก์ชัน: มีประโยชน์เมื่อแบบสอบถามเกี่ยวข้องกับนิพจน์หรือฟังก์ชัน
- Clusterดัชนี ed: จัดเก็บแถวของตารางหลายตารางไว้ด้วยกันตามคีย์
ตัวอย่าง: ดัชนีบิตแมปบน Status คอลัมน์ (ใช้งาน/ไม่ใช้งาน) มีประสิทธิภาพมากกว่า B-tree เนื่องจากมีค่าที่แตกต่างกันเพียงสองค่าเท่านั้น
20) คุณรักษาความปลอดภัยข้อมูลอย่างไร Oracle ฐานข้อมูล?
ความปลอดภัยของข้อมูลใน Oracle เกี่ยวข้องกับหลายชั้น กลไกสำคัญประกอบด้วย:
- การตรวจสอบผู้ใช้ ด้วยรหัสผ่านและโปรไฟล์ที่แข็งแกร่ง
- สิทธิพิเศษและบทบาท เพื่อบังคับใช้สิทธิพิเศษน้อยที่สุด
- ฐานข้อมูลส่วนตัวเสมือน (VPD) เพื่อความปลอดภัยระดับแถว
- การเข้ารหัสข้อมูลแบบโปร่งใส (TDE) เพื่อรักษาความปลอดภัยของข้อมูลที่อยู่นิ่ง
- คุณสมบัติการตรวจสอบ เพื่อติดตามการเข้าถึงและการเปลี่ยนแปลง
ตัวอย่าง: ฐานข้อมูลทางการเงินอาจใช้ VPD เพื่อให้แน่ใจว่าพนักงานจะเห็นเฉพาะบันทึกที่เป็นของสาขาของตนเท่านั้น ในขณะที่ TDE เข้ารหัสข้อมูลลูกค้าที่ละเอียดอ่อนที่ระดับดิสก์
21) มีประเภทอะไรบ้าง Oracle กุญแจและความสำคัญของมัน?
การล็อคช่วยป้องกันการขัดแย้งในการเข้าถึงข้อมูลในสภาพแวดล้อมที่มีผู้ใช้หลายราย Oracle ใช้ล็อคหลายแบบ เช่น ล็อคระดับแถว ล็อคระดับตาราง และล็อคระดับระบบ
- ล็อคระดับแถว: ให้แน่ใจว่าเซสชันพร้อมกันสามารถเข้าถึงแถวต่างๆ ได้พร้อมกัน
- ล็อคระดับโต๊ะ: ปกป้องตารางทั้งหมดในระหว่างการเปลี่ยนแปลงโครงสร้าง
- ล็อค DML: รับโดยอัตโนมัติเมื่อมีการแก้ไขแถว
- ล็อค DDL: ปกป้องวัตถุโครงร่างในระหว่างการเปลี่ยนแปลงโครงสร้าง
ตัวอย่าง: หากผู้ใช้สองคนอัปเดตแถวที่แตกต่างกันใน Orders ตาราง, Oracle ใช้การล็อคระดับแถวเพื่อป้องกันความขัดแย้งในขณะที่อนุญาตให้มีการทำงานพร้อมกันสูงสุด
22) ทำอย่างไร Oracle ธุรกรรมปฏิบัติตามคุณสมบัติ ACID หรือไม่?
การทำธุรกรรมใน Oracle เป็นไปตาม Atomความเป็นกรด ความสม่ำเสมอ การแยกตัว และความคงทน (ACID) หลักการ
- Atomน้ำแข็ง รับประกันว่าการดำเนินการทั้งหมดจะประสบความสำเร็จหรือไม่มีการใช้เลย
- ความมั่นคง รักษาความสมบูรณ์ของฐานข้อมูลโดยใช้กฎทางธุรกิจ
- ความเหงา รับประกันว่าธุรกรรมที่เกิดขึ้นพร้อมกันจะไม่เกิดการรบกวน
- Durability ช่วยให้แน่ใจว่าธุรกรรมที่มุ่งมั่นจะยังคงอยู่แม้จะเกิดความล้มเหลว
ตัวอย่าง: ในการโอนเงินระหว่างบัญชี Oracle ช่วยให้มั่นใจว่าการดำเนินการทั้งเดบิตและเครดิตจะประสบความสำเร็จร่วมกัน หากการดำเนินการใดล้มเหลว ธุรกรรมจะถูกย้อนกลับทั้งหมด เพื่อรักษาความสมบูรณ์
23) อธิบายความแตกต่างระหว่าง DELETE, TRUNCATE และ DROP ใน Oracle.
คำสั่งเหล่านี้แตกต่างกันในด้านขอบเขต ความเร็ว และความสามารถในการย้อนกลับ
| คำสั่ง | จุดมุ่งหมาย | ย้อนกลับได้ | ความเร็ว |
|---|---|---|---|
| ลบ | ลบแถวที่มีคำสั่ง WHERE | ใช่ | ช้าลง |
| ตัด | ลบแถวทั้งหมดออก รักษาโครงสร้างไว้ | ไม่ | ได้เร็วขึ้น |
| DROP | ลบตารางและข้อมูลเมตาทั้งหมด | ไม่ | เร็วที่สุด |
ตัวอย่าง: ใช้ DELETE เมื่อลบพนักงานเฉพาะตามแผนก ใช้ TRUNCATE สำหรับการล้างตารางจัดเตรียม และใช้ DROP เมื่อไม่จำเป็นต้องใช้ตารางอีกต่อไป
24) มีเครื่องมืออะไรบ้างสำหรับการวินิจฉัยประสิทธิภาพการทำงาน Oracle?
Oracle มีเครื่องมือต่างๆ มากมายสำหรับวิเคราะห์และปรับปรุงประสิทธิภาพ:
- อธิบายแผน: แสดงขั้นตอนการดำเนินการสอบถาม
- SQL Trace และ TKPROF: บันทึกและตีความสถิติการดำเนินการ SQL
- ที่เก็บเวิร์กโหลดอัตโนมัติ (AWR): รวบรวมมาตรวัดประสิทธิภาพในแต่ละช่วงเวลา
- ระบบตรวจสอบการวินิจฉัยฐานข้อมูลอัตโนมัติ (ADDM): แนะนำการปรับแต่งการกระทำ
- ผู้จัดการองค์กร (OEM): การตรวจสอบตาม GUI
ตัวอย่าง: รายงาน AWR ช่วยระบุแบบสอบถามที่ดำเนินการยาวนาน ในขณะที่ EXPLAIN PLAN แสดงให้เห็นว่าดัชนีถูกใช้อย่างมีประสิทธิภาพหรือไม่
25) เป็นอย่างไรบ้าง Oracle สถาปัตยกรรมที่จัดระเบียบตามโครงสร้างหน่วยความจำ?
Oracle ใช้โครงสร้างหน่วยความจำเช่น ระบบพื้นที่ทั่วโลก (SGA) และ โปรแกรมพื้นที่ทั่วโลก (PGA).
- เอสจีเอ: หน่วยความจำที่ใช้ร่วมกันซึ่งประกอบด้วยพูลที่ใช้ร่วมกัน แคชบัฟเฟอร์ฐานข้อมูล บัฟเฟอร์บันทึกการทำซ้ำ และพูลขนาดใหญ่
- พีจีเอ: หน่วยความจำที่จัดสรรต่อเซสชัน จัดเก็บตัวแปรและพื้นที่การเรียงลำดับ
ตัวอย่าง: แคชบัฟเฟอร์ใน SGA ช่วยปรับปรุงประสิทธิภาพการทำงานด้วยการเก็บบล็อกข้อมูลที่เข้าถึงบ่อยครั้ง ช่วยลด I/O ของดิสก์ทางกายภาพ
26) มุมมองที่เป็นรูปธรรมให้ข้อดีใน Oracle ฐานข้อมูล?
ใช่ มุมมองที่เป็นรูปธรรมจะจัดเก็บผลลัพธ์ของแบบสอบถามที่คำนวณไว้ล่วงหน้าไว้ทางกายภาพ ซึ่งแตกต่างจากมุมมองทั่วไป
ข้อดี: ตอบสนองการค้นหาได้เร็วขึ้น ลดภาระงานบนตารางฐานข้อมูล รองรับการจำลอง
ข้อเสีย: จำเป็นต้องรีเฟรช ใช้พื้นที่เก็บข้อมูล และอาจกลายเป็นข้อมูลเก่า
ตัวอย่าง: มุมมองที่เป็นรูปธรรมซึ่งสรุปยอดขายรายวันจะช่วยให้การรายงานรวดเร็วขึ้น และหลีกเลี่ยงการสอบถามการรวมข้อมูลซ้ำ
27) คืออะไร Oracle ลำดับและมีประโยชน์เมื่อไร?
ลำดับจะสร้างค่าตัวเลขที่ไม่ซ้ำกัน ซึ่งมักใช้สำหรับคีย์หลัก ลำดับเหล่านี้ไม่ขึ้นอยู่กับตารางและรองรับการเข้าถึงพร้อมกัน
ใช้กรณี:
- การสร้างหมายเลขใบแจ้งหนี้
- การสร้างรหัสพนักงานที่ไม่ซ้ำกัน
- รองรับการจำลองโดยการชดเชยลำดับ
ตัวอย่าง:
CREATE SEQUENCE emp_seq START WITH 100 INCREMENT BY 1; INSERT INTO employees (emp_id, name) VALUES (emp_seq.NEXTVAL, 'John');
28) คุณสามารถเพิ่มประสิทธิภาพการค้นหาโดยใช้ Oracle คำใบ้?
คำแนะนำคือคำสั่งที่ฝังอยู่ใน SQL เพื่อควบคุมแผนการดำเนินการของตัวเพิ่มประสิทธิภาพ คำแนะนำทั่วไปประกอบด้วย INDEX, FULL, PARALLELและ USE_HASH.
ตัวอย่าง:
SELECT /*+ INDEX(e emp_name_idx) */ name FROM employees e WHERE name = 'Smith';
สิ่งนี้สอนให้ Oracle เพื่อใช้ดัชนีเฉพาะเพื่อเพิ่มประสิทธิภาพ อย่างไรก็ตาม การพึ่งพาคำแนะนำมากเกินไปอาจลดความยืดหยุ่นเมื่อข้อมูลหรือรูปแบบมีการเปลี่ยนแปลง
29) ข้อดีและข้อเสียของการใช้มีอะไรบ้าง Oracle คลัสเตอร์?
Clusterตารางกลุ่ม s ที่แชร์คอลัมน์ทั่วไปในบล็อกข้อมูลเดียวกัน
ประโยชน์ที่ได้รับ:
- ปรับปรุงประสิทธิภาพการเข้าร่วมบนคอลัมน์คลัสเตอร์
- ประหยัดพื้นที่จัดเก็บโดยการจัดวางแถวที่เกี่ยวข้องร่วมกัน
ข้อเสีย:
- เพิ่มค่าใช้จ่ายเพิ่มเติมในระหว่างการแทรก
- ความยืดหยุ่นจำกัดหากคีย์คลัสเตอร์มีการเปลี่ยนแปลงบ่อยครั้ง
ตัวอย่าง: Clusterไอเอ็นจี Employees และ Departments on Department_ID ปรับปรุงการเข้าร่วมแต่ทำให้การอัปเดตช้าลงหากแผนกมีการเปลี่ยนแปลงบ่อยครั้ง
30) เป็นยังไงบ้าง Oracle จัดการกับปัญหาเดดล็อกและปัจจัยอะไรบ้างที่ส่งผลต่อปัญหาดังกล่าว?
การหยุดชะงักเกิดขึ้นเมื่อเซสชันสองเซสชันต้องรอทรัพยากรที่ถูกล็อกโดยกันและกันอย่างไม่มีกำหนดเวลา Oracle ตรวจจับจุดตายโดยอัตโนมัติและแก้ไขปัญหาด้วยการย้อนกลับธุรกรรมหนึ่งรายการ
ปัจจัยที่ทำให้เกิดภาวะเดดล็อก:
- การออกแบบธุรกรรมที่ไม่ดี
- การเข้าถึงทรัพยากรที่ใช้ร่วมกันแบบไม่เรียงลำดับ
- ล็อคแถวหรือตารางมากเกินไป
ตัวอย่าง: หากเซสชั่น A ล็อคแถวที่ 1 และต้องการแถวที่ 2 ในขณะที่เซสชั่น B ล็อคแถวที่ 2 และต้องการแถวที่ 1 Oracle เข้ามาแทรกแซงเพื่อแก้ไขปัญหาการหยุดชะงักโดยการยกเลิกธุรกรรมหนึ่งรายการ
31) ความแตกต่างระหว่างเคอร์เซอร์แบบนัยและแบบชัดแจ้งใน Oracle?
เคอร์เซอร์จัดการชุดผลลัพธ์ของการค้นหา
- เคอร์เซอร์โดยนัย ถูกสร้างขึ้นโดยอัตโนมัติโดย Oracle สำหรับการค้นหาแบบแถวเดียว เช่น
SELECT INTOพวกเขาต้องการโค้ดขั้นต่ำแต่ให้การควบคุมที่จำกัด - เคอร์เซอร์ที่ชัดเจน ถูกกำหนดโดยนักพัฒนาสำหรับคิวรีที่ส่งคืนหลายแถว คิวรีเหล่านี้มีความยืดหยุ่นผ่านการดำเนินการ OPEN, FETCH และ CLOSE ที่ชัดเจน
ตัวอย่าง:
-- Implicit cursor SELECT salary INTO v_salary FROM employees WHERE id=101; -- Explicit cursor CURSOR emp_cur IS SELECT name FROM employees;
ใช้เคอร์เซอร์ที่ชัดเจนเมื่อประมวลผลหลายแถวด้วยการควบคุมที่แม่นยำ
32) เป็นยังไงบ้าง Oracleตัวเพิ่มประสิทธิภาพตัดสินใจเกี่ยวกับแผนการดำเนินการหรือไม่?
การขอ Oracle ตัวเพิ่มประสิทธิภาพจะประเมินกลยุทธ์การดำเนินการต่างๆ และเลือกกลยุทธ์ที่มีประสิทธิภาพสูงสุดตาม การเพิ่มประสิทธิภาพตามต้นทุน (CBO)ปัจจัยต่างๆ ได้แก่ ดัชนีที่มีอยู่ วิธีการรวม (ลูปซ้อน การรวมแฮช การรวมแบบผสาน) สถิติเกี่ยวกับขนาดตาราง และการกระจายข้อมูล
ตัวอย่าง: สำหรับคิวรีที่เชื่อมโยงตารางขนาดเล็กและขนาดใหญ่เข้าด้วยกัน ตัวเพิ่มประสิทธิภาพอาจเลือกการ join แบบวนซ้ำซ้อน แต่หากตารางทั้งสองมีขนาดใหญ่ ตัวเพิ่มประสิทธิภาพอาจเลือกการ join แบบแฮช สถิติที่อัปเดตเป็นประจำจะช่วยให้แผนการดำเนินการมีความแม่นยำ
33) อธิบายความแตกต่างระหว่างตัวดำเนินการ UNION, UNION ALL, INTERSECT และ MINUS
ตัวดำเนินการเหล่านี้รวมผลลัพธ์ของการค้นหาแต่มีการทำงานที่แตกต่างกัน
| OperaTor | ฟังก์ชัน | รายการที่ซ้ำกัน | สั่งซื้อ |
|---|---|---|---|
| ยูเนี่ยน | ผสมผสานผลลัพธ์ที่แตกต่าง | ลบออก | เรียง |
| ยูเนี่ยนทั้งหมด | รวมผลลัพธ์ทั้งหมด | สะสม | ไม่รับประกัน |
| ตัด | ส่งคืนแถวทั่วไป | ลบออก | เรียง |
| ลบ | ส่งคืนแถวในอันดับแรก ไม่ใช่อันดับสอง | ลบออก | เรียง |
ตัวอย่าง: UNION ALL จะดีที่สุดสำหรับประสิทธิภาพเมื่อข้อมูลที่ซ้ำกันเป็นที่ยอมรับได้
34) ลักษณะและวงจรชีวิตของมันคืออะไร Oracle โต๊ะชั่วคราว?
ตารางชั่วคราวจะจัดเก็บข้อมูลเฉพาะเซสชันหรือธุรกรรม ข้อมูลจะคงอยู่เฉพาะเซสชันหรือธุรกรรมนั้นเท่านั้น ขึ้นอยู่กับคำจำกัดความ
วงจรชีวิต:
- การสร้าง: เมื่ออยู่ในรูปแบบที่มี
CREATE GLOBAL TEMPORARY TABLE. - การใช้งาน: ข้อมูลจะมองเห็นได้เฉพาะเซสชันหรือธุรกรรมเท่านั้น
- การลบ: เคลียร์อัตโนมัติหลังจากสิ้นสุดเซสชั่น/ธุรกรรม
ตัวอย่าง: ตารางชั่วคราวเฉพาะเซสชันอาจจัดเก็บผลลัพธ์กลางระหว่างกระบวนการรายงานโดยไม่ส่งผลต่อผู้ใช้รายอื่น
35) บันทึก PL/SQL มีข้อได้เปรียบเหนือตัวแปรแต่ละตัวหรือไม่
ใช่ เรคคอร์ดจะรวมตัวแปรที่เกี่ยวข้องไว้ในหน่วยเดียว ซึ่งช่วยให้โค้ดอ่านง่ายขึ้น ลดความซับซ้อนของการประกาศ และสอดคล้องกับโครงสร้างแถวของตาราง
ข้อดี:
- การแมปไปยังคอลัมน์ตารางได้ง่ายขึ้น
- ลดความซับซ้อนในการส่งค่าหลายค่าไปยังกระบวนการต่างๆ
- รองรับ %ROWTYPE สำหรับการจัดตำแหน่งตาราง
ตัวอย่าง:
DECLARE
emp_rec employees%ROWTYPE;
BEGIN
SELECT * INTO emp_rec FROM employees WHERE id=200;
END;
การดำเนินการนี้จะดึงแถวที่สมบูรณ์มาไว้ในตัวแปรเรคคอร์ดเดียว
36) คุณควรใช้ฟังก์ชันวิเคราะห์เมื่อใด Oracle?
ฟังก์ชันวิเคราะห์จะคำนวณค่าข้ามกลุ่มของแถวโดยไม่ยุบค่า ทำให้ฟังก์ชันเหล่านี้มีความจำเป็นสำหรับการรายงานขั้นสูง
ใช้กรณี:
- การจัดอันดับแถวด้วย
RANK()orROW_NUMBER(). - การคำนวณผลรวมด้วย
SUM() OVER(). - การค้นหาค่าเฉลี่ยเคลื่อนที่
ตัวอย่าง:
SELECT name, salary, RANK() OVER (ORDER BY salary DESC) rank FROM employees;
การดำเนินการนี้จะสร้างข้อมูลเงินเดือนแบบจัดอันดับโดยไม่ต้องรวมตารางทั้งหมด
37) ทำอย่างไร Oracle คลัสเตอร์แตกต่างจากการแบ่งพาร์ติชันอย่างไร?
ทั้งสองอย่างช่วยเพิ่มประสิทธิภาพแต่มีวัตถุประสงค์ที่แตกต่างกัน
| แง่มุม | Clusters | การแยก |
|---|---|---|
| จุดมุ่งหมาย | จัดเก็บตารางที่เกี่ยวข้องไว้ด้วยกัน | แบ่งตาราง/ดัชนีขนาดใหญ่ |
| ขอบเขต | หลายโต๊ะ | ตารางหรือดัชนีเดี่ยว |
| ประสิทธิภาพ | เพิ่มประสิทธิภาพการเข้าร่วม | เพิ่มประสิทธิภาพการค้นหาบนเซ็ตย่อย |
| ซ่อมบำรุง | Less มีความยืดหยุ่น | การจัดการข้อมูลที่ง่ายขึ้น |
ตัวอย่าง: การแบ่งตารางยอดขายตามปีจะช่วยเพิ่มประสิทธิภาพในการดึงข้อมูลช่วงเวลาที่เจาะจง ในขณะที่การจัดกลุ่มพนักงานตามแผนกต่างๆ จะช่วยเร่งการเข้าร่วม
38) อธิบายบทบาทของ Oracle เลิกทำตารางพื้นที่
การเลิกทำตารางพื้นที่เก็บข้อมูลก่อนภาพ รองรับการย้อนกลับธุรกรรม ความสอดคล้องของการอ่าน และการกู้คืน
ลักษณะ:
- การทำธุรกรรมแต่ละครั้งจะใช้ส่วนการเลิกทำ
- เปิดใช้งานมุมมองที่สอดคล้องกันสำหรับการค้นหาพร้อมกัน
- อนุญาตให้ย้อนกลับธุรกรรมที่ไม่สมบูรณ์
ตัวอย่าง: หากผู้ใช้อัปเดตเงินเดือนพนักงานแต่ย้อนกลับก่อนที่จะยืนยัน Oracle ใช้ข้อมูลย้อนกลับเพื่อคืนค่าเดิม
39) ความแตกต่างระหว่างการสำรองแบบร้อนและการสำรองแบบเย็นคืออะไร Oracle?
การสำรองข้อมูลช่วยป้องกันการสูญเสียข้อมูล
| ปัจจัย | การสำรองข้อมูลยอดนิยม | การสำรองข้อมูลแบบเย็น |
|---|---|---|
| สถานะฐานข้อมูล | ออนไลน์ | ปิดตัวลง |
| ความพร้อมที่จะให้บริการ | อย่างต่อเนื่อง | ต้องใช้เวลาหยุดทำงาน |
| ความซับซ้อน | สูงกว่า | เรียบง่ายขึ้น |
| ใช้กรณี | ระบบ 24×7 | Less ระบบที่สำคัญ |
ตัวอย่าง: ไซต์อีคอมเมิร์ซใช้การสำรองข้อมูลแบบร้อนเพื่อรักษาเวลาการทำงาน ในขณะที่แอปภายในขนาดเล็กอาจใช้การสำรองข้อมูลแบบเย็นในช่วงเวลาหยุดทำงานตอนกลางคืน
40) เป็นยังไงบ้าง Oracle จัดการสิทธิ์และบทบาทเพื่อความปลอดภัย?
Oracle ใช้ สิทธิ์ของระบบ, สิทธิ์ของวัตถุและ บทบาท.
- สิทธิ์ของระบบ ให้สิทธิ์ต่างๆ เช่น การสร้างผู้ใช้หรือพื้นที่ตาราง
- สิทธิ์ของวัตถุ อนุญาตให้ดำเนินการกับวัตถุ schema (SELECT, INSERT)
- บทบาท รวมสิทธิพิเศษต่างๆ เพื่อการจัดการที่ง่ายขึ้น
ตัวอย่าง:
GRANT SELECT ON employees TO analyst_role; GRANT analyst_role TO user1;
ที่นี่ สิทธิพิเศษจะได้รับการจัดการจากศูนย์กลางผ่านบทบาทต่างๆ เพื่อให้แน่ใจถึงความสอดคล้องและง่ายต่อการเพิกถอน
41) ความแตกต่างระหว่างฟังก์ชันและขั้นตอนใน PL/SQL คืออะไร?
ฟังก์ชันและขั้นตอนเป็นโปรแกรมย่อยใน PL/SQL แต่มีจุดประสงค์ที่แตกต่างกัน
| แง่มุม | ฟังก์ชัน | การรักษาอื่นๆ |
|---|---|---|
| ส่งคืนค่า | ต้องส่งคืนค่าหนึ่งค่าเท่านั้น | อาจส่งคืนค่าเป็น none, one หรือ many (ผ่านพารามิเตอร์ OUT) |
| การใช้ | บ่อยครั้งในนิพจน์ SQL | เรียกจากบล็อก PL/SQL |
| การอยู่ที่ | สามารถเรียกได้จาก SELECT | ไม่สามารถใช้ขั้นตอนใน SELECT ได้ |
ตัวอย่าง: ฟังก์ชันอาจคำนวณภาษีและส่งคืนผลลัพธ์ตัวเลข ในขณะที่ขั้นตอนการอัปเดตบันทึกเงินเดือน
42) เป็นยังไงบ้าง Oracle คำพ้องความหมายที่เป็นประโยชน์ในการพัฒนาฐานข้อมูลมีอะไรบ้าง?
คำพ้องความหมายจะให้ชื่ออื่นสำหรับวัตถุฐานข้อมูล ซึ่งช่วยปรับปรุงการแยกส่วนและใช้งานง่ายขึ้น พวกมันสามารถ ส่วนตัว (เฉพาะสำหรับผู้ใช้) หรือ สาธารณะ (ใช้ได้กับผู้ใช้งานทุกคน)
ประโยชน์ที่ได้รับ:
- ลดความซับซ้อนของการอ้างอิงวัตถุข้ามโครงร่าง
- ซ่อนชื่อโครงร่างพื้นฐานจากแอปพลิเคชัน
- ให้ความเข้ากันได้แบบย้อนหลังหากชื่อวัตถุเปลี่ยนแปลง
ตัวอย่าง: แทนการอ้างอิง HR.EMPLOYEES, คำพ้องความหมายสาธารณะ EMP ช่วยให้นักพัฒนาสามารถสอบถามได้อย่างง่ายดาย SELECT * FROM EMP;.
43) คุณควรใช้เคอร์เซอร์ REF เมื่อใด Oracle?
เคอร์เซอร์ REF คือตัวชี้ไปยังชุดผลลัพธ์ที่สามารถส่งผ่านแบบไดนามิกระหว่างโปรแกรมต่างๆ ได้ เคอร์เซอร์เหล่านี้มีประโยชน์อย่างยิ่งเมื่อส่งคืนผลลัพธ์การค้นหาตัวแปรไปยังแอปพลิเคชัน
ข้อดี:
- เปิดใช้งานการดำเนินการ SQL แบบไดนามิก
- อนุญาตให้แยกตรรกะการค้นหาและการดึงข้อมูลออกจากกัน
- มีประโยชน์ในแอปพลิเคชันไคลเอนต์-เซิร์ฟเวอร์
ตัวอย่าง: เครื่องมือรายงานสามารถรับเคอร์เซอร์ REF จาก PL/SQL ทำให้ตรรกะของแบบสอบถามมีความยืดหยุ่นโดยไม่ต้องคอมไพล์ใหม่
44) ความแตกต่างระหว่าง CHAR และ NCHAR คืออะไร Oracle?
ทั้งสองจัดเก็บข้อมูลอักขระที่มีความยาวคงที่ แต่ NCHAR รองรับ Unicode ซึ่งทำให้มั่นใจได้ถึงความเข้ากันได้ในหลายภาษา
| แง่มุม | ชาร์ | กช |
|---|---|---|
| การเข้ารหัส | ชุดอักขระฐานข้อมูล | Unicode |
| ใช้กรณี | พื้นที่เก็บข้อมูลความกว้างคงที่ | แอปพลิเคชันหลายภาษา |
| พื้นที่จัดเก็บ | 1 ไบต์ต่ออักขระ | 2 ไบต์ต่ออักขระ |
ตัวอย่าง: สำหรับการจัดเก็บชื่อลูกค้าต่างประเทศ NCHAR รับประกันการแสดงอักขระที่มีเครื่องหมายกำกับเสียงหรือไม่ใช่อักษรละตินอย่างถูกต้อง
45) อธิบายวงจรชีวิตและประโยชน์ของ Oracle แพคเกจ
วงจรชีวิตของแพ็คเกจประกอบด้วยการสร้าง การคอมไพล์ การใช้งาน และการจัดการการอ้างอิง
ประโยชน์ที่ได้รับ:
- ปรับปรุงประสิทธิภาพการทำงานเป็น Oracle โหลดแพ็กเกจเข้าสู่หน่วยความจำหนึ่งครั้ง
- การห่อหุ้มโปรแกรมย่อยที่เกี่ยวข้อง
- การเข้าถึงที่ควบคุมโดยเปิดเผยเฉพาะขั้นตอน/ฟังก์ชันที่จำเป็นในรายละเอียด
- การบำรุงรักษาและการแก้จุดบกพร่องที่ง่ายขึ้น
ตัวอย่าง: แพ็คเกจที่ชื่อว่า HR_PAYROLL อาจประกอบด้วยฟังก์ชันการคำนวณเงินเดือน ภาษี และโบนัสทั้งหมดไว้ในที่เดียว ช่วยลดความซับซ้อนในการพัฒนาโมดูลาร์
46) เป็นยังไงบ้าง Oracle เทคโนโลยี Flashback ช่วยในการกู้คืนได้หรือไม่?
ฟีเจอร์ Flashback ช่วยให้แก้ไขข้อผิดพลาดของผู้ใช้ได้อย่างรวดเร็วโดยไม่ต้องกู้คืนข้อมูลแบบเดิม มีตัวเลือกต่างๆ ให้เลือก ได้แก่ Flashback Query, Flashback Table, Flashback Drop และ Flashback Database
ตัวอย่าง:
SELECT * FROM employees AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '10' MINUTE);
การดำเนินการนี้จะดึงข้อมูลตามเดิมที่มีอยู่เมื่อ 10 นาทีก่อน ทำให้มีประโยชน์อย่างยิ่งสำหรับการลบหรืออัปเดตโดยไม่ได้ตั้งใจ
47) ข้อดีและข้อเสียของการใช้มีอะไรบ้าง Oracle กระบวนการที่เก็บไว้?
กระบวนการที่จัดเก็บไว้ช่วยปรับปรุงการนำกลับมาใช้ใหม่ ความสม่ำเสมอ และประสิทธิภาพการทำงาน
ข้อดี:
- ตรรกะทางธุรกิจแบบรวมศูนย์
- ลดปริมาณการรับส่งข้อมูลเครือข่ายโดยการดำเนินการบนเซิร์ฟเวอร์
- การรักษาความปลอดภัยที่ดีขึ้นผ่านการเข้าถึงที่มีการควบคุม
ข้อเสีย:
- ความซับซ้อนเพิ่มมากขึ้นหากใช้งานมากเกินไป
- การดีบักยากกว่าเมื่อเทียบกับลอจิกระดับแอพพลิเคชั่น
ตัวอย่าง: ขั้นตอนการจ่ายเงินเดือนเพื่อคำนวณโบนัสช่วยให้กฎเกณฑ์มีความสอดคล้องกันในแอปพลิเคชันต่างๆ
48) เป็นยังไงบ้าง Oracle จัดการการดำเนินการสอบถามแบบขนานได้อย่างไร
การดำเนินการแบบคู่ขนานช่วยให้ Oracle เพื่อแบ่งแบบสอบถามออกเป็นหน่วยย่อยๆ ที่ประมวลผลโดย CPU หลายตัว มีประโยชน์สำหรับชุดข้อมูลขนาดใหญ่ แบบสอบถามในคลังข้อมูล และการดำเนินการจำนวนมาก
ปัจจัยที่มีอิทธิพลต่อประสิทธิภาพการทำงาน:
- ระดับความขนาน
- ทรัพยากรระบบที่มีอยู่
- ตารางที่แบ่งส่วนเพื่อการกระจายที่มีประสิทธิภาพ
ตัวอย่าง: การค้นหาแบบขนานบนตารางการขายแบบแบ่งพาร์ติชั่นช่วยลดเวลาในการรวบรวมข้อมูลหลายล้านรายการได้อย่างมาก
49) คืออะไร Oracle ตารางภายนอกและประโยชน์ของมัน?
ตารางภายนอกช่วยให้สามารถสอบถามข้อมูลที่จัดเก็บอยู่ภายนอกฐานข้อมูลได้ (เช่น ไฟล์แบบแบน) โดยใช้ SQL
ประโยชน์ที่ได้รับ:
- ลดความซับซ้อนของการดำเนินการ ETL
- ขจัดความจำเป็นสำหรับการแยกวิเคราะห์แบบกำหนดเอง
- รองรับการสอบถามแบบขนานเพื่อการโหลดข้อมูลที่รวดเร็วยิ่งขึ้น
ตัวอย่าง: นักวิเคราะห์สามารถค้นหาไฟล์ CSV โดยตรงโดยไม่ต้องโหลดลงใน Oracleโดยใช้คำจำกัดความตารางภายนอก
50) เป็นยังไงบ้าง Oracle นำการปกปิดข้อมูลสำหรับข้อมูลที่ละเอียดอ่อนมาใช้หรือไม่?
Oracle Data Masking จะแทนที่ค่าละเอียดอ่อนด้วยค่าทดแทนที่สมมติขึ้นแต่สมจริง เพื่อให้แน่ใจว่าเป็นไปตามข้อกำหนดในขณะที่ยังปกป้องข้อมูล
ข้อดี:
- รักษาความสมจริงของสภาพแวดล้อมการทดสอบ
- ป้องกันการรั่วไหลของข้อมูลในระหว่างการพัฒนา
ตัวอย่าง: การปกปิดหมายเลขบัตรเครดิตของลูกค้าช่วยให้นักพัฒนาสามารถทดสอบแอปพลิเคชันได้โดยไม่เปิดเผยข้อมูลจริง
🔍 ด้านบน Oracle คำถามสัมภาษณ์พร้อมสถานการณ์จริงและคำตอบเชิงกลยุทธ์
ด้านล่างนี้เป็น 10 ประเด็นที่รอบด้าน Oracle คำถามสัมภาษณ์ที่จับคู่กับการตอบเชิงกลยุทธ์ คำถามเหล่านี้ครอบคลุมมุมมองด้านความรู้ พฤติกรรม และสถานการณ์ที่สะท้อนถึงสิ่งที่ผู้สมัครพบเจอจริงในวิชาชีพ Oracle-สัมภาษณ์ที่เกี่ยวข้อง
1) คุณสามารถอธิบายความแตกต่างระหว่าง Oracle RAC และ Oracle Data Guard?
สิ่งที่คาดหวังจากผู้สมัคร: ผู้สัมภาษณ์ต้องการประเมินความรู้ของคุณ Oracleโซลูชันความพร้อมใช้งานสูงและการกู้คืนจากภัยพิบัติ
ตัวอย่างคำตอบ:
"Oracle RAC (การประยุกต์ใช้จริง Clusters) อนุญาตให้อินสแตนซ์หลายตัวสามารถเข้าถึงฐานข้อมูลเดียวได้ ซึ่งช่วยเพิ่มความสามารถในการปรับขนาดและความพร้อมใช้งาน ในทางกลับกัน Oracle Data Guard คือโซลูชันการกู้คืนระบบจากภัยพิบัติที่รักษาฐานข้อมูลสำรองให้ซิงโครไนซ์กัน มั่นใจได้ถึงการปกป้องข้อมูลและความสามารถในการเฟลโอเวอร์ ทั้งสองสิ่งนี้มีความสำคัญอย่างยิ่ง แต่ RAC ให้ความสำคัญกับประสิทธิภาพและระยะเวลาการทำงาน ในขณะที่ Data Guard ช่วยรับประกันความต่อเนื่องทางธุรกิจในกรณีที่ไซต์หลักล้มเหลว
2) คุณจะคอยอัปเดตข้อมูลได้อย่างไร Oracleคุณสมบัติและความก้าวหน้าล่าสุดของฐานข้อมูลคืออะไร?
สิ่งที่คาดหวังจากผู้สมัคร: ผู้สัมภาษณ์ต้องการประเมินความมุ่งมั่นของคุณในการเรียนรู้อย่างต่อเนื่อง
ตัวอย่างคำตอบ:
“ฉันติดตามข้อมูลอัปเดตโดยสมัครรับข้อมูล Oracle จดหมายข่าวเครือข่ายเทคโนโลยี (OTN) เข้าร่วม Oracle การประชุม OpenWorld และการติดตาม Oracle บล็อกต่างๆ ฉันยังฝึกปฏิบัติจริงในสภาพแวดล้อมแบบแซนด์บ็อกซ์ทุกครั้งที่มีการเปิดตัวฟีเจอร์ใหม่ๆ การผสมผสานนี้ช่วยให้มั่นใจได้ว่าฉันจะทันสมัยอยู่เสมอและพร้อมที่จะนำฟีเจอร์ใหม่ๆ มาใช้ได้อย่างมีประสิทธิภาพ
3) คุณสามารถอธิบายสิ่งที่ท้าทาย Oracle การอัพเกรดหรือการย้ายข้อมูลที่คุณดำเนินการและคุณรับประกันความสำเร็จได้อย่างไร?
สิ่งที่คาดหวังจากผู้สมัคร: ผู้สัมภาษณ์กำลังทดสอบความเชี่ยวชาญด้านเทคนิค ความสามารถในการวางแผน และความสามารถในการปรับตัว
ตัวอย่างคำตอบ:
“ในบทบาทสุดท้ายของฉัน ฉันจัดการ Oracle การอัปเกรดจาก 11g เป็น 19c สำหรับระบบการเงินที่สำคัญต่อภารกิจ ผมรับประกันความสำเร็จด้วยการสร้างแผนการโยกย้ายข้อมูลอย่างละเอียด ดำเนินการทดสอบอย่างละเอียดในสภาพแวดล้อมการจัดเตรียม และฝึกซ้อมการย้อนกลับ การสื่อสารที่ชัดเจนกับผู้มีส่วนได้ส่วนเสียช่วยลดระยะเวลาหยุดทำงาน และทำให้เราอัปเกรดได้สำเร็จโดยไม่มีการสูญเสียข้อมูลใดๆ
4) คุณจัดการการปรับแต่งประสิทธิภาพอย่างไร Oracle ฐานข้อมูลเมื่อต้องเผชิญกับการค้นหาที่ทำงานช้า?
สิ่งที่คาดหวังจากผู้สมัคร: ผู้สัมภาษณ์ต้องการข้อมูลเชิงลึกเกี่ยวกับทักษะการแก้ปัญหาและการวินิจฉัย
ตัวอย่างคำตอบ:
“ขั้นตอนแรกของผมคือการวิเคราะห์แผนการดำเนินการโดยใช้ EXPLAIN PLAN และระบุจุดคอขวด จากนั้นผมจะประเมินดัชนี สถิติ และโครงสร้างคิวรี ในตำแหน่งก่อนหน้านี้ ผมใช้ Oracle รายงานที่เก็บภาระงานอัตโนมัติ (AWR) ช่วยระบุคิวรีที่ไม่มีประสิทธิภาพ และแบ่งพาร์ติชันที่นำมาใช้เพื่อปรับปรุงประสิทธิภาพ ผลลัพธ์คือเวลาในการดำเนินการคิวรีลดลง 60%
5) เล่าให้ฉันฟังถึงเวลาที่คุณต้องทำงานภายใต้ความกดดันเพื่อแก้ไขปัญหาสำคัญ Oracle ปัญหาฐานข้อมูล
สิ่งที่คาดหวังจากผู้สมัคร: ผู้สัมภาษณ์กำลังมองหาความสงบ ความร่วมมือ และการแก้ไขปัญหาภายใต้ความเครียด
ตัวอย่างคำตอบ:
ในงานก่อนหน้าของผม ฐานข้อมูลการผลิตเกิดขัดข้องในช่วงเวลาที่มีการทำธุรกรรมสูงสุด ผมนำการกู้คืนข้อมูลโดยการกู้คืนข้อมูล ณ จุดเวลาใดเวลาหนึ่งโดยใช้ RMAN พร้อมกับประสานงานกับทีมแอปพลิเคชันเพื่อลดผลกระทบต่อธุรกิจให้น้อยที่สุด ฐานข้อมูลสามารถกู้คืนได้ภายในเวลาไม่ถึงสองชั่วโมง และต่อมาผมได้นำกระบวนการตรวจสอบและสำรองข้อมูลที่ได้รับการปรับปรุงมาใช้เพื่อป้องกันการเกิดซ้ำ
6) คุณจะออกแบบกลยุทธ์การสำรองข้อมูลและการกู้คืนสำหรับ Oracle ฐานข้อมูลที่รองรับแพลตฟอร์มอีคอมเมิร์ซตลอด 24 ชั่วโมงทุกวัน?
สิ่งที่คาดหวังจากผู้สมัคร: ผู้สัมภาษณ์ต้องการทดสอบการตัดสินใจในโลกแห่งความเป็นจริง
ตัวอย่างคำตอบ:
สำหรับแพลตฟอร์มอีคอมเมิร์ซแบบ 24/7 ฉันจะนำ RMAN มาใช้สำหรับการสำรองข้อมูลออนไลน์เพื่อหลีกเลี่ยงการหยุดทำงาน กำหนดค่า Data Guard สำหรับการกู้คืนระบบจากภัยพิบัติ และกำหนดเวลาการสำรองข้อมูลเพิ่มเติมในช่วงเวลาที่มีปริมาณการใช้งานต่ำ นอกจากนี้ ฉันยังจะทดสอบสถานการณ์การกู้คืนระบบเป็นประจำเพื่อตรวจสอบกลยุทธ์ สิ่งสำคัญที่สุดคือความต่อเนื่องทางธุรกิจและการสูญเสียข้อมูลให้น้อยที่สุด
7) อะไรเป็นแรงบันดาลใจให้คุณทำงานกับ Oracle เทคโนโลยี?
สิ่งที่คาดหวังจากผู้สมัคร: ผู้สัมภาษณ์พยายามทำความเข้าใจความหลงใหลและความสอดคล้องกับบทบาท
ตัวอย่างคำตอบ:
“สิ่งที่ทำให้ฉันตื่นเต้นเกี่ยวกับ Oracle เทคโนโลยีคือความสามารถในการปรับขนาดและความสามารถในการขับเคลื่อนระบบที่สำคัญต่อภารกิจ Oracle ฐานข้อมูลถูกใช้ในอุตสาหกรรมที่ความแม่นยำและความน่าเชื่อถือเป็นสิ่งสำคัญ ซึ่งเป็นแรงบันดาลใจให้ผมมุ่งมั่นพัฒนาการบริหารจัดการและประสิทธิภาพฐานข้อมูลในระดับสูงสุด นอกจากนี้ ผมยังสนุกกับการพัฒนาอย่างต่อเนื่องของ Oracle ผลิตภัณฑ์ที่ผลักดันให้ฉันเติบโตในสายอาชีพ”
8) คุณจะจัดการกับสถานการณ์ที่หน่วยธุรกิจเรียกร้องให้มีการเปลี่ยนแปลงฐานข้อมูลที่ขัดแย้งกับนโยบายการปฏิบัติตามข้อกำหนดอย่างไร
สิ่งที่คาดหวังจากผู้สมัคร: ผู้สัมภาษณ์ต้องการทดสอบการตัดสินทางจริยธรรมและการจัดการผู้มีส่วนได้ส่วนเสีย
ตัวอย่างคำตอบ:
“ก่อนอื่น ผมจะสื่อสารความเสี่ยงด้านการปฏิบัติตามกฎระเบียบให้หน่วยธุรกิจทราบอย่างชัดเจน โดยเน้นย้ำถึงผลกระทบที่อาจเกิดขึ้นจากการละเมิดกฎระเบียบ หากพวกเขายืนกราน ผมจะส่งต่อเรื่องดังกล่าวไปยังทีมกำกับดูแลการปฏิบัติตามกฎระเบียบและไอที เพื่อให้มั่นใจว่ามีการปฏิบัติตามช่องทางการอนุมัติที่ถูกต้อง การปกป้ององค์กรจากการละเมิดกฎระเบียบมีความสำคัญมากกว่าความสะดวกสบายในระยะสั้น”
9) อธิบายเวลาที่คุณต้องทำงานร่วมกับนักพัฒนาเพื่อเพิ่มประสิทธิภาพ Oracle ประสิทธิภาพของฐานข้อมูล
สิ่งที่คาดหวังจากผู้สมัคร: ผู้สัมภาษณ์ต้องการเห็นการทำงานร่วมกันและทักษะการสื่อสารทางเทคนิค
ตัวอย่างคำตอบ:
“ในบทบาทก่อนหน้าของฉัน ฉันทำงานอย่างใกล้ชิดกับทีมพัฒนาที่กำลังประสบปัญหาเกี่ยวกับประสิทธิภาพการทำงานของงานแบบแบตช์ ฉันได้ตรวจสอบแบบสอบถาม SQL ของพวกเขา แนะนำกลยุทธ์การสร้างดัชนี และให้ความรู้แก่พวกเขาเกี่ยวกับ Oracle คำแนะนำสำหรับโปรแกรมเพิ่มประสิทธิภาพ เราได้ร่วมกันปรับโครงสร้างโค้ดและลดระยะเวลารันแบตช์จากแปดชั่วโมงเหลือน้อยกว่าสองชั่วโมง ประสบการณ์นี้ตอกย้ำคุณค่าของการทำงานร่วมกันข้ามสายงาน
10) คุณจะมั่นใจได้อย่างไรว่าปลอดภัยใน Oracle ฐานข้อมูลเพื่อต่อต้านภัยคุกคามทางไซเบอร์สมัยใหม่?
สิ่งที่คาดหวังจากผู้สมัคร: ผู้สัมภาษณ์ต้องการทดสอบความรู้เกี่ยวกับแนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัยของฐานข้อมูล
ตัวอย่างคำตอบ:
“ฉันติดตาม Oracle แนวปฏิบัติที่ดีที่สุดด้านความปลอดภัย เช่น การอัปเดตแพตช์สำคัญ (CPU) อย่างรวดเร็ว การบังคับใช้หลักการสิทธิ์ขั้นต่ำ การเปิดใช้งานการตรวจสอบฐานข้อมูล และการเข้ารหัสทั้งข้อมูลที่พักอยู่และระหว่างการขนส่ง ก่อนหน้านี้ ฉันได้นำ Oracle การเข้ารหัสข้อมูลที่โปร่งใส (TDE) สำหรับบันทึกทางการเงินที่ละเอียดอ่อน ซึ่งช่วยให้เราปฏิบัติตามข้อกำหนดได้โดยไม่กระทบต่อประสิทธิภาพการทำงาน
