ITPub博客

首页 > Linux操作系统 > Linux操作系统 > expdp_impdp使用手册_20110804

expdp_impdp使用手册_20110804

原创 Linux操作系统 作者:gdutllf2006 时间:2011-08-05 01:30:33 0 删除 编辑

**************************************************************
概述
**************************************************************
在Oracle 10g以上的版本中引入了expdp/impdp,对exp/imp工具做了很大的改进.
数据泵(Data Pump)的所有工作都由数据库实例来完成,数据库可以并行来处理这些工作,不仅可以通过建立多个数据泵工作进程来读/写正在被导出/导入的数据,也可以建立并行I/O服务器以更快地读取或插入数据。通过数据泵,以前通过EXP/IMP主要基于Client/Server的逻辑备份方式转换为服务器端的快速备份,数据泵主要工作在服务器端,可以通过并行方式快速装入或卸载数据,而且可以在运行过程中调整并行的程度,以加快或减少资源消耗。

数据泵通过新的API来建立和管理,这些新的工作主要由DBMS_DATAPUMP来完成。新的导入/导出工具完全成为了一个客户端应用,通过MPDP/EXPDP执行的命令实际上都是在调用Server端的API在执行操作,所以一旦一个任务被调度或执行,客户端就可以退出连接,任务会在server端继续执行,随后通过客户端实用程序从任何地方检查任务的状态和进行修改.

在执行过程中,可以按下Ctrl+C组合键,退出当前交互模式,退出之后,导出操作不会停止,这不同于Oracle以前的EXP。以前的EXP,如果退出交互式模式,就会出错终止导出任务。由于EXPDP是数据库内部定义的任务,已经与客户端无关。退出交互之后,会进入export的命令行模式,此时支持status start,stop等命令.示例参考下面的JOB的中断操作实例:


**************************************************************
EXPDP 操作实例:
**************************************************************
创建目录
Create directory dmpdir as '/opt/oracle/temp/';
grant read,write on directory dmpdir to mouse;

如果不指定目录,则默认的目录为DATA_PUMP_DIR $ORACLE_BASE/admin/$SID/dpudmp/
可以通过查询dba_directories视图得到

导出表
expdp test/test DUMPFILE=testexpdp.dmp TABLES=t

导出方案
expdp test/test DUMPFILE=test.dmp  SCHEMAS=test;

导出全库
expdp system/system dumpfile=full.dmp full=y;

查询导出:注意转义符
expdp test/test DUMPFILE=testexpdp.dmp TABLES=t QUERY=\"where wner=\'TEST\'\"

导出DDL结构:
expdp test/test DUMPFILE=mouse_metadata.dmp SCHEMAS=test job_name=exptest content=all|METADATA_ONLY|data_only

exclude排它性导出(不导出表t和dept,注意要大写)
expdp test/test DUMPFILE=testexpdp.dmp schemas=test exclude=table:\"in\(\'T\',\'DEPT\'\)\";

从dump文件中提取DDL信息
impdp test/test DUMPFILE=testexpdp.dmp SQLFILE=t.sql
产生的文件除了包含基本的DDL信息外,还包含其它不知什么信息?需要看官方文档说明

并行加速,按文件大小生成多个小文件:
expdp test/test DUMPFILE=testexpdp_%U.dmp  TABLES=t  FILESIZE=40192k parallel=4

添加JOB_NAME:此次导出进程使用的名称,方便跟踪查询(可选)
expdp test/test DUMPFILE=test.dmp DIRECTORY=dmpdir SCHEMAS=test job_name=exptest


**************************************************************
IMPDP 操作实例:
**************************************************************
导入表
expdp test/test DUMPFILE=testexpdp.dmp DIRECTORY=dmpdir  TABLES=t

导入方案
test不能已存在
impdp system/system DUMPFILE=test.dmp DIRECTORY=DATA_PUMP_DIR SCHEMAS=test


mouse用户不能存在
impdp system/system DUMPFILE=test.dmp DIRECTORY=DATA_PUMP_DIR REMAP_SCHEMA=test:mouse

 

**************************************************************
JOB的中断操作实例:
**************************************************************
expdp test/test DUMPFILE=test.dmp  SCHEMAS=test job_name=test;
Export> status

如果想停止改任务,可以发出stop_job命令
Export> stop

接下来可以通过命令行再次连接到这个任务

expdp test/test attach=test;
通过start_job命令重新启动导出
Export> start


Export> status

Job: TEST
  Operation: EXPORT                        
  Mode: SCHEMA                        
  State: EXECUTING                     
  Bytes Processed: 0
  Current Parallelism: 1
  Job Error Count: 0
  Dump File: /opt/oracle/admin/mydb/dpdump/test.dmp
    bytes written: 4,096
 
Worker 1 Status:
  Process Name: DW00
  State: EXECUTING                     
  Object Schema: TEST
  Object Name: T
  Object Type: SCHEMA_EXPORT/TABLE/TABLE
  Completed Objects: 1
  Worker Parallelism: 1

Export> stop
Are you sure you wish to stop this job ([yes]/no): yes

oracle@linux:~/temp> expdp test/test attach=test;

Export: Release 11.2.0.1.0 - Production on Thu Aug 4 22:14:55 2011

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

Job: TEST
  Owner: TEST                          
  Operation: EXPORT                        
  Creator Privs: TRUE                          
  GUID: A9B21A0FDFC2969BE040A8C0AD1102AA
  Start Time: Friday, 05 August, 2011 1:14:56
  Mode: SCHEMA                        
  Instance: mydb
  Max Parallelism: 1
  EXPORT Job Parameters:
  Parameter Name      Parameter Value:
     CLIENT_COMMAND        test/******** DUMPFILE=test.dmp SCHEMAS=test job_name=test
  State: IDLING                        
  Bytes Processed: 0
  Current Parallelism: 1
  Job Error Count: 0
  Dump File: /opt/oracle/admin/mydb/dpdump/test.dmp
    bytes written: 40,960
 
Worker 1 Status:
  Process Name: DW00
  State: UNDEFINED                     

Export> start

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10248702/viewspace-704167/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-07-08

  • 博文量
    133
  • 访问量
    388472