`
blueram
  • 浏览: 756974 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

exp,expdp命令实践

阅读更多

 在window平台下面:

  查看帮助:exp/imp help=y 可以查看命令参数和参数默认值说明。

  同样有expdp/impdp help=y。exp/imp早在9i就有这样的用法。expdp/impdp在oracle 10g才出现的用法。oracle 10g版本也支持exp/imp这样的用法。

  exp/imp,expdp/impdp用于数据的逻辑备份。

  按照给定的exp/expdp参数说明:可以分别针对表(查询),用户,表空间,完整库的导入和导出。

  在使用这些命令的时候,最后指定导出日志文件的位置(和数据文件放在一起),这样即使文件导出很长的时间,也记得当时导出的格式。

下面这些摘自:http://www.cnblogs.com/furenjun/archive/2008/05/20/oracleImpExp.html

数据的导出

 1 将数据库SampleDB完全导出,用户名system 密码manager 导出到E:\SampleDB.dmp中

   exp system/manager@TestDB file=full.dmp full=y log=full.log

   --file也可以就写个文件名:full.dmp,这样导出文件在当前的文件夹下面。

    从导出的日志来看 依次导出有:

. 正在导出表空间定义
. 正在导出配置文件
. 正在导出用户定义
. 正在导出角色
. 正在导出资源成本
. 正在导出回退段定义
. 正在导出数据库链接
. 正在导出序号
. 正在导出目录别名
. 正在导出上下文名空间
. 正在导出外部函数库名称
. 导出 PUBLIC 类型同义词
. 导出私有类型同义词
. 正在导出对象类型定义
. 正在导出系统过程对象和操作
. 正在导出 pre-schema 过程对象和操作
. 正在导出群集定义
. 即将导出 SYSTEM 的表通过常规路径 ...
. . 正在导出表 

....

. . 正在导出分区                   COSTS_Q1_1998      57879 行被导出

. 正在导出同义词
. 正在导出视图
. 正在导出引用完整性约束条件
. 正在导出存储的过程
. 正在导出运算符
. 正在导出索引类型
. 正在导出位图, 功能性索引和可扩展索引
. 正在导出后期表活动
. 正在导出触发器
. 正在导出实体化视图
. 正在导出快照日志
. 正在导出作业队列
. 正在导出刷新组和子组
. 正在导出维
. 正在导出 post-schema 过程对象和操作
. 正在导出用户历史记录表
. 正在导出默认值和系统审计选项
. 正在导出统计

 2 将数据库中system用户与sys用户的表导出

   exp system/manager@TestDB file=E:\sampleDB.dmp  owner=(system,sys)

 3 将数据库中的表 TableA,TableB 导出

    exp system/manager@TestDB  file=E:\sampleDB.dmp  tables=(TableA,TableB)

 4 将数据库中的表tableA中的字段filed1 值为 "王五" 的数据导出

   exp hr/hr tables=(employees) file=query.dmp log=query.log query='where employee_id ">" 110 '

   --将会导出导出满足条件的数据。

下面是一些特殊字符的转化

windows下面的处理:

exp ... query='where deptno=10'
exp ... query='where deptno=''10'''
exp ... query='where deptno"<"10'

在Solaris(C shell)下, 如何指定query参数:

exp ..... query=\"where col1 \< 1000\"
exp ..... query=\"where col1 \< '1000'\"


   如果想对dmp文件进行压缩,可以在上面命令后面 加上 compress=y 来实现。

 数据的导入

 1 将备份数据库文件中的数据导入指定的数据库SampleDB 中,如果 SampleDB 已存在该表,则不再导入;

   imp system/manager@TEST  file=E:\sampleDB.dmp  full=y  ignore=y 

 2 将d:\daochu.dmp中的表table1 导入

 imp system/manager@TEST  file=E:\sampleDB.dmp  tables=(table1)

3. 导入一个完整数据库

 imp system/manager file=bible_db log=dible_db full=y ignore=y

4. 导入一个或一组指定用户所属的全部表、索引和其他对象

 imp system/manager file=seapark log=seapark fromuser=seapark

 imp system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)

5. 将一个用户所属的数据导入另一个用户

 imp system/manager file=tank log=tank fromuser=seapark  touser=seapark_copy
 imp system/manager file=tank log=tank fromuser=(seapark,amy)  touser=(seapark1, amy1)

6. 导入一个表

 imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)

7. 从多个文件导入

 imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)
log=paycheck, filesize=1G full=y

8. 使用参数文件

 imp system/manager parfile=bible_tables.par


bible_tables.par参数文件:
 #Import the sample tables used for the Oracle8i Database Administrator's
Bible. fromuser=seapark touser=seapark_copy file=seapark log=seapark_import

例 import9.par 内容如下:
        FROMUSER=TGPMS      
        TOUSER=TGPMS2   (注:把表的拥有者由FROMUSER改为TOUSER,FROMUSER和TOUSER的用户可以不同)         
        ROWS=Y
        INDEXES=Y
        GRANTS=Y
        CONSTRAINTS=Y
        BUFFER=409600
        file==/backup/ctgpc_20030623.dmp
        log==/backup/import_20030623.log


9. 增量导入

 imp system./manager inctype= RECTORE FULL=Y  FILE=A
不少情况下要先将表彻底删除,然后导入。

EXP常规模式、EXP直接路径模式和EXPDP三种方式导出的性能对比

exp常规模式格式:(不指定exp命令中的direct 参数,默认为N)

exp zhejiang/zhejiang file=/data1_regular.dmp buffer=20480000

EXP直接路径模式:

exp zhejiang/zhejiang file=/data1_regular.dmp buffer=20480000  direct =y

EXPDP数据泵:

expdp zhejiang/zhejiang dumpfile=zj_datapump.dp directory=d_test schemas=zhejiang


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/maqinqin/archive/2009/05/26/4218697.aspx

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics