关闭

ORACLE的EXP与IMP常用整理

标签: oracleexpimp
421人阅读 评论(0) 收藏 举报
分类:

 关于oracle数据的导出与导入,是在工作中经常用到,尤其是数据库备份。

 exp与imp的用法收集网络,还是那句话,“出来混的,总是要还的” 。

 

一.定义

   oracle 的exp/imp命令用于实现对数据库的导出/导入操作;
   exp命令用于把数据从远程数据库服务器导出至本地,生成dmp文件;
   imp命令用于把本地的数据库dmp文件从本地导入到远程的Oracle数据库中。

 

二.语法格式

格式:

导出

> exp userid/password@instance file='path' log='log.log' 参数

导入

> imp userid/password@instance file='path' log='log.log' 参数

 

CMd命令行输入 imp help=y 或 exp help=y 获取imp或exp的语法参数信息:

  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 行显示进度 (0)
  TOID_NOVALIDATE        跳过指定类型 ID 的验证
  FILESIZE               每个转储文件的最大大小
  STATISTICS             始终导入预计算的统计信息
  RESUMABLE              遇到与空格有关的错误时挂起 (N)
  RESUMABLE_NAME         用来标识可恢复语句的文本字符串
  RESUMABLE_TIMEOUT      RESUMABLE 的等待时间
  COMPILE                编译过程, 程序包和函数 (Y)

1) 数据导出:

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

   exp system/manager@TestDB file=E:/sampleDB.dmp log=E:/sample.log full=y

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

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

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

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

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

   exp system/manager@TestDB  file=E:/sampleDB.dmp log=E:/sample.log tables=(tableA)  query=' where filed1='王五'
 
   如果想对dmp文件进行压缩,可以在上面命令后面 加上 compress=y 来实现。

   如果想只导出数据库对象的结构,参数加rows=no 获得,全部对象 full=y,忽略各种错误 ignore=y

2) 数据的导入

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

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

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

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

 3. 导入一个完整数据库

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

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

 imp system/manager file=E:/sampleDB.dmp log=E:/sample.log fromuser=seapark
 imp system/manager file=E:/sampleDB.dmp log=E:/sample.log fromuser=(seapark,amy,amyc,harold)

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

 imp system/manager file=E:/sampleDB.dmp log=E:/sample.log fromuser=seapark touser=seapark_copy
 imp system/manager file=E:/sampleDB.dmp log=E:/sample.log fromuser=(seapark,amy)
 touser=(seapark1, amy1)

 6. 导入一个表

 imp system/manager file=E:/sampleDB.dmp log=E:/sample.log 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

9. 增量导入

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

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:31064次
    • 积分:699
    • 等级:
    • 排名:千里之外
    • 原创:41篇
    • 转载:1篇
    • 译文:0篇
    • 评论:8条
    文章分类
    最新评论