Oracle Database 18c XE กับปัญหาการ import user

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

Read More »

เชื่อมต่อจากฐานข้อมูล Oracle ไปยังฐานข้อมูลอื่นด้วย Oracle Database Gateway

โดยปกติหากต้องการเชื่อมต่อฐานข้อมูลสองฐานข้อมูลสำหรับ Oracle สามารถทำได้โดยการสร้าง database link แต่กรณีที่ต้องการสร้างการเชื่อมต่อจากฐานข้อมูล Oracle ไปยังฐานข้อมูลที่สร้างโดยระบบจัดการฐานข้อมูลอื่นที่ไม่ใช่ Oracle เช่น MS SQL Server, MySQL สามารถทำได้โดยใช้เครื่องมือที่เรียกว่า Oracle Database Gateway นั่นเอง ตัวอย่างการใช้ Oracle Database Gateway เชื่อมต่อไปยัง MS SQL Server เพื่อให้เห็นภาพการใช้งานจะยกตัวอย่างการใช้งานกับ MS SQL Sever ดังนี้ หมายเหตุ รุ่นของ Software ที่ใช้ในตัวอย่างนี้คือ Oracle Database 12c R2 (12.2.0) Oracle Database Gateways 12c (12.2.0) เตรียมข้อมูลที่จำเป็นก่อนการติดตั้ง ข้อมูลของ SQL Server ที่เราต้องการเชื่อมต่อ ชื่อเครื่องหรือ IP Address ของเครื่องที่ SQL Server ติดตั้งอยู่ หมายเลข port ของ SQL Server ที่เราต้องการเชื่อมต่อ ชื่อฐานข้อมูล SQL Server ที่เราต้องการเชื่อมต่อ 2. ขั้นตอนการติดตั้ง Oracle Database Gateway เมื่อดาวน์โหลดตัวติดตั้งจากเว็บไซต์ของ Oracle แล้ว ดำเนินการติดตั้งจากตัวติดตั้งที่ดาวน์โหลด ดังตัวอย่างต่อไปนี้ ขั้นตอนนี้จะเป็นการใส่ข้อมูลของฐานข้อมูล MS SQL Server ที่ต้องการเชื่อมต่อ หลังจากนั้นทำการติดตั้งไปตามขั้นตอนตามลำดับ จนถึงขั้นตอนการสร้าง listener หลังจากติดตั้ง listener สำเร็จแล้ว ก็เป็นอันเสร็จสิ้นการติดตั้ง Oracle Database Gateway *** หลังจากการติดตั้ง หากเรียกดู Service จะเห็นว่ามี service ของ listener ปรากฎขึ้นมา 3. การตั้งค่าหลังจากติดตั้ง ไปยังโฟลเดอร์ที่ติดตั้ง Oracle Database Gateway เช่น C:\app\tg\Administrator\product\12.2.0\tghome_1\dg4msql\admin เปิดไฟล์ initdg4msql.ora ตรวจสอบการตั้งค่าตรง  HS_FDS_CONNECT_INFO HS_FDS_CONNECT_INFO=[192.168.100.184]/1433/MSSQLSERVER กรณีมีแค่ instance เดียว  อาจจะละชื่อ instance ไว้ และระบุชื่อฐานข้อมูลได้เลย ดังตัวอย่าง HS_FDS_CONNECT_INFO=[192.168.100.184]:1433//FILMSDSQL 4. สร้าง database link เมื่อติดตั้ง Oracle Database Gateway เสร็จแล้ว ขั้นตอนต่อมาคือการสร้าง database link บนฐานข้อมูล Oracle เพื่อทำการเรียกดูข้อมูลบน MS SQL Server ผ่านทาง database link ที่สร้างขึ้นมา รูปแบบคำสั่งในการสร้าง Database Link เป็นดังนี้ CREATE PUBLIC DATABASE LINK DBLinkName CONNECT TO sa IDENTIFIED BY password USING ‘dg4msql’; DbLinkName คือ ชื่อของ database link sa คือชื่อของ user บน MS SQL Server (อาจจะเป็น user อื่นก็ได้) password คือ รหัสผ่านสำหรับ user บนฐานข้อมูล MS SQL Server 5. การเรียกดูข้อมูล สามารถเรียกดูข้อมูลผ่าน database link ที่สร้างขึ้นโดยใช้คำสั่ง sql เช่น select * from table@DBLinkName; เมื่อ table

Read More »

การใช้ grant และ grant with grant option ใน Oracle

