Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2505621
  • 博文数量: 323
  • 博客积分: 10211
  • 博客等级: 上将
  • 技术积分: 4934
  • 用 户 组: 普通用户
  • 注册时间: 2006-08-27 14:56
文章分类

全部博文(323)

文章存档

2012年(5)

2011年(3)

2010年(6)

2009年(140)

2008年(169)

分类: Oracle

2009-06-12 15:56:11

SQL> create directory dpump_dir as 'e:\dumpdir';
目录已创建。
SQL> grant read,write on directory  dpump_dir to sjh;
授权成功。
SQL> select * from dba_directories where directory_name='DPUMP_DIR';
OWNER                          DIRECTORY_NAME
------------------------------ ------------------------------
DIRECTORY_PATH
--------------------------------------------------------------------
SYS                            DPUMP_DIR
e:\dumpdir
 
--使用之前需要创建目录并授权。

C:\>expdp sjh/sjh directory=dpump_dir dumpfile='sjh.dmp'
Export: Release 10.2.0.1.0 - Production on 星期五, 12 6月, 2009 14:38:01
Copyright (c) 2003, 2005, Oracle.  All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
启动 "SJH"."SYS_EXPORT_SCHEMA_01":  sjh/******** directory=dpump_dir dumpfile='s
jh.dmp'
正在使用 BLOCKS 方法进行估计...
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
 
Export> stop_job

是否确实要停止此作业 ([Y]/N):

C:\>

SQL> select * from dba_datapump_jobs;
OWNER_NAME                     JOB_NAME
------------------------------ ------------------------------
OPERATION
------------------------------------------------------------
JOB_MODE
------------------------------------------------------------
STATE                              DEGREE ATTACHED_SESSIONS DATAPUMP_SESSIONS
------------------------------ ---------- ----------------- -----------------
SJH                            SYS_EXPORT_SCHEMA_01
EXPORT
SCHEMA
NOT RUNNING                             0                 0                 0

--这时sjh.dmp的大小是4k。expdp作为一个job可以停止。
 
C:\>expdp sjh/sjh attach=SYS_EXPORT_SCHEMA_01
Export: Release 10.2.0.1.0 - Production on 星期五, 12 6月, 2009 14:44:20
Copyright (c) 2003, 2005, Oracle.  All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
作业: SYS_EXPORT_SCHEMA_01
  所有者: SJH
  操作: EXPORT
  创建者权限: FALSE
  GUID: E58C19D70E6C40099B138084B5A43031
  起始时间: 星期五, 12 6月, 2009 14:44:22
  模式: SCHEMA
  实例: orasjh
  最大并行度: 1
  EXPORT 个作业参数:
  参数名      参数值:
     CLIENT_COMMAND        sjh/******** directory=dpump_dir dumpfile='sjh.dmp'
  状态: IDLING
  处理的字节: 0
  当前并行度: 1
  作业错误计数: 0
  转储文件: e:\dumpdir\sjh.dmp
    写入的字节: 4,096
Worker 1 状态:
  状态: UNDEFINED
Export> start_job
Export> exit
SQL> select * from dba_datapump_jobs;
未选定行
 
--重新链接job_name接着执行该导出任务。如果导出的过程你按ctrl + c 这时并没有中断导出过程。
 
SQL> select table_name from dba_tables where owner='SJH';
TABLE_NAME
------------------------------
TEST
H
EMP
DEPT
TEST1
 
SQL> drop table sjh.test;
表已删除。
SQL> drop table sjh.h;
表已删除。
 
C:\>impdp sjh/sjh directory=dpump_dir dumpfile=sjh.dmp include=table:\"in('TEST'
,'H')\"
Import: Release 10.2.0.1.0 - Production on 星期五, 12 6月, 2009 15:41:29
Copyright (c) 2003, 2005, Oracle.  All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
已成功加载/卸载了主表 "SJH"."SYS_IMPORT_FULL_01"
启动 "SJH"."SYS_IMPORT_FULL_01":  sjh/******** directory=dpump_dir dumpfile=sjh.
dmp include=table:"in('TEST','H')"
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
. . 导入了 "SJH"."H"                                   5.242 KB       4 行
. . 导入了 "SJH"."TEST"                                4.968 KB       3 行
处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
作业 "SJH"."SYS_IMPORT_FULL_01" 已于 15:42:38 成功完成
 
SQL> select table_name from dba_tables where owner='SJH';
TABLE_NAME
------------------------------
EMP
DEPT
TEST1
H
TEST
 
--这里介绍了include的用法,同时还有exclude。比较以前的exp/imp这是个改进。但这两个不能同时使用。
 
C:\>impdp sjh/sjh directory=dpump_dir dumpfile=sjh.dmp include=table:\"in('TEST'
,'H')\" TABLE_EXISTS_ACTION=replace
Import: Release 10.2.0.1.0 - Production on 星期五, 12 6月, 2009 15:44:03
Copyright (c) 2003, 2005, Oracle.  All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
已成功加载/卸载了主表 "SJH"."SYS_IMPORT_FULL_01"
启动 "SJH"."SYS_IMPORT_FULL_01":  sjh/******** directory=dpump_dir dumpfile=sjh.
dmp include=table:"in('TEST','H')" TABLE_EXISTS_ACTION=replace
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
. . 导入了 "SJH"."H"                                   5.242 KB       4 行
. . 导入了 "SJH"."TEST"                                4.968 KB       3 行
处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
作业 "SJH"."SYS_IMPORT_FULL_01" 已于 15:44:13 成功完成
 
--TABLE_EXISTS_ACTION还有几个选项,具体看help。

最后对这个工具做个简单的理论概述:
  在Oracle 10g中,数据泵(Data Pump)的所有工作都有数据库实例来完成,数据库可以并行来处理这些工作,不仅可以通过建立多个数据泵工作进程来读/写正在被导出/导入的数据,也可以建立并行I/O服务器以更快地读取或插入数据,从而,单进程瓶颈被彻底解决。
  通过数据泵,以前通过EXP/IMP主要基于Client/Server的逻辑备份方式转换为服务器端的快速备份,数据泵主要工作在服务器端,可以通过并行方式快速装入或卸载数据,而且可以在运行过程中调整并行的程度,以加快或减少资源消耗。
  数据泵通过新的API来建立和管理,这些新的工作主要由DBMS_DATAPUMP来完成。新的导入/导出工具完全成为了一个客户端应用,通过IMPDP/EXPDP执行的命令实际上都是在调用Server端的API在执行操作,所以一旦一个任务被调度或执行,客户端就可以推出连接,任务会在server端继续执行,随后通过客户端实用程序从任何地方检查任务的状态和进行修改。

 

 


阅读(1831) | 评论(0) | 转发(0) |
0

上一篇:当主键索引遭遇坏块

下一篇:DB Time的说明

给主人留下些什么吧!~~