ITPub博客

首页 > 数据库 > Oracle > EXP/IMP简单使用

EXP/IMP简单使用

原创 Oracle 作者:caisanpx 时间:2013-10-30 22:21:34 0 删除 编辑
一,导出(EXP)
1.1给予权限
执行imp/exp的用户至少有create session权限,session权限包含在connect角色中
直接赋予connect权限给指定用户就行;赋予exp_full_database角色可以导出其它schema的表
导入则赋予imp_full_database角色
grant connnect to user_name;
grant exp_full_database to user_name;

    
1.2exp/imp如何使用
一个导入一个导出,使用方法当然差不多。
C:\Users\cj>exp help=y

Export: Release 11.2.0.1.0 - Production on 星期一 10月 28 23:42:08 2013

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

通过输入 EXP 命令和您的用户名/口令, 导出
操作将提示您输入参数:

     例如: EXP SCOTT/TIGER

或者, 您也可以通过输入跟有各种参数的 EXP 命令来控制导出
的运行方式。要指定参数, 您可以使用关键字:

     格式:  EXP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
     例如: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)
               或 TABLES=(T1:P1,T1:P2), 如果 T1 是分区表

USERID 必须是命令行中的第一个参数。

关键字   说明 (默认值)         关键字      说明 (默认值)
--------------------------------------------------------------------------
USERID   用户名/口令           FULL        导出整个文件 (N)
BUFFER   数据缓冲区大小        OWNER        所有者用户名列表
FILE     输出文件 (EXPDAT.DMP)  TABLES     表名列表
COMPRESS  导入到一个区 (Y)   RECORDLENGTH   IO 记录的长度
GRANTS    导出权限 (Y)          INCTYPE     增量导出类型
INDEXES   导出索引 (Y)         RECORD       跟踪增量导出 (Y)
DIRECT    直接路径 (N)         TRIGGERS     导出触发器 (Y)
LOG      屏幕输出的日志文件    STATISTICS    分析对象 (ESTIMATE)
ROWS      导出数据行 (Y)        PARFILE      参数文件名
CONSISTENT 交叉表的一致性 (N)   CONSTRAINTS  导出的约束条件 (Y)

OBJECT_CONSISTENT    只在对象导出期间设置为只读的事务处理 (N)
FEEDBACK             每 x 行显示进度 (0)
FILESIZE             每个转储文件的最大大小
FLASHBACK_SCN        用于将会话快照设置回以前状态的 SCN
FLASHBACK_TIME       用于获取最接近指定时间的 SCN 的时间
QUERY                用导出表的子集的 select 子句
RESUMABLE            遇到与空格相关的错误时挂起 (N)
RESUMABLE_NAME       用于标识可恢复语句的文本字符串
RESUMABLE_TIMEOUT    RESUMABLE 的等待时间
TTS_FULL_CHECK       对 TTS 执行完整或部分相关性检查
TABLESPACES          要导出的表空间列表
TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)
TEMPLATE             调用 iAS 模式导出的模板名

成功终止导出, 没有出现警告。

1.3调用方法
1.3.1命令方式调用
exp admin/admin@orcl tables=(admin.dept) file=e:/app/imp_exp/admin_dept.dmp log=e:/app/imp_exp/admin_dept.log

exp admin/admin@IP:1521/实力名字 tables=(tab) file = 'F:\cj\2015-12\appeal.dmp';



1.3.2参数文件调用
#parameter.dat参数文件
tables=(dept)
query='where deptno >20 '
file=e:/app/imp_exp/dept.dmp
log=e:/app/imp_exp/dept.log

然后通过EXP username/pwd@orclname parfile=parameter.dat


1.4导出记录
1.4.1exp可以通过query参数来限定导出记录
exp admin/admin@orcl tables=(dept)query='"where deptno < 20"' file=e:/app/imp_exp/dept.dmp log=e:/app/imp_exp/dept.log

1.4.2exp导出多张表
在tables参数中可以指定多张表,表之间用逗号隔开
exp admin/admin@orcl tables=(dept,emp) file=e:/app/imp_exp/dept_emp.dmp log=e:/app/imp_exp/dept_emp.log

1.4.3exp导出多个schema中的对象
owner参数指定导出的schema,要在拥有exp_full_database权限的用户下进行
exp system/manager@orcl wner=(admin,scott) file=e:/app/imp_exp/admin_scott.dmp log=e:/app/imp_exp/admin_scott.log

1.4.4exp全库导出
exp system/manager@orcl full=y file=e:/app/imp_exp/full.dmp log=e:/app/imp_exp/full.log

1.4.5exp导出索引,约束等
exp 默认会导出indexes,constraints,triggers,grants
grants(指定是否导出对象的授权信息),indexes,constraints,triggers默认都为y

1.4.6exp导出文件太大
指定filesize大小

1.4.7改变导出的速度
通过设定buffer大小,direct=y,recordlength来改变导出导出速度
exp userid=system/manager full=y direct=y recordlength=65535 file=exp_full.dmp log=exp_full.log




二,IMP
1.导入指定表到相同用户
从admin导出,导入到admin
imp admin/admin@orcl full=y file='' log=''

2.导入指定表到其它用户
imp admin/admin@orcl fromuser=scott touser=admin file=e:/app/imp_exp/emp.dmp log=e:/app/imp_exp/emp.log ignore=y;
这之间可能存在表空间不同导致错误,要保持目标表的tablespace与导出表的tablespace相同。如果不同,可以使用alter talbe table_name move tablespace tbs;

3.导入表结构到指定用户
imp system/manager@orcl full=y file=e:/app/imp_exp/admin_scott.dmp log=e:/app/imp_exp/admin_scott.log ignore=y

imp user/pwd fromuser=user1 touser=user2 file=/tmp/imp_db_pipe1 commit=y feedback=10000 buffer=10240000 ignore=y rows=y indexes=n
 








 

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

上一篇: flashback使用
请登录后发表评论 登录
全部评论

注册时间:2012-04-12

  • 博文量
    165
  • 访问量
    442533