การใช้คำสั่ง grant โดยทั่วไปเมื่อต้องการให้สิทธิ์สำหรับดำเนินการกับ object ใด ๆ ของ user หนึ่งให้กับอีก user หนึ่ง จะใช้คำสั่งคือ grant ตัวอย่าง เช่น user1 เป็นเจ้าของตารางชื่อ table01 ในฐานข้อมูลมี user ชื่อ user2 อยู่ในฐานข้อมูลเดียวกับ user1 ต้องการให้ user2 สามารถใช้คำสั่ง select ข้อมูลจากตาราง table01 ของ user1 บน user1 ดำเนินการโดยใช้คำสั่งในการให้สิทธิ์คือ grant select on user1.table01 to user2; หลังจากให้สิทธิ์แล้ว บน user2 สามารถใช้คำสั่งในการ select ข้อมูลจากตาราง table01 ของ user1 ได้ ตังตัวอย่างดังนี้ select * from user1.table01; //ต้องระบุ user คั่นด้วยจุด และตามด้วยชื่อตาราง การให้สิทธิ์ นอกจาก select แล้ว ยังมีสิทธิ์อื่น ๆ อีก เช่น insert, update, delete, execute ฯลฯ ตัวอย่างการให้สิทธิ์มากกว่าหนึ่งสิทธิ์ grant select, insert, update, delete on user1.table01 to user2; การใช้คำสั่ง grant with grant option รูปแบบการใช้คำสั่งคือ หลังคำสั่ง grant ปกติ ตามด้วย with grant option เช่น grant select on user1.table01 to user2 with grant option; ผลจากการใช้คำสั่ง with grant option จะมีผลให้ user ที่ได้รับสิทธิ์ สามารถให้สิทธิ์ที่ได้รับมา grant ต่อไปให้กับ user อื่นต่อได้นั่นเอง ต่อเนื่องจากตัวอย่างแรก มี user3 ในฐานข้อมูลเดียวกันกับ user1 และ user2 เมื่อ user1 ใช้คำสั่ง grant select on user1.table01 to user2 with grant option; มีผลทำให้ user2 สามารถ grant สิทธิ์ในการ select ให้กับ user อื่นต่อได้ เช่น grant select on user1.table01 to user3; user ที่ได้รับสิทธิ์ grant with option สามารถ ใช้ grant with option ต่อให้กับ user อื่นได้หรือไม่ ??? user ที่ได้รับการ grant ด้วยคำสั่ง with grant option สามารถ grant ให้ user อื่นด้วยคำสั่ง with grant option ด้วยเช่นกัน ตัวอย่าง เช่น มี user4 ในฐานข้อมูลเดียวกับ user1, user2, user3 ต่อเนื่องจากตัวอย่างก่อนหน้านี้ user3 สามารถใช้คำสั่ง with grant option ต่อให้กับ user4 ได้

Read More »

ตรวจสอบ Battery ด้วยคำสั่งเดียว (Windows OS)

เคยมั้ยครับอยากรู้ว่า Battery ของ Notebook ที่เราใช้งานอยู่ Design Capacity จากโรงงานเท่าไหร่ Full Charge Capacity ตอนนี้เหลือเท่าไหร่ ปกติก็ต้องหาโหลดโปรแกรม ติดตั้งและค่าที่ได้ออกมาบางทีก็ไม่ครบถ้วน เสี่ยงต่อมัลแวร์ ต้องเลือกแหล่งที่มาดีๆ สำหรับท่านที่ใช้งานระบบปฏิบัติการ Windows นั้น มีเครื่องมือที่ชื่อว่า powercfg ติดมาอยู่แล้วนะครับ จริงๆความสามารถของมันที่เกี่ยวกับการจัดการพลังงานของเครื่องมีเยอะมากครับ สามารถใช้คำสั่ง powercfg /? เพื่อเรียกดูความสามารถอื่นๆได้ โดยในบทความนี้ผมจะแนะนำวิธีการออก Battery report เพื่อตรวจสอบ Battery ของเราครับ เปิด cmd ขึ้นมา (พิมพ์ค้นหาว่า cmd ) พิมพ์คำสั่ง powercfg /batteryreport /output “c:\battery-report.html” เสร็จเรียบร้อยครับเราก็จะได้ไฟล์ battery-report.html อยู่ที่ c:\ สามารถเปลี่ยนชื่อไฟล์ หรือที่จัดเก็บได้ ไฟล์ดังกล่าวสามารถเปิดดูด้วย Browser ได้ทุกตัวครับ โดยในไฟล์ดังกล่าวจะประกอบไปด้วย

Read More »

พิมพ์ข้อความใน Excel แล้วให้มีเสียงพูด

วันนี้มาแนะนำเทคนิคง่าย ๆ ในการพิมพ์ลงในเซลให้มีเสียงอ่านอัตโนมัติ เราพิมพ์อะไรลงไปก็ให้มันอ่านคำนั้นออกมา มีวิธีการตั้งค่ายังไง มาดูกันค่ะ 1.เปิด Excel ขึ้นมา ไปที่เมนู File > More > Options ตั้งค่าดังรูปข้างต้น จากนั้นจะมี Icon ดังกล่าวแสดงที่แถบ Ribbon ดังรูป วิธีการใช้งานให้คลิกปุ่มข้างต้น 1 ครั้ง สังเกตว่าเมื่อคลิกคือเปิดการใช้งาน จะแสดงในลักษณะเหมือนถูกกด ถูกคลิก ถูกใช้งาน จากนั้นมาทดสอบพิมพ์ข้อความช่องไหนก็ได้ เช่นพิมพ์คำว่า Hello แล้วกดปุ่ม “Enter” มันก็จะอ่านว่า “Hello” พิมพ์ประโยค แล้วกดปุ่ม “Enter” ก็จะอ่านทั้งประโยค พิมพ์ตัวเลข เช่น 1 ก็จะอ่านว่า “one” ข้อจำกัดคือจะอ่านเฉพาะภาษาอังกฤษเท่านั้น!! หากไม่ใช้งาน Function ดังกล่าวแล้วก็กดที่ปุ่มเดิม เพื่อยกเลิกการใช้งานค่ะ อันนี้เป็นเทคนิคน้อย ๆ นะคะในการใช้ Excel การพิมพ์แล้วให้มีเสียงยังไง

Read More »