当前位置: 代码迷 >> 综合 >> 数据泵导出/导入Expdp/impdp
  详细解决方案

数据泵导出/导入Expdp/impdp

热度:45   发布时间:2023-12-15 21:45:02.0

Oracle 10g引入了DATA PUMP提供的是一种基于服务器的数据提取和恢复的实用程序,DATA PUMP在体系结构和功能上与传统的EXPORT和IMPORT实用程序相比有了显著的提升。DATA PUMP允许您停止和重启作业,查看运行的作业的状态,及对导入和导出的数据做限制。

 

注意:数据泵文件与传统的EXP/IMP数据转储文件是不兼容的

一、以下是DATA PUMP的几个优点介绍:

1.数据泵(DataPump)的所有工作都有数据库实例来完成,数据库可以并行来处理这些工作,不仅可以通过建立多个数据泵工作进程来读/写正在被导出/导入的数据,也可以建立并行I/O服务器以更快地读取或插入数据,从而,单进程瓶颈被彻底解决。

2.通过数据泵,以前通过EXP/IMP主要基于Client/Server的逻辑备份方式转换为服务器端的快速备份,数据泵主要工作在服务器端,可以通过并行方式快速装入或卸载数据,而且可以在运行过程中调整并行的程度,以加快或减少资源消耗。

二、步骤如下

1. 创建DIRECTORY

DATA PUMP要求为将要创建和读取的数据文件及日志文件创建目录,这个参数是用来定义一个目录,前面已经提到数据泵主要在Server端工作,导出文件需要写出到Server端本地目录,这个DIRECTORY就是对应的Server端的目录。将要访问数据泵文件的用户必须要拥有该目录的读/写权限。

注意:在开始操作之前要验证外部目录是否存在,并且下达create directory命令的用户需要拥有create anydirectory的系统权限。

下面给出一个创建名为TEST的目录并授予system用户访问此目录读/写权限。

 创建目录并赋予权限:

 
 

SQL>  Create directory TEST as 'd:\test';

 

SQL>  Grant read,write on directory TEST to system;

 

 

 

 

 

 

查看数据库中已创建的directory的两个视图:

 
 

SELECT * FROM  ALL_DIRECTORIES;

 

SELECT * FROM  dba_DIRECTORIES;

 

 

然后在目标磁盘下手工创建文件夹d:\test

 

2.  数据泵导出

数据泵导出的方法有多种,这里我们只介绍两种:

?  单个用户方案导出

Expdp [用户名]/[密码]@[主机字符窜] schemas=[用户名] directory=TEST dumpfile=X.dmp logfile=X.log

?  数据库全库导出

Expdp [用户名]/[密码]@[主机字符窜] full=y directory=TEST dumpfile=X.dmp logfile=X.log

3. 数据泵导入

按以上导出方式:

?  单个用户方案导入

impdp [用户名]/[密码]@[主机字符窜] schemas=[用户名] directory=TEST dumpfile=X.dmp logfile=X.log ignore=y

?  数据库全库导入

impdp [用户名]/[密码]@[主机字符窜] full=y directory=TEST dumpfile=X.dmp logfile=X.log ignore=y

 

注意:directory的位置

drop directory test 删除目录