Oracle 数据泵使用——导入、导出
今天重新整理了下数据泵的使用,用数据泵完成数据的导出、导入,真的很方便,现将操作及语句记录下来。
第一步:导出数据
用数据泵导出原库的数据,这个不需要进行其他的操作,直接在导出的机器直接执行下面语句就可以了,语句如下:
运行以下命令:
sqlplus system/密码
创建数据导出目录expnc_dir为目录名,'E:databak'为数据库实际目录,命令如下:
create directory DATA_PUMP_DIR as 'E:ncdatabak';
为oracle用户授予访问数据目录的权限,命令如下:
Grant read,write on directory expnc_dir to testuser;
退出sqlplus,然后执行以下命令:
Expdp testuser / testuser@test DIRECTORY=DATA_PUMP_DIR DUMPFILE= test. dmp logfile= test .log
注:红色字体根据实际情况自己填写,第一个红色字体为登录帐号、第二个红色的字体为导出包的名称,第三个红色字体为导出日志的名称,最后一串红色字体为导出时需要排除的表,如果需要全部导出,不需要排除表,就不要加后面的语句了。
注意:
如果未指定导出目录,则导出的包目录,有二种方式可以找到,第一种方式最简单,导出完成后,最后会有导出包存放的目录,或查看日志也会有记录。第二种方式是通过语句查询,用PLsql登录后,执行下面的语句:
SELECT * FROM dba_directories; 结果中查找DATA_PUMP_DIR对应的地址,就是导出包存放的位置了。
第二步:在需要导入的数据库中建好相应的表空间,用户等,如果有就不需要执行此步骤。
第三步:导入数据
用数据泵导入数据,先将导出的数据包放在需导入库的 DATA_PUMP_DIR 对应的目录下,然后直接执行下面的语句就可以了:
运行以下命令:
sqlplus system/密码
创建数据导出目录impnc_dir为目录名,'E:databak'为数据库实际目录,命令如下:
create directory DATA_PUMP_DIR as 'E:databak';
退出sqlplus,然后执行以下命令:
Impdp testuser /t estuser@test DIRECTORY=DATA_PUMP_DIR DUMPFILE=test.dmp full=y (这个是全部导入的语句)
Impdp testuser /te stuser@test DIRECTORY=DATA_PUMP_DIR DUMPFILE= 20110907 .DUP tables=(wf_element_field,wf_element_field_cg) (只导入列出的二个表)
导入执行完后,也有相应的日志可以查看,导入是否成功。
简单的几步,就可以完成用数据泵导入、导出数据库操作。