เพิ่มแหล่งข้อมูล Oracle Database CDC ไปยังสตรีมเหตุการณ์ (พรีวิว)

บทความนี้แสดงวิธีการเพิ่มแหล่งข้อมูล Oracle Database Change Data Capture (CDC) ไปยังสตรีมเหตุการณ์

ตัวเชื่อมต่อแหล่งที่มาของ Oracle Database CDC สําหรับสตรีมเหตุการณ์ Microsoft Fabric ช่วยให้คุณสามารถจับภาพสแนปช็อตของข้อมูลปัจจุบันในฐานข้อมูล Oracle ได้ ตัวเชื่อมต่อจะตรวจสอบและบันทึกการเปลี่ยนแปลงระดับแถวในอนาคตใดก็ตามในข้อมูลนี้ หลังจากบันทึกการเปลี่ยนแปลงในสตรีมเหตุการณ์แล้ว คุณสามารถประมวลผลข้อมูล CDC นี้แบบเรียลไทม์และส่งไปยังปลายทางต่างๆ ภายใน Fabric เพื่อประมวลผลหรือวิเคราะห์เพิ่มเติม ตัวเชื่อมต่อรองรับฐานข้อมูล Oracle ไม่ว่าจะอยู่ในองค์กรหรือในระบบคลาวด์

ข้อกำหนดเบื้องต้น

  • การเข้าถึงพื้นที่ทํางานในโหมดสิทธิ์การใช้งานความจุ Fabric หรือโหมดสิทธิ์การใช้งาน Trial ที่มีสิทธิ์ Contributor หรือสูงกว่า
  • เซิร์ฟเวอร์ฐานข้อมูล Oracle ที่ทํางานอยู่ (ในองค์กรหรือโฮสต์บนคลาวด์)
  • ฐานข้อมูล Oracle ของคุณควรสามารถเข้าถึงได้แบบสาธารณะ และไม่ใช่หลังไฟร์วอลล์หรือรักษาความปลอดภัยในเครือข่ายเสมือน ถ้าอยู่ในเครือข่ายที่มีการป้องกัน ให้เชื่อมต่อโดยใช้การแทรกเครือข่ายเสมือนของตัวเชื่อมต่อ Eventstream
  • เปิดใช้งาน Oracle LogMiner บนฐานข้อมูลของคุณสําหรับการจับภาพ CDC
  • ผู้ใช้ฐานข้อมูลที่มีสิทธิ์ที่จําเป็นสําหรับการดําเนินงานของ CDC

เวอร์ชัน Oracle ที่รองรับ

ตัวเชื่อมต่อ Oracle Database CDC สนับสนุนเวอร์ชันฐานข้อมูล Oracle ต่อไปนี้:

  • ฐานข้อมูล Oracle 12c (12.1) และใหม่กว่า
  • ฐานข้อมูล Oracle 19c
  • ฐานข้อมูล Oracle 21c
  • ฐานข้อมูลอิสระของ Oracle

เปิดใช้งาน CDC ในฐานข้อมูล Oracle ของคุณ

ในการบันทึกข้อมูลการเปลี่ยนแปลงจาก Oracle คุณต้องเปิดใช้งานการบันทึกเพิ่มเติมและกําหนดค่า LogMiner

เปิดใช้งานการบันทึกเพิ่มเติม

  1. เชื่อมต่อกับฐานข้อมูล Oracle ของคุณในฐานะผู้ใช้ที่มีสิทธิ์ DBA

  2. เปิดใช้งานการบันทึกเพิ่มเติมที่ระดับฐานข้อมูล โดยเรียกใช้คําสั่ง SQL ต่อไปนี้:

    -- Enable minimal supplemental logging at the database level
    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
    
    -- Enable supplemental logging for all columns (recommended for CDC)
    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
    
  3. ตรวจสอบว่าเปิดใช้การบันทึกเพิ่มเติมแล้ว

    SELECT SUPPLEMENTAL_LOG_DATA_MIN, SUPPLEMENTAL_LOG_DATA_ALL FROM V$DATABASE;
    

    แบบสอบถามควรส่งกลับ YES สําหรับทั้งสองคอลัมน์

เปิดใช้งานโหมดบันทึกถาวร

เพื่อให้ CDC ทํางานได้อย่างถูกต้องฐานข้อมูลต้องอยู่ในโหมด ARCHIVELOG

  1. ตรวจสอบโหมดบันทึกการเก็บถาวรปัจจุบัน:

    SELECT LOG_MODE FROM V$DATABASE;
    
  2. หากยังไม่ได้อยู่ในโหมด ARCHIVELOG ให้เปิดใช้งาน:

    -- Shut down the database
    SHUTDOWN IMMEDIATE;
    
    -- Start in mount mode
    STARTUP MOUNT;
    
    -- Enable archivelog mode
    ALTER DATABASE ARCHIVELOG;
    
    -- Open the database
    ALTER DATABASE OPEN;
    

