กําหนดค่าฐานข้อมูล Oracle ในกิจกรรมการคัดลอก
บทความนี้สรุปวิธีการใช้กิจกรรมการคัดลอกในไปป์ไลน์ข้อมูลเพื่อคัดลอกข้อมูลจากและไปยังฐานข้อมูล Oracle
การกําหนดค่าที่ได้รับการสนับสนุน
สําหรับการกําหนดค่าของแต่ละแท็บภายใต้กิจกรรมการคัดลอก ให้ไปที่ส่วนต่อไปนี้ตามลําดับ
ทั่วไป
โปรดดูคําแนะนําการตั้งค่าทั่วไปเพื่อกําหนดค่าแท็บ การตั้งค่าทั่วไป
แหล่งที่มา
คุณสมบัติต่อไปนี้ได้รับการสนับสนุนสําหรับฐานข้อมูล Oracle ภายใต้แท็บ แหล่งข้อมูล ของกิจกรรมการคัดลอก
จําเป็นต้องมีคุณสมบัติต่อไปนี้:
- การเชื่อมต่อ: เลือกการเชื่อมต่อฐานข้อมูล Oracle จากรายการการเชื่อมต่อ ถ้าไม่มีการเชื่อมต่ออยู่ ให้สร้างการเชื่อมต่อฐานข้อมูล Oracle ใหม่ โดยการเลือก เพิ่มเติม ที่ด้านล่างของรายการการเชื่อมต่อ
- ใช้คิวรี: เลือกจากตารางหรือคิวรี
ถ้าคุณเลือก ตาราง:
ตาราง: ระบุชื่อของตารางในฐานข้อมูล Oracle เพื่ออ่านข้อมูล เลือกตารางจากรายการดรอปดาวน์ หรือเลือก ป้อน ด้วยตนเอง เพื่อป้อนชื่อสคีมาและชื่อตาราง
ถ้าคุณเลือก คิวรี:
คิวรี: ระบุคิวรี SQL แบบกําหนดเองเพื่ออ่านข้อมูล ตัวอย่างเช่น:
SELECT * FROM MyTable
เมื่อคุณเปิดใช้งานการโหลดพาร์ติชัน คุณจําเป็นต้อง hook ใดๆสอดคล้องกันภายในพารามิเตอร์พาร์ติชันในแบบสอบถามของคุณ ตัวอย่างเช่น ดูส่วน สําเนาคู่ขนานจากฐานข้อมูล Oracle
ภายใต้ ขั้นสูง คุณสามารถระบุเขตข้อมูลต่อไปนี้:
ตัวเลือกพาร์ติชัน: ระบุตัวเลือกการแบ่งพาร์ติชันข้อมูลที่ใช้ในการโหลดข้อมูลจากฐานข้อมูล Oracle เมื่อเปิดใช้งานตัวเลือกพาร์ติชัน (นั่นคือ ไม่ใช่ ไม่มี) ระดับของการทํางานแบบขนานเพื่อโหลดข้อมูลจากฐานข้อมูล Oracle พร้อมกันจะได้รับการควบคุมโดย ระดับของการคัดลอกแบบ ขนานในแท็บการตั้งค่ากิจกรรมการคัดลอก
ถ้าคุณเลือก ไม่มี คุณเลือกที่จะไม่ใช้พาร์ติชัน
หากคุณเลือก พาร์ติชันจริงของตาราง:
ชื่อพาร์ติชัน: ระบุรายการของพาร์ติชันจริงที่จําเป็นต้องคัดลอก
ถ้าคุณใช้คิวรีเพื่อดึงข้อมูลต้นทาง แล้ว hook
?DfTabularPartitionName
ในคําสั่ง WHERE ตัวอย่างเช่น ดูส่วน สําเนาคู่ขนานจากฐานข้อมูล Oracle
หากคุณเลือก ช่วงไดนามิก:
ชื่อคอลัมน์พาร์ติชัน: ระบุชื่อของคอลัมน์ต้นทางใน ชนิด จํานวนเต็มที่จะใช้โดยช่วงการแบ่งพาร์ติชันสําหรับสําเนาแบบขนาน ถ้าไม่ได้ระบุ คีย์หลักของตารางจะถูกตรวจพบโดยอัตโนมัติ และใช้เป็นคอลัมน์พาร์ติชัน
ถ้าคุณใช้คิวรีเพื่อดึงข้อมูลต้นทาง แล้ว hook
?DfRangePartitionColumnName
ในคําสั่ง WHERE ตัวอย่างเช่น ดูส่วน สําเนาคู่ขนานจากฐานข้อมูล Oracleพาร์ติชันที่ผูกด้านบน: ระบุค่าสูงสุดของคอลัมน์พาร์ติชันเพื่อคัดลอกข้อมูลออก
ถ้าคุณใช้คิวรีเพื่อดึงข้อมูลต้นทาง แล้ว hook
?DfRangePartitionUpbound
ในคําสั่ง WHERE ตัวอย่างเช่น ดูส่วนสําเนาคู่ขนานจาก สําเนาคู่ขนานจากฐานข้อมูล Oracleการจัดการพาร์ติชันที่ต่ํากว่า: ระบุค่าต่ําสุดของคอลัมน์พาร์ติชันเพื่อคัดลอกข้อมูล
ถ้าคุณใช้คิวรีเพื่อดึงข้อมูลต้นทาง แล้ว hook
?DfRangePartitionLowbound
ในคําสั่ง WHERE ตัวอย่างเช่น ดูส่วนสําเนาคู่ขนานจาก สําเนาคู่ขนานจากฐานข้อมูล Oracle
หมดเวลาคิวรี (นาที): ระบุการหมดเวลาสําหรับการดําเนินการคําสั่งแบบสอบถาม ค่าเริ่มต้นคือ 120 นาที ถ้าพารามิเตอร์ถูกตั้งค่าสําหรับคุณสมบัตินี้ ค่าที่ได้รับอนุญาตคือค่าช่วงเวลา เช่น "02:00:00" (120 นาที)
คอลัมน์เพิ่มเติม: เพิ่มคอลัมน์ข้อมูลเพิ่มเติมเพื่อจัดเก็บเส้นทางสัมพัทธ์หรือค่าคงที่ของไฟล์ต้นฉบับ นิพจน์ได้รับการสนับสนุนสําหรับอย่างหลัง
ปลายทาง
คุณสมบัติต่อไปนี้ได้รับการสนับสนุนสําหรับฐานข้อมูล Oracle ภายใต้แท็บ ปลายทาง ของกิจกรรมการคัดลอก
จําเป็นต้องมีคุณสมบัติต่อไปนี้:
- การเชื่อมต่อ: เลือกการเชื่อมต่อฐานข้อมูล Oracle จากรายการการเชื่อมต่อ หากไม่มีการเชื่อมต่อ ให้สร้างการเชื่อมต่อฐานข้อมูล Oracle ใหม่โดยการเลือก เพิ่มเติม ที่ด้านล่างของรายการการเชื่อมต่อ
- ตาราง: เลือกตารางในฐานข้อมูลของคุณจากรายการดรอปดาวน์ หรือตรวจสอบ ป้อนด้วยตนเอง เพื่อใส่ schema และชื่อตาราง
ภายใต้ ขั้นสูง คุณสามารถระบุเขตข้อมูลต่อไปนี้:
- สคริปต์ก่อนคัดลอก: ระบุคิวรี SQL สําหรับกิจกรรมการคัดลอกเพื่อดําเนินการก่อนที่คุณจะเขียนข้อมูลลงในฐานข้อมูล Oracle ในการเรียกใช้แต่ละครั้ง คุณสามารถใช้คุณสมบัตินี้ในการล้างข้อมูลที่โหลดไว้ล่วงหน้า
- เขียนการหมดเวลาของชุดงาน: เวลารอสําหรับการดําเนินการแทรกชุดงานให้เสร็จสมบูรณ์ก่อนที่จะหมดเวลา ค่าที่อนุญาตคือช่วงเวลา ตัวอย่างคือ 00:30:00 (30 นาที)
- เขียนขนาดของชุดงาน: ระบุจํานวนแถวที่จะแทรกลงในตารางฐานข้อมูล Oracle ต่อชุดงาน ค่าที่อนุญาตคือจํานวนเต็ม (จํานวนแถว) ค่าเริ่มต้นคือ 10,000
- การเชื่อมต่อพร้อมกันสูงสุด: ขีดจํากัดสูงสุดของการเชื่อมต่อพร้อมกันที่สร้างไปยังที่เก็บข้อมูลในระหว่างการเรียกใช้กิจกรรม ระบุค่าเมื่อคุณต้องการจํากัดการเชื่อมต่อที่เกิดขึ้นพร้อมกันเท่านั้น
การแม็ป
สําหรับ การกําหนดค่าแท็บการแมป ไปที่ กําหนดค่าการแมปของคุณภายใต้แท็บการแมป
การตั้งค่า
สําหรับ การกําหนดค่าแท็บ การตั้งค่า ให้ดู กําหนดการตั้งค่าอื่น ๆ ของคุณภายใต้แท็บ การตั้งค่า
สําเนาแบบขนานจากฐานข้อมูล Oracle
ตัวเชื่อมต่อฐานข้อมูล Oracle มีพาร์ติชันข้อมูลที่มีอยู่ภายในเพื่อคัดลอกข้อมูลจากฐานข้อมูล Oracle แบบขนาน คุณสามารถค้นหาตัวเลือกการแบ่งพาร์ติชันข้อมูลบนแท็บ แหล่งข้อมูล ของกิจกรรมการคัดลอกได้
เมื่อคุณเปิดใช้งานสําเนาพาร์ติชัน บริการจะเรียกใช้คิวรีแบบขนานกับแหล่งฐานข้อมูล Oracle ของคุณเพื่อโหลดข้อมูลตามพาร์ติชัน ระดับขนานจะถูกควบคุมโดย การตั้งค่า ระดับของการคัดลอกแบบ ขนาน ในแท็บ การตั้งค่ากิจกรรมการคัดลอก ตัวอย่างเช่น ถ้าคุณตั้งค่า องศาของการคัดลอกแบบ ขนานเป็นสี่ แบบบริการพร้อมกันจะสร้างและเรียกใช้คิวรีสี่รายการโดยยึดตามตัวเลือกและการตั้งค่าพาร์ติชันที่ระบุ ของคุณ และแต่ละคิวรีจะดึงข้อมูลบางส่วนจากฐานข้อมูล Oracle ของคุณ
ระบบจะแนะนําให้คุณเปิดใช้งานสําเนาแบบขนานกับการแบ่งพาร์ติชันข้อมูลโดยเฉพาะอย่างยิ่งเมื่อคุณโหลดข้อมูลจํานวนมากจากฐานข้อมูล Oracle ของคุณ ต่อไปนี้คือการกําหนดค่าที่แนะนําสําหรับสถานการณ์ที่แตกต่างกัน เมื่อคัดลอกข้อมูลลงในที่เก็บข้อมูลตามไฟล์ ขอแนะนําให้เขียนไปยังโฟลเดอร์เป็นหลายไฟล์ (ระบุชื่อโฟลเดอร์เท่านั้น) ซึ่งในกรณีนี้ประสิทธิภาพการทํางานจะดีกว่าการเขียนไปยังไฟล์เดียว
สถานการณ์สมมติ | การตั้งค่าที่แนะนํา |
---|---|
โหลดทั้งหมดจากตารางขนาดใหญ่ ที่มีพาร์ติชันจริง | ตัวเลือกพาร์ติชัน: พาร์ติชันจริงของตาราง ในระหว่างการดําเนินการ บริการจะตรวจหาพาร์ติชันจริงโดยอัตโนมัติ และคัดลอกข้อมูลตามพาร์ติชัน |
โหลดทั้งหมดจากตารางขนาดใหญ่ โดยไม่มีพาร์ติชันจริง ในขณะที่มีคอลัมน์จํานวนเต็มสําหรับการแบ่งพาร์ติชันข้อมูล | ตัวเลือกพาร์ติชัน: พาร์ติชันช่วงไดนามิก คอลัมน์พาร์ติชัน: ระบุคอลัมน์ที่ใช้ในการแบ่งพาร์ติชันข้อมูล ถ้าไม่ได้ระบุ จะใช้คอลัมน์คีย์หลัก |
โหลดข้อมูลจํานวนมากโดยใช้คิวรีแบบกําหนดเองที่มีพาร์ติชันจริง | ตัวเลือกพาร์ติชัน: พาร์ติชันจริงของตาราง คิวรี: SELECT * FROM <TABLENAME> PARTITION("?DfTabularPartitionName") WHERE <your_additional_where_clause> ชื่อพาร์ติชัน: ระบุชื่อพาร์ติชันเพื่อคัดลอกข้อมูล ถ้าไม่ได้ระบุ บริการจะตรวจหาพาร์ติชันจริงในตารางที่คุณระบุในข้อมูลฐานข้อมูล Oracle โดยอัตโนมัติ ในระหว่างการดําเนินการ บริการจะ ?DfTabularPartitionName แทนที่ด้วยชื่อพาร์ติชันจริง และส่งไปยังฐานข้อมูล Oracle |
โหลดข้อมูลจํานวนมากโดยใช้คิวรีแบบกําหนดเอง โดยไม่มีพาร์ติชันจริง ในขณะที่มีคอลัมน์จํานวนเต็มสําหรับการแบ่งพาร์ติชันข้อมูล | ตัวเลือกพาร์ติชัน: พาร์ติชันช่วงไดนามิก คิวรี: SELECT * FROM <TABLENAME> WHERE ?DfRangePartitionColumnName <= ?DfRangePartitionUpbound AND ?DfRangePartitionColumnName >= ?DfRangePartitionLowbound AND <your_additional_where_clause> คอลัมน์พาร์ติชัน: ระบุคอลัมน์ที่ใช้ในการแบ่งพาร์ติชันข้อมูล คุณสามารถแบ่งพาร์ติชันกับคอลัมน์ที่มีชนิดข้อมูลจํานวนเต็มได้ พาร์ติชันที่ผูกด้านบน และ ขอบล่างของพาร์ติชัน: ระบุว่าคุณต้องการกรองกับคอลัมน์พาร์ติชันเพื่อดึงข้อมูลระหว่างช่วงล่างและด้านบนเท่านั้น ในระหว่างการดําเนินการ บริการจะแทนที่ ?DfRangePartitionColumnName , ?DfRangePartitionUpbound และ ?DfRangePartitionLowbound ด้วยชื่อคอลัมน์จริงและช่วงค่าสําหรับแต่ละพาร์ติชัน และส่งไปยังฐานข้อมูล Oracle ตัวอย่างเช่น ถ้าคอลัมน์พาร์ติชัน "ID" ของคุณถูกตั้งค่าด้วยส่วนที่ผูกต่ํากว่าเป็น 1 และขอบด้านบนเป็น 80 พร้อมกับการคัดลอกคู่ขนานที่ตั้งค่าเป็น 4 บริการจะดึงข้อมูลโดยพาร์ติชัน 4 รายการ ID ของพวกเขาอยู่ระหว่าง [1,20], [21, 40], [41, 60] และ [61, 80], ตามลําดับ' |
เคล็ดลับ
เมื่อคัดลอกข้อมูลจากตารางที่ไม่ใช่พาร์ติชัน คุณสามารถใช้ตัวเลือกพาร์ติชัน "ช่วงไดนามิก" เพื่อพาร์ติชันกับคอลัมน์จํานวนเต็มได้ หากข้อมูลต้นทางของคุณไม่มีคอลัมน์ประเภทดังกล่าว คุณสามารถใช้ประโยชน์จาก ฟังก์ชัน ORA_HASH ในคิวรีต้นทางเพื่อสร้างคอลัมน์และใช้เป็นคอลัมน์พาร์ติชัน
ข้อมูลสรุปของตาราง
ตารางต่อไปนี้ประกอบด้วยข้อมูลเพิ่มเติมเกี่ยวกับกิจกรรมการคัดลอกในฐานข้อมูล Oracle
ข้อมูลต้นทาง
ชื่อ | รายละเอียด | ค่า | ต้องมี | คุณสมบัติสคริปต์ JSON |
---|---|---|---|---|
การเชื่อมต่อ | การเชื่อมต่อของคุณไปยังที่เก็บข้อมูลต้นทาง | <การเชื่อมต่อฐานข้อมูล Oracle ของคุณ> | ใช่ | การเชื่อมต่อ |
ใช้คิวรี | วิธีในการอ่านข้อมูลจากฐานข้อมูล Oracle ใช้ ตาราง เพื่ออ่านข้อมูลจากตารางที่ระบุ หรือใช้ คิวรี เพื่ออ่านข้อมูลโดยใช้คิวรี SQL | • โต๊ะ • แบบสอบถาม |
ใช่ | / |
สําหรับ ตาราง | ||||
ชื่อ schema | ชื่อของเค้าร่าง | < ชื่อ Schema ของคุณ > | ไม่ | สคีมา |
ชื่อตาราง | ชื่อของตาราง | < ชื่อตารางของคุณ > | ไม่ | ตาราง |
สําหรับ คิวรี | ||||
สอบถาม | ใช้คิวรี SQL แบบกําหนดเองเพื่ออ่านข้อมูล ตัวอย่างคือSELECT * FROM MyTable เมื่อคุณเปิดใช้งานการโหลดพาร์ติชัน คุณจําเป็นต้อง hook ใดๆสอดคล้องกันภายในพารามิเตอร์พาร์ติชันในแบบสอบถามของคุณ ตัวอย่างเช่น ดูส่วน สําเนาคู่ขนานจากฐานข้อมูล Oracle |
< คิวรี SQL > | ไม่ | oracleReaderQuery |
ตัวเลือกพาร์ติชัน | ตัวเลือกการแบ่งพาร์ติชันข้อมูลที่ใช้ในการโหลดข้อมูลจากฐานข้อมูล Oracle | • ไม่มี (ค่าเริ่มต้น) • พาร์ติชันจริงของตาราง • ช่วงไดนามิก |
ไม่ | / |
สําหรับ พาร์ติชันจริงของตาราง | ||||
ชื่อพาร์ติชัน | รายการของพาร์ติชันจริงที่จําเป็นต้องคัดลอก ถ้าคุณใช้คิวรีเพื่อดึงข้อมูลต้นทาง แล้ว hook ?DfTabularPartitionName ในคําสั่ง WHERE |
< ชื่อพาร์ติชันของคุณ > | ไม่ | partitionNames |
สําหรับ ช่วงไดนามิก | ||||
ชื่อคอลัมน์พาร์ติชัน | ระบุชื่อของคอลัมน์ต้นทางชนิดจํานวนเต็มที่จะใช้โดยการกําหนดพาร์ติชันช่วงสําหรับสําเนาคู่ขนาน ถ้าไม่ได้ระบุ คีย์หลักของตารางจะถูกตรวจพบโดยอัตโนมัติ และใช้เป็นคอลัมน์พาร์ติชัน ถ้าคุณใช้คิวรีเพื่อดึงข้อมูลต้นทาง แล้ว hook ?DfRangePartitionColumnName ในคําสั่ง WHERE ตัวอย่างเช่น ดูส่วน สําเนาคู่ขนานจากฐานข้อมูล Oracle |
< ชื่อคอลัมน์พาร์ติชันของคุณ > | ไม่ | partitionColumnName |
ขอบด้านบนของพาร์ติชัน | ระบุค่าสูงสุดของคอลัมน์พาร์ติชันเพื่อคัดลอกข้อมูลออก ถ้าคุณใช้คิวรีเพื่อดึงข้อมูลต้นทาง แล้ว hook ?DfRangePartitionUpbound ในคําสั่ง WHERE ตัวอย่างเช่น ดูส่วนสําเนาคู่ขนานจาก สําเนาคู่ขนานจากฐานข้อมูล Oracle |
< ขอบด้านบนของพาร์ติชันของคุณ > | ไม่ | partitionUpperBound |
ขอบล่างของพาร์ติชัน | ระบุค่าต่ําสุดของคอลัมน์พาร์ติชันเพื่อคัดลอกข้อมูลออก ถ้าคุณใช้คิวรีเพื่อดึงข้อมูลต้นทาง แล้ว hook ?DfRangePartitionLowbound ในคําสั่ง WHERE ตัวอย่างเช่น ดูส่วนสําเนาคู่ขนานจาก สําเนาคู่ขนานจากฐานข้อมูล Oracle |
< ผูกส่วนล่างของพาร์ติชันของคุณ > | ไม่ | partitionLowerBound |
หมดเวลาคิวรี | การหมดเวลาสําหรับการดําเนินการคําสั่งคิวรี ค่าเริ่มต้นคือ 120 นาที | timespan | ไม่ | queryTimeout |
คอลัมน์เพิ่มเติม | เพิ่มคอลัมน์ข้อมูลเพิ่มเติมเพื่อจัดเก็บเส้นทางสัมพัทธ์หรือค่าคงที่ของไฟล์ต้นฉบับ นิพจน์ได้รับการสนับสนุนสําหรับอย่างหลัง | • ชื่อ •ค่า |
ไม่ | additionalColumns: •ชื่อ •ค่า |
ข้อมูลปลายทาง
ชื่อ | รายละเอียด | ค่า | ต้องมี | คุณสมบัติสคริปต์ JSON |
---|---|---|---|---|
การเชื่อมต่อ | การเชื่อมต่อของคุณไปยังที่เก็บข้อมูลปลายทาง | <การเชื่อมต่อฐานข้อมูล Oracle ของคุณ> | ใช่ | การเชื่อมต่อ |
ตาราง | ตารางข้อมูลปลายทางของคุณ | <ชื่อของตารางปลายทางของคุณ> | ใช่ | / |
ชื่อ schema | ชื่อของเค้าร่าง | < ชื่อ Schema ของคุณ > | ใช่ | สคีมา |
ชื่อตาราง | ชื่อของตาราง | < ชื่อตารางของคุณ > | ใช่ | ตาราง |
สคริปต์สําเนาล่วงหน้า | คิวรี SQL สําหรับการคัดลอกกิจกรรมเพื่อดําเนินการก่อนที่คุณจะเขียนข้อมูลลงในฐานข้อมูล Oracle ในการเรียกใช้แต่ละครั้ง คุณสามารถใช้คุณสมบัตินี้ในการล้างข้อมูลที่โหลดไว้ล่วงหน้า | < สคริปต์ก่อนคัดลอกของคุณ > | ไม่ | preCopyScript |
เขียนการหมดเวลาของชุดงาน | เวลารอสําหรับชุดงานที่แทรกการดําเนินงานให้เสร็จสมบูรณ์ก่อนที่จะหมดเวลา | timespan | ไม่ | writeBatchTimeout |
เขียนขนาดของชุดงาน | จํานวนแถวที่จะแทรกลงในตาราง SQL ต่อชุดงาน | integer (ค่าเริ่มต้นคือ 10,000) |
ไม่ | writeBatchSize |
การเชื่อมต่อพร้อมกันสูงสุด | ขีดจํากัดสูงสุดของการเชื่อมต่อพร้อมกันที่สร้างขึ้นกับที่เก็บข้อมูลในระหว่างการเรียกใช้กิจกรรม ระบุค่าเมื่อคุณต้องการจํากัดการเชื่อมต่อที่เกิดขึ้นพร้อมกันเท่านั้น | < การเชื่อมต่อพร้อมกันสูงสุด > | ไม่ | maxConcurrentConnections |