Category: Oracle

กำหนด Lexer สำหรับ Full Text Search บน ฐานข้อมูล Oracle เพื่อค้นหาภาษาไทยให้ถูกต้อง

เนื่องจากระบบสืบค้นที่ดูแลอยู่เจอปัญหาค้นหาเลขไทย “๑ ๒ ๓ …” ไม่เจอ หลังจากตรวจสอบจนแน่ใจแล้วว่าก่อนจะส่งคำสั่ง Query ไปยังฐานข้อมูลไม่ได้เผลอตัดเลขไทยออกที่ขั้นตอนไหน จึงทำการตรวจสอบคำสั่งที่ใช้ในการค้นหา พบว่าใช้ฟังก์ชัน SELECT * FROM THAI_LIBRARY WHERE CONTAINS(BOOK_NAME, ‘๑๐๐ ปีชาติไทย’, 1) > 0; จากคำสั่ง (ที่สมมุติขึ้น) ด้านบนจะเห็นได้ว่าใช้ CONTAINS ซึ่งเป็นฟังก์ชันที่อยู่ในกลุ่ม Oracle Text ซึ่งฟังก์ชันนี้จะค้นหาคำใกล้เคียงจาก Index แล้วคืนค่า Score มาให้เราเพื่อใช้เป็นเงื่อนไขพิจารณาว่าจะใช้ข้อมูลรายการนั้นหรือไม่ ที่มาภาพ ภาพด้านบนแสดงขั้นตอนการสร้าง Oracle Text Index เนื่องจากระบบจัดเก็บข้อมูลเป็น…

Migrate จากฐานข้อมูล MySql มายัง Oracle ด้วย Sql Developer

เนื่องจากงานที่รับผิดชอบ จะต้องมีการโอนย้ายข้อมูลจากฐานข้อมูลอื่นๆมายัง Oracle เป็นประจำ พบว่าการย้าย MySql มายัง Oracle นั้นสามารถทำได้ง่ายมาก (อาจเพราะเจ้าของเดียวกัน) โดยมีวิธีดังนี้ 1. ดาวส์โหลดและติดตั้ง Oracle SQL Developer 2. ทำการเชื่อมต่อไปยังฐานข้อมูล Oracle ด้วย User system 3. สร้าง Oracle User สำหรับเก็บข้อมูลจาก MySql และกำหนดสิทธิให้เรียบร้อย 4. ดาวส์โหลดไฟล์ Third Party JDBC Driver สำหรับ My Sql 5. เปิดการใช้งาน…

Grid Infrastructure 18c ตอน 5 (ตอนจบภาคติดตั้ง)

ตอนนี้จะมาติดตั้ง oracle database 18c เข้าระบบด้วยผู้ใช้ oracle เปิด terminal พิมพ์คำสั่ง (จากครั้งที่แล้วยังเหลือ disk อีก 2 ลูก) ต่อด้วยคำสั่ง SQL ต่อไปนี้ ได้ดังรูป เริ่มติดตั้ง database ได้ดังรูป Set Up Software Only กด Next ได้ดังรูป เลือก Oracle Real Application Clusters database installation ได้ดังรูป กด Next ได้ดังรูป เลือก…

Grid Infrastructure 18c ตอน 4

โหมดแทบ จะ next technology เข้าระบบด้วยผู้ใช้ oracle เปิด terminal พิมพ์คำสั่งต่อไปนี้ จะได้ดังรูป เลือก Configure Oracle Grid Infrastructure for New Cluster กด Next จะได้ดังรูป เลือก Configure an Oracle Standalone Cluster กด Next จะได้ดังรูป เลือก Create Local SCAN แก้ชื่อให้ตรงกับที่ขอจดกับ DNS (rac-scan) ดังรูป กด Next…

Grid Infrastructure 18c ตอน 3

ไฟล์ที่ download จาก https://edelivery.oracle.com จะมี 2 ไฟล์คือ V978967-01.zip คือ ไฟล์ติดตั้ง database V978971-01.zip คือ ไฟล์ติดตั้ง grid infrastructure download ไฟล์มาเก็บไว้ที่ /home/oracle/Downloads ของ rac1 เครื่องเดียว เข้าระบบด้วย ผู้ใช้ oracle เปิด terminal unzip สร้าง User Equivalence (Key-Based Authentication) ระหว่าง rac1 และ rac2 จากนั้นตามด้วยคำสั่ง พิมพ์ yes…

Grid Infrastructure 18c ตอน 2

ตอนสองจัดการ Shared disk ล็อคอินด้วยผู้ใช้ oracle เปิด terminal พิมพ์คำสั่ง ต่อไปนี้ เพื่อเป็น root เมื่อถามรหัสผ่าน ให้ใส่รหัสผ่านของ oracle ตรวจสอบว่ามีแฟ้ม /etc/multipath.conf หรือไม่ หากไม่มีให้สั่งคำสั่งต่อไปนี้ ตรวจสอบ shared disk ด้วยคำสั่ง จะเห็นว่ามี mpatha ถึง mpathf สร้าง partition บน mpatha ถึง mpathf ด้วยคำสั่ง สร้าง partition ใหม่ตามขั้นตอนเดิม n แล้ว enter 4…

Grid infrastructure 18c ตอน 1

รอบนี้จะมาติดตั้ง Oracle grid infrastructure 18c กัน สิ่งที่ต้องเตรียม Vmware 2 เครื่อง โดยแต่ละเครื่องมีคุณสมบัติดังนี้ (ปรับลดตามความเหมาะสมได้) 2 CPU 64 core 128 GB Memory HDD 2 ลูก 300GB 1TB Shared Storage ครั้งนี้เลือกใช้ iSCSI 6 ลูกลูกละ 1TB Network Card 3 ใบ IP address โดย 4 IP…

ORA-31623: a job is not attached to this session via the specified handle

ปัญหา พยายามใช้ expdp แล้วเกิด error UDE-31623: operation generated ORACLE error 31623ORA-31623: a job is not attached to this session via the specified handleORA-06512: at “SYS.DBMS_DATAPUMP”, line 3905ORA-06512: at “SYS.DBMS_DATAPUMP”, line 5203ORA-06512: at line 1 งานมา… เมื่อค้นข้อมูลไปเรื่อย ๆ จะพบว่าอาจเกี่ยวของกับการปรับแต่งค่าต่างๆ เกี่ยวกับ memory…

Oracle User expire โดยไม่ทราบสาเหตุ

นักพัฒนาบางท่านที่เพิ่งเริ่มพัฒนาระบบบนฐานข้อมูล Oracle อาจจะเคยเจอปัญหาเมื่อใช้ Oracle ตั้งแต่เวอร์ชัน 11 เป็นต้นไป นั่นคือ เมื่อสร้าง user บน Oracle และใช้งานไปได้ซักระยะอยู่ ๆ user นี้ก็เกิดก็ expire โดยที่ไม่ได้มีใครเข้าแก้ไขการตั้งค่าของ user นี้ ซึ่งเหตุการณ์นี้อาจจะมีสาเหตุแบบเดียวกับที่จะนำเสนอในบทควาามนี้ก็เป็นได้ หมายเหตุ ในบทความนี้จะใช้ Oracle SQL Developer ซึ่งเป็นเครื่องมือในการเข้าถึงและจัดการฐานข้อมูล Oracle มาช่วยในการอธิบายเพื่อให้เห็นภาพได้ง่ายขึ้น ขั้นตอนการตรวจสอบที่มาของปัญหาและการแก้ไข login ด้วย sys ตรวจสอบการตั้งค่า Default Profile โดยเลือกเมนู View –> DBA…