สร้างผู้ใช้ CDC ด้วยสิทธิ์ที่จําเป็น

สร้างผู้ใช้เฉพาะสําหรับตัวเชื่อมต่อ CDC ด้วยสิทธิ์ที่จําเป็น:

-- Create a user for CDC
CREATE USER fabric_cdc IDENTIFIED BY <your_password>;

-- Grant basic privileges
GRANT CREATE SESSION TO fabric_cdc;
GRANT SELECT ON V_$DATABASE TO fabric_cdc;
GRANT SELECT ON V_$LOG TO fabric_cdc;
GRANT SELECT ON V_$LOGFILE TO fabric_cdc;
GRANT SELECT ON V_$ARCHIVED_LOG TO fabric_cdc;
GRANT SELECT ON V_$ARCHIVE_DEST_STATUS TO fabric_cdc;

-- Grant LogMiner privileges
GRANT EXECUTE ON DBMS_LOGMNR TO fabric_cdc;
GRANT EXECUTE ON DBMS_LOGMNR_D TO fabric_cdc;
GRANT SELECT ANY TRANSACTION TO fabric_cdc;
GRANT LOGMINING TO fabric_cdc;

-- Grant SELECT on tables you want to capture
GRANT SELECT ON <schema>.<table_name> TO fabric_cdc;

แทนที่ <your_password>, <schema>, และ <table_name> ด้วยค่าจริงของคุณ

เปิดใช้ตัวช่วยสร้างการเลือกแหล่งข้อมูล

หากคุณยังไม่ได้เพิ่มแหล่งข้อมูลใดๆ ลงในสตรีมเหตุการณ์ของคุณ ให้เลือกไทล์ เชื่อมต่อแหล่งข้อมูล คุณยังสามารถเลือก เพิ่มแหล่งข้อมูล>Connect บนริบบิ้นได้อีกด้วย

สกรีนช็อตที่แสดงการเลือกไทล์สําหรับการใช้แหล่งข้อมูลภายนอก

หากคุณกําลังเพิ่มแหล่งที่มาไปยังสตรีมเหตุการณ์ที่เผยแพร่แล้ว ให้เปลี่ยนเป็นโหมดแก้ไข บน Ribbon ให้เลือก เพิ่มแหล่งข้อมูล Connect>

สกรีนช็อตที่แสดงการเลือกสําหรับการเพิ่มแหล่งข้อมูลภายนอก

บนหน้า เลือกแหล่งข้อมูล ให้ค้นหาและเลือก เชื่อมต่อ บนไทล์ Oracle DB (CDC)

สกรีนช็อตที่แสดงการเลือก Oracle Database (CDC) เป็นชนิดแหล่งข้อมูลในตัวช่วยสร้าง รับเหตุการณ์

