
Oracle Data Pump Export / Import เป็นเครื่องมือที่ใช้ในการทำการ Export และ Import ข้อมูล ซึ่งถูกพัฒนามาจากเครื่องมือExport / Import แบบดั้งเดิม ทำให้มีความเร็วในการ Export มากกว่าเดิมประมาณ 2 เท่า และมีความเร็วในการ Import มากกว่าเดิมประมาณ 15-45 เท่า โดยได้มีการนำมาใช้ตั้งแต่ Oracle 10gR1 แล้ว ในส่วนที่เพิ่มเข้ามาจากแบบดั้งเดิมนั้นมีหลายส่วนเช่น
- สามารถทำงานได้แบบ Parallel แต่จำนวน Process ที่ใช้ในการทำงานจะต้องสอดคล้องกับจำนวนของ Dump File (แบบเดิมนั้นจะมี Dump File เพียงไฟล์เดียว แต่ Data Pump จะมีไฟล์มากกว่า 1 ไฟล์)
- สามารถทำการ Restart การทำ Export/Import ได้ในกรณีที่เกิดข้อผิดพลาดระหว่างการ Export/Import โดยจะไม่ทำให้ข้อมูลเกิดความเสียหาย
- ผู้ดูแลฐานข้อมูลสามารถ Monitor การทำ Export/Import ได้จากหลายๆที่ ซึ่งทำให้สะดวกต่อการตรวจสอบความเรียบร้อย
- ด้วยพารามิเตอร์ NETWORK_LINK ทำให้สามารถทำการ Export ข้อมูลจากเครื่องต้นทางไปยังเครื่องปลายทางที่มีการเชื่อมต่อกันผ่านระบบเครือข่ายได้
- สามารถเปลี่ยนชื่อของ Datafiles ของต้นฉบับให้เป็นชื่ออื่นได้
- สามารถทำการคัดกรอง Metadata ได้ โดยใช้ Exclude หรือ INCLUDE ในคำสั่งได้
- ผู้ดูแลฐานข้อมูลสามารถทำการประเมินได้ว่าจะต้องใช้พื้นที่ว่างเท่าไรในการ Export โดยยังไม่ต้องลงมือทำ Export จริงๆ
- ผู้ดูแลฐานข้อมูลสามารถทำการคัดกรองข้อมูลได้โดยใช้คำสั่ง Select
- สามารถใช้งานกับ External Table ได้
1 การ Export/Import แบบเจาะจงตาราง
2 การ Export/Import แบบเจาะจง Schema
3 การ Export/Import ทั้ง Database (แบบ Full)
รูปแบบของคำสั่งจะเป็นดังนี้
1 การ Export/Import แบบเจาะจงตาราง
expdp user/password@SID tables=table_name directory=_directory_ dumpfile=filename.dmp logfile=logname.log
impdp user/password@SID tables=table_name directory=_directory_ dumpfile=filename.dmp logfile=logname.log
impdp user/password@SID tables=table_name directory=_directory_ dumpfile=filename.dmp logfile=logname.log
2 การ Export/Import แบบเจาะจง Schema
expdp user/password@SID schemas=schema_name directory=_directory_ dumpfile=filename.dmp logfile=logname.log
impdp user/password@SID schemas=schema_name directory=_directory_ dumpfile=filename.dmp logfile=logname.log
impdp user/password@SID schemas=schema_name directory=_directory_ dumpfile=filename.dmp logfile=logname.log
3 การ Export/Import แบบทั้ง Database (แบบ Full)
User ที่จะทำการ Export/Import แบบ Full ได้นั้นจะต้องเป็น User ที่มีสิทธิ์ในการ Export/Import Full Database เท่านั้น ในที่นี้ยกตัวอย่างเป็น User: Sys Password: manager1 และพารามิเตอร์ full จะเป็นตัวบอกว่าจะทำการ Export/Import แบบ Full
expdp sys/manager1@SID full=Y directory=_directory_ dumpfile=filename.dmp logfile=logname.log
impdp sys/manager1@SID full=Y directory=_directory_ dumpfile=filename.dmp logfile=logname.log
impdp sys/manager1@SID full=Y directory=_directory_ dumpfile=filename.dmp logfile=logname.log
สรุปประเด็น
- Oracle Data Pump มีการพัฒนามาใช้ตั้งแต่ Oracle 10gR1
- ทำหน้าที่ในการ Export ข้อมูลและ Import ลงฐานข้อมูลอื่นเช่นเดียวกับเครื่องมือ Export/Import แบบดั้งเดิม แต่มีประสิทธิภาพมากกว่า เนื่องจากมีการเพิ่มความสามารถด้านต่างๆเข้าไป
- การ Export โดยใช้ Data Pump ทำได้เร็วกว่าเดิมประมาณ 2 เท่า
- การ Import โดยใช้ Data Pump ทำได้เร็วกว่าเดิมประมาณ 15-45 เท่า
- รูปแบบคำสั่งที่ใช้จะมี 3 แบบด้วยกันคือ 1)การ Export/Import ในระดับ Table 2) การ Export/Import ในระดับ Schema 3) การ Export/Import ทั้งฐานข้อมูล
- การ Export จะใช้คำสั่งที่ขึ้นต้นด้วย expdp username/password@sid ตามด้วยพารามิเตอร์ต่างๆ
- การ Import จะใช้คำสั่งที่ขึ้นต้นด้วย impdp username/password@sid ตามด้วยพารามิเตอร์ต่างๆ
