หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
บทความนี้แสดงวิธีการเพิ่มแหล่งข้อมูล 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
เปิดใช้งานการบันทึกเพิ่มเติม
เชื่อมต่อกับฐานข้อมูล Oracle ของคุณในฐานะผู้ใช้ที่มีสิทธิ์ DBA
เปิดใช้งานการบันทึกเพิ่มเติมที่ระดับฐานข้อมูล โดยเรียกใช้คําสั่ง 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;ตรวจสอบว่าเปิดใช้การบันทึกเพิ่มเติมแล้ว
SELECT SUPPLEMENTAL_LOG_DATA_MIN, SUPPLEMENTAL_LOG_DATA_ALL FROM V$DATABASE;แบบสอบถามควรส่งกลับ
YESสําหรับทั้งสองคอลัมน์
เปิดใช้งานโหมดบันทึกถาวร
เพื่อให้ CDC ทํางานได้อย่างถูกต้องฐานข้อมูลต้องอยู่ในโหมด ARCHIVELOG
ตรวจสอบโหมดบันทึกการเก็บถาวรปัจจุบัน:
SELECT LOG_MODE FROM V$DATABASE;หากยังไม่ได้อยู่ในโหมด 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 ของคุณ
คุณสามารถระบุเฉพาะชื่อโฮสต์ หรือรวมโฮสต์ พอร์ต และบริการ/SID ไว้ในค่าเดียว ตัวอย่างเช่น:
your-oracle-host.example.com:1521/ORCLภายใต้ ข้อมูลประจําตัวการเชื่อมต่อ ให้เลือกการเชื่อมต่อที่มีอยู่หรือสร้างการเชื่อมต่อใหม่:
- หากต้องการสร้างการเชื่อมต่อใหม่ ให้เลือก การเชื่อมต่อใหม่ แล้วป้อน:
- ชื่อการเชื่อมต่อ: ชื่อสําหรับการเชื่อมต่อนี้
- ชื่อผู้ใช้: ผู้ใช้ฐานข้อมูล Oracle ที่มีสิทธิ์ CDC
- รหัสผ่าน: รหัสผ่านสําหรับผู้ใช้ฐานข้อมูล
- หากต้องการสร้างการเชื่อมต่อใหม่ ให้เลือก การเชื่อมต่อใหม่ แล้วป้อน:
เลือก เชื่อมต่อ
หลังจากสร้างการเชื่อมต่อแล้ว ให้เลือกตารางที่จะบันทึกโดยเลือก ตารางทั้งหมด หรือ ป้อนชื่อตาราง ถ้าคุณเลือก ป้อนชื่อตาราง ให้ป้อนรายการที่คั่นด้วยจุลภาคของตัวระบุตารางแบบเต็ม (
schemaName.tableName) เพื่อให้ตารางฐานข้อมูล Oracle ตรวจสอบคุณสามารถขยาย การตั้งค่าขั้นสูง เพื่อเข้าถึงตัวเลือกการกําหนดค่าเพิ่มเติมสําหรับแหล่งข้อมูล Oracle Database CDC:
-
โหมดล็อคสแนปช็อต: ควบคุมว่าขั้วต่อจะล็อคตารางหรือไม่และนานแค่ไหน การล็อกตารางป้องกันไม่ให้การดําเนินการตารางบางชนิดเกิดขึ้นในขณะที่ตัวเชื่อมต่อทําสแนปช็อต
-
Shared(ค่าเริ่มต้น): เปิดใช้งานการเข้าถึงตารางพร้อมกัน แต่ป้องกันไม่ให้เซสชันใดๆ ได้รับการล็อกตารางแบบเอกสิทธิ์เฉพาะ ตัวเชื่อมต่อได้รับการล็อกระดับ ROW SHARE ในขณะที่จับสคีมาตาราง -
None: ป้องกันไม่ให้ตัวเชื่อมต่อได้รับการล็อคตารางใดๆ ระหว่างสแนปช็อต ใช้การตั้งค่านี้เฉพาะในกรณีที่ไม่มีการเปลี่ยนแปลง Schema เกิดขึ้นระหว่างการสร้างสแนปช็อต
-
-
โหมดการจัดการทศนิยม: ระบุวิธีที่ตัวเชื่อมต่อควรจัดการกับค่าทศนิยมสําหรับ
NUMBER,DECIMAL, และNUMERICคอลัมน์ คุณสามารถตั้งค่าตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้:-
Precise(ค่าเริ่มต้น): แสดงค่าอย่างแม่นยําโดยใช้java.math.BigDecimalค่าที่แสดงในเหตุการณ์การเปลี่ยนแปลงในรูปแบบไบนารี -
Double: แสดงค่าโดยใช้ค่าสองเท่า การใช้ค่าสองเท่านั้นง่ายกว่า แต่อาจส่งผลให้สูญเสียความแม่นยํา -
String: เข้ารหัสค่าเป็นสตริงที่จัดรูปแบบ การใช้ตัวเลือกนี้Stringง่ายต่อการบริโภค แต่ส่งผลให้สูญเสียข้อมูลความหมายเกี่ยวกับประเภทจริง
-
-
โหมดสแนปช็อต: ระบุโหมดที่ตัวเชื่อมต่อใช้เพื่อถ่ายภาพสแนปช็อตของตารางที่จับภาพ
-
Initial(ค่าเริ่มต้น): สแนปช็อตประกอบด้วยโครงสร้างและข้อมูลของตารางที่บันทึกไว้ ระบุค่านี้เพื่อเติมข้อมูลในหัวข้อด้วยการแสดงข้อมูลที่สมบูรณ์จากตารางที่บันทึกไว้ ถ้าสแนปช็อตเสร็จสมบูรณ์ ตัวเชื่อมต่อจะไม่เรียกใช้สแนปช็อตอีกครั้งในการเริ่มต้นครั้งต่อไป -
InitialOnly: สแนปช็อตประกอบด้วยโครงสร้างและข้อมูลของตารางที่บันทึกไว้ ตัวเชื่อมต่อจะทําสแนปช็อตเริ่มต้นแล้วหยุดลงโดยไม่ต้องประมวลผลการเปลี่ยนแปลงใดๆ ในภายหลัง -
NoData: สแนปช็อตมีเฉพาะโครงสร้างของตารางที่บันทึกเท่านั้น ระบุค่านี้ถ้าคุณต้องการให้ตัวเชื่อมต่อบันทึกข้อมูลสําหรับการเปลี่ยนแปลงที่เกิดขึ้นหลังจากสแนปช็อตเท่านั้น
-
-
โหมดล็อคสแนปช็อต: ควบคุมว่าขั้วต่อจะล็อคตารางหรือไม่และนานแค่ไหน การล็อกตารางป้องกันไม่ให้การดําเนินการตารางบางชนิดเกิดขึ้นในขณะที่ตัวเชื่อมต่อทําสแนปช็อต
เลือก ถัดไป เพื่อดำเนินการต่อ
ใน รีวิว + เชื่อมต่อ ให้ตรวจสอบการตั้งค่า
เลือก เพิ่ม (สตรีมเหตุการณ์) หรือ เชื่อมต่อ (ฮับReal-Time)
ดูเหตุการณ์ที่อัปเดตแล้ว
คุณสามารถดูแหล่งข้อมูล Oracle Database CDC ที่เพิ่มลงในสตรีมเหตุการณ์ของคุณ ในโหมดแก้ไข
เมื่อต้องการใช้แหล่งข้อมูล Oracle Database CDC ที่เพิ่มเข้ามาใหม่ ให้เลือก เผยแพร่ หลังจากที่คุณทําตามขั้นตอนเหล่านี้เสร็จแล้ว แหล่งข้อมูล Oracle Database CDC ของคุณจะพร้อมใช้งานสําหรับการแสดงภาพในมุมมองสด
เนื้อหาที่เกี่ยวข้อง
ตัวเชื่อมต่ออื่นๆ:
- สตรีมข้อมูล Amazon Kinesis
- Azure Cosmos DB
- <ค 0>Azure Event Hubs
- Azure Service Bus
- <ค 0>Azure IoT Hub
- Azure SQL Database การบันทึกข้อมูลการเปลี่ยนแปลง (CDC)
- บรรจบกัน Kafka
- ปลายทางแบบกําหนดเอง
- ผับ/ย่อย Google Cloud
- ฐานข้อมูล MySQL CDC
- ฐานข้อมูล PostgreSQL CDC
- ข้อมูลตัวอย่าง
- เหตุการณ์ Azure Blob Storage
- Fabric เหตุการณ์พื้นที่ทํางาน