กําหนดค่าและเชื่อมต่อกับ Oracle Database CDC

  1. บนหน้า เชื่อมต่อ ใน เซิร์ฟเวอร์ ให้ป้อนตําแหน่งข้อมูล Oracle ของคุณ

    คุณสามารถระบุเฉพาะชื่อโฮสต์ หรือรวมโฮสต์ พอร์ต และบริการ/SID ไว้ในค่าเดียว ตัวอย่างเช่น: your-oracle-host.example.com:1521/ORCL

  2. ภายใต้ ข้อมูลประจําตัวการเชื่อมต่อ ให้เลือกการเชื่อมต่อที่มีอยู่หรือสร้างการเชื่อมต่อใหม่:

    • หากต้องการสร้างการเชื่อมต่อใหม่ ให้เลือก การเชื่อมต่อใหม่ แล้วป้อน:
      • ชื่อการเชื่อมต่อ: ชื่อสําหรับการเชื่อมต่อนี้
      • ชื่อผู้ใช้: ผู้ใช้ฐานข้อมูล Oracle ที่มีสิทธิ์ CDC
      • รหัสผ่าน: รหัสผ่านสําหรับผู้ใช้ฐานข้อมูล
  3. เลือก เชื่อมต่อ

    สกรีนช็อตของหน้าการเชื่อมต่อใหม่

  4. หลังจากสร้างการเชื่อมต่อแล้ว ให้เลือกตารางที่จะบันทึกโดยเลือก ตารางทั้งหมด หรือ ป้อนชื่อตาราง ถ้าคุณเลือก ป้อนชื่อตาราง ให้ป้อนรายการที่คั่นด้วยจุลภาคของตัวระบุตารางแบบเต็ม (schemaName.tableName) เพื่อให้ตารางฐานข้อมูล Oracle ตรวจสอบ

  5. คุณสามารถขยาย การตั้งค่าขั้นสูง เพื่อเข้าถึงตัวเลือกการกําหนดค่าเพิ่มเติมสําหรับแหล่งข้อมูล Oracle Database CDC:

    • โหมดล็อคสแนปช็อต: ควบคุมว่าขั้วต่อจะล็อคตารางหรือไม่และนานแค่ไหน การล็อกตารางป้องกันไม่ให้การดําเนินการตารางบางชนิดเกิดขึ้นในขณะที่ตัวเชื่อมต่อทําสแนปช็อต
      • Shared (ค่าเริ่มต้น): เปิดใช้งานการเข้าถึงตารางพร้อมกัน แต่ป้องกันไม่ให้เซสชันใดๆ ได้รับการล็อกตารางแบบเอกสิทธิ์เฉพาะ ตัวเชื่อมต่อได้รับการล็อกระดับ ROW SHARE ในขณะที่จับสคีมาตาราง
      • None: ป้องกันไม่ให้ตัวเชื่อมต่อได้รับการล็อคตารางใดๆ ระหว่างสแนปช็อต ใช้การตั้งค่านี้เฉพาะในกรณีที่ไม่มีการเปลี่ยนแปลง Schema เกิดขึ้นระหว่างการสร้างสแนปช็อต
    • โหมดการจัดการทศนิยม: ระบุวิธีที่ตัวเชื่อมต่อควรจัดการกับค่าทศนิยมสําหรับ NUMBER, DECIMAL, และ NUMERIC คอลัมน์ คุณสามารถตั้งค่าตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้:
      • Precise (ค่าเริ่มต้น): แสดงค่าอย่างแม่นยําโดยใช้ java.math.BigDecimal ค่าที่แสดงในเหตุการณ์การเปลี่ยนแปลงในรูปแบบไบนารี
      • Double: แสดงค่าโดยใช้ค่าสองเท่า การใช้ค่าสองเท่านั้นง่ายกว่า แต่อาจส่งผลให้สูญเสียความแม่นยํา
      • String: เข้ารหัสค่าเป็นสตริงที่จัดรูปแบบ การใช้ตัวเลือกนี้ String ง่ายต่อการบริโภค แต่ส่งผลให้สูญเสียข้อมูลความหมายเกี่ยวกับประเภทจริง
    • โหมดสแนปช็อต: ระบุโหมดที่ตัวเชื่อมต่อใช้เพื่อถ่ายภาพสแนปช็อตของตารางที่จับภาพ
      • Initial (ค่าเริ่มต้น): สแนปช็อตประกอบด้วยโครงสร้างและข้อมูลของตารางที่บันทึกไว้ ระบุค่านี้เพื่อเติมข้อมูลในหัวข้อด้วยการแสดงข้อมูลที่สมบูรณ์จากตารางที่บันทึกไว้ ถ้าสแนปช็อตเสร็จสมบูรณ์ ตัวเชื่อมต่อจะไม่เรียกใช้สแนปช็อตอีกครั้งในการเริ่มต้นครั้งต่อไป
      • InitialOnly: สแนปช็อตประกอบด้วยโครงสร้างและข้อมูลของตารางที่บันทึกไว้ ตัวเชื่อมต่อจะทําสแนปช็อตเริ่มต้นแล้วหยุดลงโดยไม่ต้องประมวลผลการเปลี่ยนแปลงใดๆ ในภายหลัง
      • NoData: สแนปช็อตมีเฉพาะโครงสร้างของตารางที่บันทึกเท่านั้น ระบุค่านี้ถ้าคุณต้องการให้ตัวเชื่อมต่อบันทึกข้อมูลสําหรับการเปลี่ยนแปลงที่เกิดขึ้นหลังจากสแนปช็อตเท่านั้น
  6. เลือก ถัดไป เพื่อดำเนินการต่อ

    สกรีนช็อตของหน้า การตั้งค่าขั้นสูง แหล่งที่มาของ Oracle CDC

  7. ใน รีวิว + เชื่อมต่อ ให้ตรวจสอบการตั้งค่า

  8. เลือก เพิ่ม (สตรีมเหตุการณ์) หรือ เชื่อมต่อ (ฮับReal-Time)

    สกรีนช็อตของหน้า Review + connect แหล่งที่มาของ Oracle CDC

ดูเหตุการณ์ที่อัปเดตแล้ว

  1. คุณสามารถดูแหล่งข้อมูล Oracle Database CDC ที่เพิ่มลงในสตรีมเหตุการณ์ของคุณ ในโหมดแก้ไข

    สกรีนช็อตของแหล่งที่มาของ Oracle Database CDC ที่สตรีมมิ่งในมุมมองแก้ไข

  2. เมื่อต้องการใช้แหล่งข้อมูล Oracle Database CDC ที่เพิ่มเข้ามาใหม่ ให้เลือก เผยแพร่ หลังจากที่คุณทําตามขั้นตอนเหล่านี้เสร็จแล้ว แหล่งข้อมูล Oracle Database CDC ของคุณจะพร้อมใช้งานสําหรับการแสดงภาพในมุมมองสด

    สกรีนช็อตของการสตรีมแหล่งที่มาของ Oracle Database CDC ในมุมมองสด

ตัวเชื่อมต่ออื่นๆ: