วันพฤหัสบดีที่ 25 ธันวาคม พ.ศ. 2551

Export/Import จาก version สูงกว่า ไป version ต่ำกว่า

หากต้องการ เอาข้อมูลจาก oracle ที่ version สูงกว่า ไปลง version ต่ำกว่า
ใน version 10g ขึ้นไป ทุกคนจะรู้จัก DATA PUMP(expdp/impdp) 

ในบทความนี้ จะแสดงตัวอย่าง การนำ table จาก 10.2. to 10.1
option ที่สำคัญ คือ version, ซึ่งคือ version (compatible) ของ database ที่เราจะ import ลง

เตรียม parfile สำหรับ export

parfile:
DIRECTORY=DIR
dumpfile=01.dmp
logfile=01.log
tables=t01
VERSION=10.1.0

$ expdp parfile=parfile

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
Starting "USERNAME"."SYS_EXPORT_TABLE_01":  USERNAME/******** parfile=parfile 
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 15 MB
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "USERNAME"."T01"                       4.921 KB       1 rows
Master table "USERNAME"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for USERNAME.SYS_EXPORT_TABLE_01 is:
  /tmp/01.dmp
Job "USERNAME"."SYS_EXPORT_TABLE_01" successfully completed at 16:45:05


เมื่อได้ dump file จากนั้นก็ เตรียม parfile สำหรับ import

parfile:
DIRECTORY=DIR
dumpfile=01.dmp
tables=t01
logfile=01.log

$ impdp parfile=parfile

Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.4.0 - Production
With the Partitioning, OLAP and Data Mining options
Master table "USERNAME"."SYS_IMPORT_TABLE_01" successfully loaded/unloaded
Starting "USERNAME"."SYS_IMPORT_TABLE_01":  USERNAME/******** parfile=parfile 
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
. . imported "USERNAME"."T01"                       4.921 KB       1 rows
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Job "USERNAME"."SYS_IMPORT_TABLE_01" successfully completed at 16:53


ถ้าไม่ได้ทำ compatible (version) ตั้งแต่ export จะพบ error ตอน import

ORA-39001: invalid argument value
ORA-39000: bad dump file specification
ORA-39142: incompatible version number x.y in dump file ...

ไม่มีความคิดเห็น: