การ Import Export ข้อมูลด้วย Data Pump ใน oracle database 10g

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 2

การ Import/Export ข้อมูลด้วย Data Pump ใน oracle database 10g

Oracle Data Pump เป็ นเคร่ ืองมือใหม่ สำาหรับ import-export ข้อมูล ทีมีความเร็ว และ ความ
ยืดหยุ่น มากกว่า เคร่ ืองมือ "exp" และ "imp" ท่ใี ช้ใน Oracle Database version ก่อนหน้านี้
ทัง้ยังเพ่ม
ิ เติม PL/SQL API สำาหรับการ import และ export เบ้ืองต้น รวมถึง สามารถใช้กับ
external table ได้ด้วย

เร่ม
ิ แรก เราจะ unlock user SCOTT และ ให้มีสิทธิ CREATE ANY DIRECTORY เพราะ การ
import-export จะใช้การอ้างช่ ือ alias ของ directory แทนท่จ
ี ะบอกเป็ น physical path จริงๆ
C:\> mkdir c:\pump
C:\> sqlplus /nolog

SQL> connect sys/password@db10g AS SYSDBA


SQL> ALTER USER scott ACCOUNT UNLOCK;
SQL> ALTER USER scott IDENTIFIED BY tiger;

SQL> GRANT CREATE ANY DIRECTORY TO scott;


SQL> CREATE OR REPLACE DIRECTORY test_dir AS ‘c:\pump';
SQL> GRANT READ, WRITE ON DIRECTORY test_dir TO scott;

การ Exports/Imports แบบเจาะจงตาราง


เราใช้ parameter ช่ ือ TABLES ในการระบุตารางท่จี ะถูก export ออกมา ดังตัวอย่างต่อไปนี้
C:\> expdp scott/tiger@db10g tables=EMP,DEPT
directory=TEST_DIR dumpfile=EMP_DEPT.dmp logfile=expdpEMP_DEPT.log

C:\> impdp scott/tiger@db10g tables=EMP,DEPT


directory=TEST_DIR dumpfile=EMP_DEPT.dmp logfile=impdpEMP_DEPT.log

เราสามารถดูผลได้ จาก log ไฟล์ ในท่ีนี ค


้ ือexpdpEMP_DEPT.log และ impdpEMP_DEPT.log

เราสามารถเพ่ิม พารามิเตอร์ TABLE_EXISTS_ACTION=APPEND เพ่ ือเอาข้อมูลไปใส่ต่อ ใน


ตารางท่ีมีอยู่แล้ว

การ Exports/ Imports ในระดับ Schema


ในเคร่ ืองมือ exp เวอร์ชั่นก่อนๆ เราใช้ พารามิเตอร์ OWNER เพ่ ือระบุ Schema (ซ่ึงก็คือช่ ือ user
เจ้าของตาราง นั่นแหละ) ท่เี ราจะ export ข้อมูลออกมา แค่ใน data pump export เราจะใช้
พารามิเตอร์ SCHEMAS แทน
C:\> expdp scott/tiger@db10g schemas=SCOTT
directory=TEST_DIR dumpfile=SCOTT.dmp logfile=expdpSCOTT.log

C:\> impdp scott/tiger@db10g schemas=SCOTT


directory=TEST_DIR dumpfile=SCOTT.dmp logfile=impdpSCOTT.log

การ Exports/Imports ทัง้ database


พารามิเตอร์ FULL ใช้บอกว่าเป็ นการ export ทัง้ database แบบสมบูรณ์ ซ่งึ user ท่ท
ี ำาการ
Exports/Import ต้องมีสิทธิ EXPORT FULL DATABASE และ IMPORT FULL DATABASE
ในท่ีนี เ้ราจะใช้user : system ทำาการ import - export
C:\> expdp system/password@db10g full=Y
directory=TEST_DIR dumpfile=DB10G.dmp logfile=expdpDB10G.log
C:\> impdp system/password@db10g full=Y
directory=TEST_DIR dumpfile=DB10G.dmp logfile=impdpDB10G.log

You might also like