EXP和IMP的用法

原创 2012年03月30日 13:20:06

 

1,EXP  的用法:

 

 

2,IMP 的用法:

 

 

 

3,IMP 导入"IMP-00008" 的错误解决方法

导出命令:exp test/test#dblink  tables=test file=D:\TEST.DMP#导出正常

导入命令:imp test/test#dblink file=D:\TEST.DMP  log=imp.log#导入错误,提示'IMP-00008'

屏幕打印错误:

查看导入参数定义的imp.log 里面的错误信息:

imp-00032:sql语句超过缓冲区长度
imp-00008:导出文件中出现无法识别的语句:
:00:00', 'SYYYY-MM-DD HH24:MI:SS',NLS_CALENDAR=GREGORIAN')) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "test_tbs_26" logging nocompress,partition "test2_tbs_27"...

 

解决方法:#加buffer=65536000参数,buffer的意思是buffer满了就commit

imp test/test#dblink file=D:\TEST.DMP  log=imp.log buffer=65536000

 

 

基本语法和实例:
1、EXP:
有三种主要的方式(完全、用户、表)
1、完全:
EXP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y
如果要执行完全导出,必须具有特殊的权限
2、用户模式:
EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC
这样用户SONIC的所有对象被输出到文件中。
3、表模式:
EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC TABLES=(SONIC)
这样用户SONIC的表SONIC就被导出
2、IMP:
具有三种模式(完全、用户、表)
1、完全:
IMP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y
2、用户模式:
IMP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP FROMUSER=SONIC TOUSER=SONIC
这样用户SONIC的所有对象被导入到文件中。必须指定FROMUSER、TOUSER参数,这样才能导入数据。
3、表模式:
EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC TABLES=(SONIC)
这样用户SONIC的表SONIC就被导入。


ORACLE数据库有两类备份方法。第一类为物理备份,该方法实现数据库的完整恢复,但数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且需要极大的外部存储设备,例如磁带库;第二类备份方式为逻辑备份,业务数据库采用此种方式,此方法不需要数据库运行在归挡模式下,不但备份简单,而且可以不需要外部存储设备。
  
  数据库逻辑备份方法
  
  ORACLE数据库的逻辑备份分为三种模式:表备份、用户备份和完全备份。
  
  表模式
  
  备份某个用户模式下指定的对象(表)。业务数据库通常采用这种备份方式。
  
  若备份到本地文件,使用如下命令:
  
  exp icdmain/icd rows=y indexes=n compress=n buffer=65536
  feedback=100000 volsize=0
  file=exp_icdmain_csd_yyyymmdd.dmp
  log=exp_icdmain_csd_yyyymmdd.log
  tables=icdmain.commoninformation,icdmain.serviceinfo,icdmain.dealinfo
  
  若直接备份到磁带设备,使用如下命令:
  exp icdmain/icd rows=y indexes=n compress=n buffer=65536
  feedback=100000 volsize=0
  file=/dev/rmt0
  log=exp_icdmain_csd_yyyymmdd.log
  tables=icdmain.commoninformation,icdmain.serviceinfo,icdmain.dealinfo
  
  注:在磁盘空间允许的情况下,应先备份到本地服务器,然后再拷贝到磁带。出于速度方面的考虑,尽量不要直接备份到磁带设备。
  
  用户模式
  
  备份某个用户模式下的所有对象。业务数据库通常采用这种备份方式。
  若备份到本地文件,使用如下命令:
  exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536
  feedback=100000 volsize=0
  file=exp_icdmain_yyyymmdd.dmp
  log=exp_icdmain_yyyymmdd.log
  若直接备份到磁带设备,使用如下命令:
  exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536
  feedback=100000 volsize=0
  file=/dev/rmt0
  log=exp_icdmain_yyyymmdd.log
  注:如果磁盘有空间,建议备份到磁盘,然后再拷贝到磁带。如果数据库数据量较小,可采用这种办法备份。

  以下为详细的导入导出实例:

  一、数据导出:

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

  exp system/manager@TEST file=d:\daochu.dmp full=y

  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 filed1 like '00%'\"

  上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。

  不过在上面命令后面 加上 compress=y 就可以了

  二、数据的导入

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

  imp system/manager@TEST file=d:\daochu.dmp

  上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。

  在后面加上 ignore=y 就可以了。

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

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

  基本上上面的导入导出够用了。不少情况我是将表彻底删除,然后导入。

  注意:

  你要有足够的权限,权限不够它会提示你。

  数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。

 

 参考来自:  http://blog.csdn.net/m582445672/article/details/5561970

