ORACLE ส่งออก (exp) เทียบกับ Datapump (expdp)
ORACLE จัดเตรียมยูทิลิตีภายนอกสองรายการเพื่อถ่ายโอนอ็อบเจ็กต์ฐานข้อมูลจากฐานข้อมูลหนึ่งไปยังอีกฐานข้อมูลหนึ่ง การส่งออกแบบดั้งเดิม (exp /imp) ถูกนำมาใช้ก่อน 10g จากนั้นจาก 10g ORACLE ได้แนะนำ datapump (expdp / impdp) เพื่อเพิ่มประสิทธิภาพให้กับยูทิลิตี้การส่งออกแบบดั้งเดิม
การส่งออกแบบดั้งเดิม (exp/imp)
นี่คือยูทิลิตี้ภายนอกฐานข้อมูล ORACLE ซึ่งใช้ในการถ่ายโอนวัตถุฐานข้อมูลจากเซิร์ฟเวอร์ฐานข้อมูลหนึ่งไปยังเซิร์ฟเวอร์ฐานข้อมูลอื่น อนุญาตให้ถ่ายโอนวัตถุฐานข้อมูลผ่านแพลตฟอร์มที่แตกต่างกัน การกำหนดค่าฮาร์ดแวร์และซอฟต์แวร์ที่แตกต่างกันเมื่อดำเนินการคำสั่งเอ็กซ์พอร์ตบนฐานข้อมูล อ็อบเจ็กต์ฐานข้อมูลจะถูกแยกด้วยอ็อบเจ็กต์การพึ่งพา ซึ่งหมายความว่าหากแยกตาราง การขึ้นต่อกัน เช่น ดัชนี ความคิดเห็น และเงินช่วยเหลือ จะถูกแยกและเขียนลงในไฟล์ส่งออก (ไฟล์ดัมพ์รูปแบบไบนารี) ต่อไปนี้เป็นคำสั่งเพื่อส่งออกฐานข้อมูลแบบเต็ม
Cmd > exp userid=ชื่อผู้ใช้/[ป้องกันอีเมล]_tns file=export.dmp log=export.log เต็ม=y สถิติ=none
คำสั่งข้างต้นจะถูกส่งออกฐานข้อมูลไปยังไฟล์ดัมพ์ไบนารีชื่อ export.dmp จากนั้นยูทิลิตี้ imp สามารถใช้เพื่อนำเข้าข้อมูลนี้ไปยังฐานข้อมูลอื่น ต่อไปนี้เป็นคำสั่งในการนำเข้า
Cmd > imp userid=ชื่อผู้ใช้/[ป้องกันอีเมล]_tns file=export.dmp log=import.log เต็ม=y สถิติ=none
ส่งออกปั๊มดาต้า (expdp/ impdp)
นี่คือยูทิลิตี้ภายนอกฐานข้อมูล ORACLE ซึ่งใช้ในการถ่ายโอนวัตถุระหว่างฐานข้อมูล ยูทิลิตีนี้มาจากฐานข้อมูล ORACLE 10gมีการปรับปรุงมากกว่ายูทิลิตี้ exp/imp แบบเดิม ยูทิลิตีนี้ยังสร้างไฟล์ดัมพ์ ซึ่งอยู่ในรูปแบบไบนารีที่มีอ็อบเจ็กต์ฐานข้อมูล ข้อมูลเมตาของอ็อบเจ็กต์ และข้อมูลการควบคุม คำสั่ง expdp และ impdp สามารถดำเนินการได้สามวิธี
- อินเทอร์เฟซบรรทัดคำสั่ง (ระบุพารามิเตอร์ expdp/impdp ในบรรทัดคำสั่ง)
- อินเทอร์เฟซไฟล์พารามิเตอร์ (ระบุพารามิเตอร์ expdp/impdp ในไฟล์แยกต่างหาก)
- อินเทอร์เฟซคำสั่งแบบโต้ตอบ (ป้อนคำสั่งต่างๆ ในข้อความแจ้งการส่งออก)
การขนถ่ายข้อมูลมีห้าโหมดที่แตกต่างกันโดยใช้ expdp พวกเขาคือ
- โหมดส่งออกแบบเต็ม (ยกเลิกการโหลดฐานข้อมูลทั้งหมด)
- โหมดสคีมา (นี่คือโหมดเริ่มต้น สคีมาเฉพาะจะถูกยกเลิกการโหลด)
- โหมดตาราง (ยกเลิกการโหลดชุดตารางที่ระบุและวัตถุที่ขึ้นต่อกัน)
- โหมดพื้นที่โต๊ะ (ยกเลิกการโหลดตารางในพื้นที่ตารางที่ระบุ)
- โหมดพื้นที่ตารางเคลื่อนย้ายได้ (ยกเลิกการโหลดเฉพาะข้อมูลเมตาสำหรับตารางและวัตถุที่ขึ้นต่อกันภายในชุดพื้นที่ตารางที่ระบุเท่านั้นที่จะยกเลิกการโหลด)
ต่อไปนี้คือวิธีการส่งออกฐานข้อมูลแบบเต็มโดยใช้ expdp
Cmd > expdp userid=ชื่อผู้ใช้/รหัสผ่าน dumpfile=expdp_export.dmp logfile=expdp_export.log เต็ม=y ไดเรกทอรี=ส่งออก
จากนั้นควรใช้ยูทิลิตี้ impdp เพื่อนำเข้าไฟล์นี้ไปยังฐานข้อมูลอื่น
Traditional Export กับ Datapump แตกต่างกันอย่างไร
• Datapump ทำงานบนกลุ่มของไฟล์ที่เรียกว่าชุดไฟล์ดัมพ์ อย่างไรก็ตาม การส่งออกปกติทำงานในไฟล์เดียว
• ไฟล์การเข้าถึง Datapump ในเซิร์ฟเวอร์ (โดยใช้ไดเรกทอรี ORACLE) การส่งออกแบบดั้งเดิมสามารถเข้าถึงไฟล์ในไคลเอนต์และเซิร์ฟเวอร์ทั้งสอง (ไม่ใช้ไดเรกทอรี ORACLE)
• การส่งออก (exp/imp) แสดงถึงข้อมูลเมตาของฐานข้อมูลเป็น DDL ในไฟล์ดัมพ์ แต่ใน datapump จะแสดงในรูปแบบเอกสาร XML
• Datapump มีการดำเนินการแบบขนาน แต่อยู่ใน exp/imp single stream Execution
• Datapump ไม่รองรับสื่อตามลำดับเช่นเทป แต่รองรับการส่งออกแบบดั้งเดิม