Oracle数据泵的使用使用数据泵导出数据1、连接Oracle数据库SQL> conn / as sysdba已连接。
2、创建一个操作目录SQL> create directory dump_dir as 'e:\dump';注意同时需要使用操作系统命令在硬盘上创建这个物理目录。
目录已创建。
3、使用以下命令创建一个导出文件目录hr用户操作dump_dir目录的权限,SQL>grant read,write on directory my_dir to scott;授权成功。
4、使用命令expdp导出数据(可以按照用户模式导出、按照表、按照表空间导出和全库导出)C:\>expdp scott/tiger directory=dump_dir dumpfile=20090517scotttab.dmp tables=dept,emps=Export: Release 10.2.0.1.0 - Production on 星期三, 18 6月, 2008 15:49:00Copyright (c) 2003, 2005, Oracle. All rights reserved.连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options启动"SCOTT"."SYS_EXPORT_TABLE_01": scott/******** directory=dump_dir dumpfile=20080601.dmp tabledept,emp正在使用BLOCKS 方法进行估计...处理对象类型TABLE_EXPORT/TABLE/TABLE_DA TA使用BLOCKS 方法的总估计: 128 KB处理对象类型TABLE_EXPORT/TABLE/TABLE处理对象类型TABLE_EXPORT/TABLE/INDEX/INDEX处理对象类型TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT处理对象类型TABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT. . 导出了"SCOTT"."DEPT" 5.656 KB 4 行. . 导出了"SCOTT"."EMP" 7.820 KB 14 行已成功加载/卸载了主表"SCOTT"."SYS_EXPORT_TABLE_01"****************************************************************************** SCOTT.SYS_EXPORT_TABLE_01 的转储文件集为:E:\DUMP\20080601.DMP作业"SCOTT"."SYS_EXPORT_TABLE_01" 已于15:49:22 成功完成C:\>******************************************************************************* *******************************常见错误如果没有在指定的硬盘上建立物理文件,则会出现如下错误提示信息:解决的方法是现在硬盘上创建指定的物理文件目录,然后在执行expdp程序。
Oracle 中的create directory dump_dir as 'e:\dump';命令只是在逻辑上创建了一个Oracle能够识别的目录和硬盘上的一个物理目录之间的联系,并不能真正的在硬盘上创建物理目录。
******************************************************************************* *******************************C:\>expdp scott/tiger directory=dump_dir dumpfile=20080601.dmp tables=dept,empExport: Release 10.2.0.1.0 - Production on 星期三, 18 6月, 2008 15:46:19Copyright (c) 2003, 2005, Oracle. All rights reserved.连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsORA-39002: 操作无效ORA-39070: 无法打开日志文件。
ORA-29283: 文件操作无效ORA-06512: 在"SYS.UTL_FILE", line 475ORA-29283: 文件操作无效导入命令:impdp scott/tiger directory=dump_dir dumpfile=20080601.dmp tables=dept,empC:\>impdp scott/tiger directory=my_dir dumpfile=20090517scotttab.dmp tables=employee Import: Release 10.2.0.1.0 - Production on 星期三, 18 6月, 2008 15:56:11Copyright (c) 2003, 2005, Oracle. All rights reserved.连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options已成功加载/卸载了主表"SCOTT"."SYS_IMPORT_TABLE_01"启动"SCOTT"."SYS_IMPORT_TABLE_01": scott/******** directory=dump_dir dumpfile=20080601.dmp tabledept,emp处理对象类型TABLE_EXPORT/TABLE/TABLE处理对象类型TABLE_EXPORT/TABLE/TABLE_DA TA. . 导入了"SCOTT"."DEPT" 5.656 KB 4 行. . 导入了"SCOTT"."EMP" 7.820 KB 14 行处理对象类型TABLE_EXPORT/TABLE/INDEX/INDEX处理对象类型TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT处理对象类型TABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT作业"SCOTT"."SYS_IMPORT_TABLE_01" 已于15:56:20 成功完成C:\>查看结果,发现删除的数据表又已经找回来了:SQL> set linesize 150;SQL> select * from scott.emp;EMPNO ENAME JOB MGR HIREDA TE SAL COMM DEPTNO---------- ---------- --------- ---------- -------------- ---------- ---------- ----------7369 SMITH CLERK 7902 17-12月-80 800 207499 ALLEN SALESMAN 7698 20-2月-81 1600 300 307521 W ARD SALESMAN 7698 22-2月-81 1250 500 307566 JONES MANAGER 7839 02-4月-81 2975 207654 MARTIN SALESMAN 7698 28-9月-81 1250 1400 307698 BLAKE MANAGER 7839 01-5月-81 2850 307782 CLARK MANAGER 7839 09-6月-81 2450 107788 SCOTT ANALYST 7566 19-4月-87 3000 207839 KING PRESIDENT 17-11月-81 50007844 TURNER SALESMAN 7698 08-9月-81 1500 0 307876 ADAMS CLERK 7788 23-5月-87 1100 20EMPNO ENAME JOB MGR HIREDA TE SAL COMM DEPTNO---------- ---------- --------- ---------- -------------- ---------- ---------- ----------7900 JAMES CLERK 7698 03-12月-81 950 307902 FORD ANALYST 7566 03-12月-81 3000 207934 MILLER CLERK 7782 23-1月-82 1300 10已选择14行。
SQL> select * from scott.dept;DEPTNO DNAME LOC---------- -------------- -------------10 ACCOUNTING NEW YORK20 RESEARCH DALLAS30 SALES CHICAGO40 OPERA TIONS BOSTONSQL>******************************************************************************* ************************************************************对Oracle10g中的数据泵导出数据的分析******************************************************************************* ************************************************************Oracle10g中的数据泵只能用于服务器端,而不能用于客户端,它可以导出表、方案、表空间和整个数据库。