แชร์ผ่าน


กําหนดค่าฐานข้อมูล 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