======================================================================

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任! 谢谢合作!

QQ: 164798858@qq.com
Sina: weibo.com/kaijunfeng
Yahoo: fffygapl@yahoo.com.cn


 

IMP和EXP的用法

Oracle 数据库备份与恢复总结-exp/imp (导出与导入装库与卸库) 1 基本命令: 1. 获取帮助 $exp –help $imp –help 2. 三种工作方式 1.交互式方式...
  • moses19
  • moses19
  • 2014年12月25日 13:50
  • 666

exp/imp 参数设置与使用方法 (转载)

原文地址http://blog.itpub.net/24858170/viewspace-680489/ EXP导出选项 关键字 内容 USERID 运行导出命令的帐号的用户名/口令 ...
  • freedompuge
  • freedompuge
  • 2016年04月28日 14:12
  • 1795

EXP/IMP使用技巧总结

1、 用sys用户全库导出DDL,不导出数据 exp 'sys/oracle@ORCL as sysdba' file=D:/AIX/ORCL_ALL.dmp full=y ROWS=N log=D...
  • tianwei7518
  • tianwei7518
  • 2015年01月07日 09:49
  • 901

imp和exp命令详解

Export  和  Import 是一对读写 Oracle 数据的工具。Export  将  Oracle 数据库 中的数据输出到操作系统文件中,  Import  把这些文件中的数据读到Orac...
  • z1049186181
  • z1049186181
  • 2015年01月04日 14:45
  • 1935

exp/imp工具的使用

Export/Import 使用技巧与常见错误Export 和 Import 是一对读写Oracle数据的工具. Export 将 Oracle 数据库中的数据输出到操作系统文件中, Import 把...
  • wazj0517
  • wazj0517
  • 2007年05月14日 18:34
  • 921

使用exp/imp工具对“oracle数据库”进行简单的导出及导入操作

使用exp/imp工具对“oracle数据库”进行简单的导出及导入操作 1、操作环境:win2003、oracle9i 2、Oracle Export/Import工具:         Ora...
  • huangyanlong
  • huangyanlong
  • 2014年01月11日 21:04
  • 2920

oracle使用exp与imp对数据迁移备份的方法

使用exp和imp命令是oracle对数据进行迁移备份的一种最简单最常用的一种方式。在此记录下使用的方法步骤,以备后用。 首先,在老库上使用命令: exp userid=username/pass...
  • wei83523408
  • wei83523408
  • 2016年05月29日 11:42
  • 1471

Oracle导入和导出exp/imp/expdp/impdp

导出 exp 1 将数据库完全导出,用户名system 密码manager 导出到D:\daochu.dmp中 exp system/manager@hostname:1521/ora11g file...
  • chichuduxing
  • chichuduxing
  • 2017年03月30日 16:39
  • 523

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

【用 exp 数 据 导 出】: 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中    exp system/manager@TEST   ...
  • lsyuan1989
  • lsyuan1989
  • 2015年12月28日 14:10
  • 42715

oracle exp/imp工具使用

最近在学习oraclel备份与恢复的知识,特总结了逻辑备份与恢复的使用方法:   一、逻辑备份的介绍: 所谓备份 ,就是把数据库复制到转储设备的过程。其中,转储设备是指用于放置数据库拷贝的磁带或...
  • IndexMan
  • IndexMan
  • 2012年08月05日 15:40
  • 2823
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:EXP和IMP的用法
举报原因:
原因补充:

(最多只允许输入30个字)