Oracle Database XE คืออะไร
Oracle XE หรือ Oracle Express Edition เป็นซอฟต์แวร์ฐานข้อมูล Oracle เวอร์ชันที่ให้สามารถดาวน์โหลดไปใช้งานได้โดยไม่มีค่าใช้จ่าย แต่จะมีข้อจำกัดในการใช้งาน ตัวอย่างเช่นในเวอร์ชัน 18c จะมีข้อจำกัด เช่น
- จำกัดการใช้งานข้อมูลได้ไม่เกิน 12 GB
- จำกัดการใช้งาน RAM ได้ไม่เกิน 2 GB
- ฟังก์ชันการใช้งานหลายอย่างที่ไม่มีให้ใช้งานเหมือนเวอร์ชัน Standard หรือ Enterprise
Oracle Database XE 18c กับการติดตั้งในรูปแบบ Multitenant
Oracle Database XE 18c จะถูกติดตั้งในรูปแบบที่เรียกว่า Multitenant ซึ่งจะมีรูปแบบดังนี้คือ
- มีฐานข้อมูลที่เป็น container database
- ฐานข้อมูลที่สร้างภายใต้ container เรียกว่า pluggable database
- ในการติดตั้งไม่สามารถเลือกได้ว่าจะลงเฉพาะ container database อย่างเดียวโดยไม่ลง pluggable database แต่ตัว pluggable database จะถูกติดตั้งมาให้ด้วย 1 pluggable database (มีได้สูงสุด 3 pluggable database)
รูปตัวอย่างผลการติดตั้ง Oracle Database XE 18c
- การเรียกใช้ service name จะเป็นดังนี้
- XE เป็น service name สำหรับเรียกใช้ container database
- XEPDB1 เป็น service name สำหรับเรียกใช้งาน pluggable database
- service name ทั้ง XE และ XEPDB1 จะถูกกำหนดไว้แล้วตั้งแต่ตอนติดตั้ง
ปัญหาที่พบกับการ import user
- เมื่อมีการ import user ด้วยคำสั่ง impdp
- พบปัญหากับฐานข้อมูล container หรือ XE ส่วน ตัว pluggable หรือ XEPDB1 จะไม่พบปัญหาเช่นนี้
- ตัวอย่างข้อความ error ที่พบ
ORA-39083: Object type USER:”๊USER” failed to create with error: //”USER” คือชื่อ user ที่ถูก import เข้ามา
ORA-65096: invalid common user or role name
ตัวอย่างการแก้ปัญหาเมื่อต้องการ import user เข้า XE
- รันคำสั่ง alter session set “_ORACLE_SCRIPT”=true;
- สร้าง user ใหม่ โดยตั้งชื่อให้ตรงกับ user ที่ต้องการ import
- ทำการ import ด้วยคำสั่ง impdp ตามปกติ
สิ่งที่น่าสนใจ
จะเห็นว่า oracle database 18c XE ถูกติดตั้งมาในรูปแบบ multitenant โดยมี database เริ่มต้นให้ 2 database คือ container database และ pluggable database ดังนั้นการเลือกว่าจะใช้งานแบบไหนก็ขึ้นอยู่กับลักษณะงานที่เราต้องการใช้งาน แต่กรณีที่ต้องการใช้งานทั่วไปแบบปกติ จะเห็นว่าการเลือกทำงานกับฐานข้อมูล pluggable database ดูแล้วน่าจะพบปัญหาน้อยกว่าจะไปทำงานกับตัว container database