-
Oracle มีเครื่องมือสองชนิดคือ imp.exe และ exp.exe สำหรับการนำเข้าและส่งออกข้อมูลตามลำดับ เครื่องมือทั้งสองนี้อยู่ในไดเร็กทอรี Oracle_home/bin
ส่งออกข้อมูล exp
1 ส่งออกฐานข้อมูล ATSTestDB โดยสมบูรณ์ด้วยระบบชื่อผู้ใช้และรหัสผ่าน 123456 ไปที่ c:export.dmp
exp system/123456@ATSTestDB file=c:export.dmp เต็ม=y
ในบรรดานั้น ATSTestDB คือชื่อฐานข้อมูล ระบบคือบัญชีในฐานข้อมูล และ 123456 คือรหัสผ่าน
2 ส่งออกทรัพยากรที่เกี่ยวข้องทั้งหมดของผู้ใช้ระบบและผู้ใช้ระบบในฐานข้อมูล (ตาราง ขั้นตอนการจัดเก็บ วิธีการ มุมมอง ฯลฯ)
exp system/123456@ATSTestDB file= c:export.dmp เจ้าของ = (ระบบ sys)
3 ส่งออกตาราง sys.table1 และ owbsys.table2 ในฐานข้อมูล
exp system/123456@ATSTestDB file= c:export.dmp ตาราง=(sys.table1, owbsys.table2)
โปรดทราบว่าคุณต้องเพิ่มชื่อสคีมาของตาราง หากไม่เป็นเช่นนั้น บัญชีที่คุณเชื่อมต่อจะต้องมีสิทธิ์ในตารางที่เกี่ยวข้อง
4 ส่งออกข้อมูลที่มีชื่อฟิลด์ขึ้นต้นด้วย "GangGe" ใน table1 ในฐานข้อมูล
exp system/123456@ATSTestDB file= c:export.dmp tables=(table1) query=" โดยที่ Title เช่น 'GangGe%'"
เครื่องหมายทับ "" ตามด้วยโคลอนใช้เพื่อหลีกอักขระโคลอน " " " เนื่องจากตามด้วยคำสั่งคิวรีแบบมีเงื่อนไข สามารถระบุพารามิเตอร์ Query ได้เพียงพารามิเตอร์เดียวเท่านั้น หาก Query มีไว้สำหรับหลายตาราง ดังนั้นในทำนองเดียวกัน มีเพียงตารางเดียวหรือหลายตารางก็ได้ และเงื่อนไขในการสืบค้นสามารถเรียกใช้บนตารางเหล่านี้ได้ มิฉะนั้น คุณจะต้องเขียนคำสั่ง exp เพิ่มเติมอีกสองสามรายการ
หลังจากส่งออก คุณอาจพบว่าข้อมูลมีขนาดค่อนข้างใหญ่ เราสามารถใช้เครื่องมือบีบอัดบางอย่างเพื่อบีบอัดข้อมูลใหม่ได้ เช่น winzip, winrar, 7zip และเครื่องมือของบุคคลที่สามอื่นๆ ในทำนองเดียวกัน exp รองรับพารามิเตอร์สำหรับผู้ใช้ในการบีบอัดข้อมูลโดยตรง: compress = y พารามิเตอร์นี้สามารถเพิ่มได้โดยตรงที่ส่วนท้ายของคำสั่งเพื่อบีบอัดข้อมูลขณะส่งออก
นำเข้าดาต้าอิมพอร์ต
เรารู้วิธีดึงข้อมูล ดังนั้นเมื่อกู้คืน เราจำเป็นต้องใช้คำสั่ง imp เพื่อโหลดข้อมูลที่ส่งออก
1 โหลดข้อมูล c:export.dmp ลงใน ATSTestDB
ไฟล์ imp system/123456@ATSTestDB =c:export.dmp
โอเค เมื่อนำเข้าข้อมูลอาจมีการรายงานข้อผิดพลาด ทำไม มีสองเหตุผลหลัก:
A. ออบเจ็กต์ที่นำเข้า (ตาราง มุมมอง วิธีการ ฯลฯ) ไม่ได้เป็นของผู้ใช้ที่เชื่อมต่ออยู่ในปัจจุบัน
B. วัตถุที่นำเข้ามีอยู่แล้วภายใต้ผู้ใช้ฐานข้อมูลที่ระบุ
C. ผู้ใช้ดั้งเดิมของออบเจ็กต์ที่นำเข้าไม่อยู่ในฐานข้อมูลนี้อีกต่อไป
ออบเจ็กต์ทั้งหมดจะถูกนำเข้าไปยังบัญชีที่ระบุ:
Imp system/123456@ATSTestDB file=c:export.dmp fromuser=sys touser=system
ในหมู่พวกเขา fromuser=sys เป็นเจ้าของดั้งเดิมของออบเจ็กต์ในไฟล์ .dmp และ touser=system เป็นเจ้าของคนใหม่ของออบเจ็กต์ที่นำเข้า
ละเว้น/แทรกข้อมูล
Imp system/123456@ATSTestDB file=c:export.dmp ละเว้น = y
ในหมู่พวกเขา ละเว้น=y บอกให้ imp.exe แทรกข้อมูลลงในวัตถุที่เกี่ยวข้องโดยตรง (และหากมีวัตถุอื่นในวัตถุที่นำเข้า เช่น ข้อจำกัด ดัชนี ฯลฯ วัตถุเหล่านั้นจะถูกสร้างขึ้นหลังจากแทรกข้อมูลแล้ว)
2 โหลดตารางที่ระบุ table1, table2
imp system/123456@ATSTestDB file=C:export.dmp tables=(table1,table2)
3 ละเว้นข้อจำกัดในการโหลด
บางครั้งเมื่อนำเข้าข้อมูล เราไม่จำเป็นต้องนำเข้าข้อจำกัด เช่น ข้อจำกัดของคีย์ต่างประเทศบางรายการ เป็นต้น เราสามารถเพิ่มพารามิเตอร์ constraints=N ได้
imp system/123456@ATSTestDB file=C:export.dmp tables=(table1,table2) ข้อจำกัด=N
4 อย่าโหลดดัชนี (เช่น ดัชนีเฉพาะ)
imp system/123456@ATSTestDB file=C:export.dmp tables=(table1,table2) ดัชนี=N
5 โหลดเฉพาะโครงสร้าง ไม่ใช่ข้อมูล
หากคุณต้องการกำหนดโครงสร้างของตารางเท่านั้น (ข้อจำกัด ทริกเกอร์) และไม่ต้องการข้อมูลภายใน คุณสามารถเพิ่มพารามิเตอร์ row=N
imp system/123456@ATSTestDB file=C:export.dmp tables=(table1,table2) row=N
สำหรับการดำเนินการข้างต้น ระบบออบเจ็กต์ของการดำเนินการเข้าสู่ระบบคือผู้ดูแลระบบ หากไม่ใช่ผู้ดูแลระบบ แต่เป็นผู้ใช้ทั่วไป ผู้ใช้รายนี้จะต้องมีสิทธิ์ในการสร้างและลบออบเจ็กต์ ออบเจ็กต์อาจรวมถึงออบเจ็กต์ทั่วไป เช่น ตาราง , มุมมอง, วิธีการ, ขั้นตอนการจัดเก็บ ฯลฯ เหตุใด “อาจ” จึงรวมถึง? เนื่องจากสิ่งนี้ขึ้นอยู่กับว่าประเภทของออบเจ็กต์ที่เกี่ยวข้องเกี่ยวข้องกับการนำเข้าและส่งออกหรือไม่
ณ จุดนี้ คุณเชี่ยวชาญคำสั่งนำเข้าและส่งออกข้อมูล Oracle ข้างต้นอย่างเชี่ยวชาญแล้วหรือยัง ฉันเชื่อว่ามันเพียงพอแล้ว