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

Oracle导出数据(转)

阅读更多

1.1   exp   使用方法及实例   
    
  exp/imp   为一种数据库备份恢复工具也可以作为不同数据库之间传递数据的工具两个数据库所在的操作系统可以不同exp   可以将数据库数据导出为二进制文件,imp 可以将导出的数据文件再导入到相同的数据库或不同的数据库   
    
  数据库导出有四种模式full(全库导出),   owner(用户导出),   table(表导出),   tablespace(表空间导出).   
    
  full(   全库导出):   导出除ORDSYS,MDSYS,CTXSYS,ORDPLUGINS,LBACSYS   这些系统用户之外的所有用户的数据.   
  owner(   用户导出):   导出某个或某些用户的所有权限和数据.   
  tables(   表导出):   导出某些表(可以是不同用户的)的结构和数据.   
  tablespace(   表空间导出):表空间导出数据.   

    
  执行exp   有三种方法:交互式,命令行和参数文件   
    
  交互式:直接输入exp   命令用户可以按照exp   提示的信息一步一步操作,比较简单.   
    
  命令行:输入命令行exp   username/password   parameter=value.   

这里要特别注意,当你的数据库实例不是默认的,而是出于安全等因素修改过的话,那就要用exp   username/password@instance才能导得到数据库的数据,不然无法使用exp命令

    
  参数文件:输入命令行exp   username/password   parfile=filename   exp   所需的参数从参数文件引入.   
    
  参数是可以重复的优先级为命令行优于参数文件后面的参数值覆盖于前面的参数值.   
    
  下面介绍一些常用的参数没有标明的表示exp/imp   都适用imp   的参数不再单独介绍.   
    
  1.1.1   参数介绍   
    
  buffer   缓冲区大小如果此值设为0   则一次只导入一条记录对数据量大的导出可以设置较大一般缺省值即可.   
  file   导出的文件列表可以指定一个或多个文件名缺省扩展名为.dmp   缺省导出文件名为expdat.dmp.   
  filesize   exp   导出文件的最大字节数超出时从文件列表中获取下一个文件名,没有,则提示输入新的文件名.   
  help   显示export   参数帮助信息    
  inctype   增量备份的类型:complete(完全),cumulative(累积)和incremental   (增量).   

   
  只可以在全库导出模式下才可以做完全累积或增量导出累积导出只导出自上次累积导出或完全导出以来已经修改的表增量导出只导出自上次增量累积或完全导出以来已经修改的表完全导出将数据库中全部对象都导出不管是否以及何时被修改.   
    
  log:日志文件,一般如果以命令行导入时,将log   设置上比较好可以看,到所有的导入信息,导入信息哪儿出错,导入了那些数据库对象.   
  show(imp):只是用来显示备份数据文件的内容.   
  full:为Y   时表示在全库方式下导出缺省为N.   
  tables:导出的表列表可以指定一个或多个表名.   
  fromuser(imp):可以将导出文件中的一个用户模式的数据对象导入为另一个用户模式的对象此参数表示导出文件中的用户模式.   
  touser(imp):此参数表示导入到数据库中时使用的用户模式对象譬如使用全库或者用户模式导出cams   用户的所有对象到一个文件中导入时需要将用户模式名称改为cams1,此时fromuser   为cams,touser   为cams1.   

    
  1.1.2   典型用法   
    
  1.   交互式-用户导出   
    
  交互式导出比较简单,这里只举用户导出一种用法进行说明,全库导出和表导出比较简单不再列出.   
    
  [oracle@localhost   script]$   exp   
  Export:   Release   8.1.7.4.0   -   Production   on   Fri   Feb   6   15:01:07   2004   
  (c)   Copyright   2000   Oracle   Corporation.   All   rights   reserved.   
    
  Username:   cams   --此处输入启动导出的用户   
    
  Password:   --此处输入相应的密码   
    
  Connected   to:   Oracle8i   Enterprise   Edition   Release   8.1.7.4.0   -Production   
  JServer   Release   8.1.7.4.0   -   Production   
    
  Enter   array   fetch   buffer   size:   4096   >--此处需要输入buffer   值交互式导出时大多数参数都有缺省值,如果选用缺省值,直接回车即可.   
    
  Export   file:   expdat.dmp   >   20040206.dmp   --此处输入导出文件名   
    
  (1)E(ntire   database),   (2)U(sers),   or   (3)T(ables):   (2)U   >   --此处输入导出模式,全库导出,用户导出还是表导出,缺省为用户导出.   
    
  Export   grants   (yes/no):   yes   >   --是否导出授权通常选择yes   
    
  Export   table   data   (yes/no):   yes   >   --是否导出表中数据如果选择no则只导出表的结构通常选择yes   
    
  Compress   extents   (yes/no):   yes   >   --选择yes   
    
  Export   done   in   ZHS16CGB231280   character   set   and   ZHS16CGB231280   NCHAR   
  character   set   
  About   to   export   specified   users   ...   
    
  User   to   be   exported:   (RETURN   to   quit)   >   cams   --此处输入需要导出的用户,如果需要导出多个用户的数据,exp   会一直提示用户,直至用户输入了..   
    
  User   to   be   exported:   (RETURN   to   quit)   >   ..   --此处输入".."   
    
  .   exporting   pre-schema   procedural   objects   and   actions   
  .   exporting   foreign   function   library   names   for   user   CAMS   
  .   exporting   object   type   definitions   for   user   CAMS   
  About   to   export   CAMS's   objects   ...   
  .   exporting   database   links   
  .   exporting   sequence   numbers   
  .   exporting   cluster   definitions   
  .   about   to   export   CAMS's   tables   via   Conventional   Path   ...   
    
  .   .   exporting   table   TBL_BILLDETAIL_SWITCH   23   rows   exported   
  .   .   exporting   table   TBL_BLACKLIST   0   rows   exported   
  .   .   exporting   table   TBL_CHARGE_CARD   11   rows   exported   
  .   .   exporting   table   TBL_ERROR_CODE   37   rows   exported   
  .   .   exporting   table   TBL_EXPORT   2   rows   exported   
  .   .   exporting   table   TBL_LOG   3008   rows   exported   
  ......   
  .   exporting   synonyms   
  .   exporting   views   
    
  .   exporting   stored   procedures   
  .   exporting   operators   
  .   exporting   referential   integrity   constraints   
  .   exporting   triggers   
  .   exporting   indextypes   
  .   exporting   bitmap,   functional   and   extensible   indexes   
  .   exporting   posttables   actions   
  .   exporting   snapshots   
  .   exporting   snapshot   logs   
  .   exporting   job   queues   
  .   exporting   refresh   groups   and   children   
  .   exporting   dimensions   
  .   exporting   post-schema   procedural   objects   and   actions   
  .   exporting   statistics   
  Export   terminated   successfully   without   warnings.   
    
  说明:   
    
  (1)   在交互式导出或导入时,如果输错值,不再想进行下面的步骤,但不知如何退出此时请用".   "   
    
  2.   命令行-全库导出   
    
  exp   userid=cams/cams@cams   full=y   file=(/tmp/2004020601.dmp,   
  /tmp/2004020602.dmp,   /tmp/2004020603.dmp)   filesize=2GB   
  log=/tmp/20040206.log   

    
  该命令导出全库数据,导出到多个文件中,每个文件最大2GB,   exp   只生成最少的导出文件,譬如导出的数据不足2GB,   exp   只生成/tmp/2004020601.dmp   如果file   列表中的文件太少,不能存放所有的导出数据,exp   会提示用户输入文件名,导出过程记录日志.   
    
  说明:   
    
  (1)   由于linux   文件系统最大只支持2G   的文件,所以如果数据库数据量大超过2G   时导出将会出错,所以file   参数可以设置多个文件.   
    
  3.   命令行用户导出   
    
  exp   userid=cams/cams@cams   owner=cams   file=(/tmp/2004020601.dmp,   
  /tmp/2004020602.dmp,   /tmp/2004020603.dmp)   filesize=2GB   
  log=/tmp/20040206.log   
    
  该命令导出cams   用户数据导出到多个文件中每个文件最大2GB   导出过程记录日志   
    
  4.   命令行表导出   
    
  exp   userid=cams/cams@cams   tables=(tbl_log,   tbl_user_log)   
  file=(/tmp/2004020601.dmp,   /tmp/2004020602.dmp)   filesize=2GB   
  log=/tmp/20040206.log   
    
  该命令导出cams   用户的两个表的数据,导出到多个文件中,每个文件最大2GB,导出过程记录日志.   
    
  5.   命令行-完全导出   
    
  exp   userid=cams/cams@cams   full=y   inctype=complete   
  file=(/tmp/2004020601.dmp,   /tmp/2004020602.dmp,   /tmp/2004020603.dmp)   
  filesize=2GB   log=/tmp/20040206.log   
    
  该命令完全导出全库数据,导出到多个文件中每个文件最大2GB,导出过程记录日志.   
    
  说明:   
    
  (1)   全库导出时,增量导出类型缺省为(complete)完全,所以例5   和例2导出的结果是完全一样的.   
    
  6.   命令行-累积导出   
    
  exp   userid=cams/cams@cams   full=y   inctype=cumulative   
  file=(/tmp/2004020601.dmp,   /tmp/2004020602.dmp)   filesize=2GB   
  log=/tmp/20040206.log   
    
  该命令累积导出全库数据,导出到多个文件中,每个文件最大2GB,导出过程记录日志.   
    
  说明:   
    
  (1)   如果选择了增量导出类型,则必需选择full=y,即只能在全库导出模式下进行完全累积或增量导出.   
    
  7.   命令行-增量导出   
    
  exp   userid=cams/cams@cams   full=y   inctype=incremental   
  file=(/tmp/2004020601.dmp,   /tmp/2004020602.dmp)   filesize=2GB   
  log=/tmp/20040206.log   
    
  该命令累积导出全库数据,导出到多个文件中,每个文件最大2GB,导出过程记录日志.   
    
  8.   参数文件-用户导出   
    
  exp   parfile=cams_exp.par   
    
  cams_exp.par文件的内容如下:   
    
  userid=cams/cams@cams   
  owner=cams   
  file=(/tmp/2004020601.dmp,/tmp/2004020602.dmp,   tmp/2004020603.dmp)   
  filesize=1GB   
  log=/tmp/cams_exp.log   
    
  该命令使用了参数文件,导出cams用户的所有数据,导出到多个文件中,每个文件最大2GB,导出过程记录日志.   
    
  说明:   
    
  (1)   cams   用户保存了CAMS   系统的重要数据,为了不暴露cams用户的密码,可以将上面的userid   的值写为cams@cams,此时exp   会提示用户输入密码,输入的密码不会显示出来.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics