Oracle中用exp/imp命令参数详解

【用 exp 数 据 导 出】:

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

exp system/manager@TEST rows=y indexes=y compress=n buffer=65536 feedback=100000full=y file=d:\daochu.dmp log=d:\daochulog.txt owner=(ECC_BIZ,ECC_CUSTOMER)

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

触发器(Y)

  • FEEDBACK 显示每 x 行 (0) 的进度
  • FILESIZE 各转储文件的最大尺寸
  • QUERY 选定导出表子集的子句
  • TRANSPORT_TABLESPACE 导出可传输的

表空间元数据(N)

  • TABLESPACES 导出指定的表空间列表

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

exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)

3 将数据库中的表table1 、table2导出

exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)

4 将数据库中的表table1中的字段filed1以”00″打头的数据导出

exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\” where filed1like '00%'\”

上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。不过在上面命令后面 加上 compress=y 就可以了。

【用 imp 数 据 导 入】:

1 将D:\daochu.dmp 中的数据导入 TEST数据库中。

imp system/manager@TEST ignore=y full=y file=d:\daochu.dmp log=d:\daoru.txt

  • 关键字 说明默认
  • USERID用户名/口令
  • FULL 导入整个文件 (N)
  • BUFFER数据缓冲区大小
  • FROMUSER所有人用户名列表
  • FILE输入文件 (EXPDAT.DMP)
  • TOUSER用户名列表
  • SHOW 只列出文件内容(N)
  • TABLES表名列表
  • IGNORE忽略创建错误(N)
  • RECORDLENGTH IO记录的长度
  • GRANTS导入权限(Y)
  • INCTYPE增量导入类型
  • INDEXES导入索引 (Y)
  • COMMIT 提交数组插入 (N)
  • ROWS导入数据行 (Y)
  • PARFILE参数文件名
  • LOG屏幕输出的日志文件
  • CONSTRAINTS 导入限制 (Y)
  • DESTROY覆盖表空间数据文件 (N)
  • INDEXFILE将表/索引信息写入指定的文件
  • SKIP_UNUSABLE_INDEXES跳过不可用索引的维护 (N)
  • FEEDBACK每 x 行显示进度
  • TOID_NOVALIDATE 跳过指定类型 ID 的验证
  • FILESIZE 每个转储文件的最大大小
  • STATISTICS始终导入预计算的统计信息
  • RESUMABLE在遇到有关空间的错误时挂起
  • RESUMABLE_NAME用来标识可恢复语句的文本字符串
  • RESUMABLE_TIMEOUTRESUMABLE 的等待时间
  • COMPILE编译过程, 程序包和函数 (Y)
  • STREAMS_CONFIGURATION导入 Streams 的一般元数据 (Y)
  • STREAMS_INSTANITATION 导入 Streams 的实例化元数据 (N)
  • TRANSPORT_TABLESPACE导入可传输的表空间元数据
  • TABLESPACES 将要传输到数据库的表空间
  • DATAFILES将要传输到数据库的数据文件
  • TTS_OWNERS拥有可传输表空间集中数据的用户

1. 获取帮助

imp help=y

2. 导入一个完整数据库

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

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

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

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

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

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)

5. 导入一个表

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

6. 从多个文件导入

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

7. 使用参数文件

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

8. 增量导入(9i中已经取消)

imp system./manager inctype= RECTORE FULL=Y FILE=A