`
sgl124764903
  • 浏览: 170247 次
  • 性别: Icon_minigender_1
  • 来自: 邯郸
社区版块
存档分类
最新评论

本地oracle数据导出到另一台机子的oracle

阅读更多

你数据库对应的用户是不同的吧,根据用户导出就行了!  
   
   
  当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(包括机器故障、介质故障、误操作等),数据库有时也可能遭到破坏,这时如何尽快恢复数据就成为当务之急。如果平时对数据库做了备份,那么此时恢复数据就显得很容易。由此可见,做好数据库的备份是多么的重要,下面笔者就以ORACLE7为例,来讲述一下数据库的备份和恢复。ORACLE   数据库有三种标准的备份方法,它们分别为导出/导入(EXPORT/IMPORT)、冷备份、热备份。导出备份是一种逻辑备份,冷备份和热备份是物理备份。    
   
  ----   一、   导出/导入(Export/Import)    
   
  ----   利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回Oracle数据库中去。    
   
  ----   1.   简单导出数据(Export)和导入数据(Import)    
   
  ----   Oracle支持三种类型的输出:    
   
  ----   (1)表方式(T方式),将指定表的数据导出。    
   
  ----   (2)用户方式(U方式),将指定用户的所有对象及数据导出。    
   
  ----   (3)全库方式(Full方式),将数据库中的所有对象导出。    
   
  ----   数据导出(Import)的过程是数据导入(Export)的逆过程,它们的数据流向不同。    
   
  ----   2.   增量导出/导入    
   
  ----   增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。    
   
  ----   增量导出包括三个类型:    
   
  ----   (1)“完全”增量导出(Complete)    
   
  ----   即备份整个数据库,比如:    
   
  ----   $exp   system/manager   inctype=complete   file=990702.dmp    
   
  ----   (2)   “增量型”增量导出    
   
  ----   备份上一次备份后改变的数据。比如:    
   
  ----   $exp   system/manager   inctype=incremental   file=990702.dmp    
   
  ----   (3)   “累计型”增量导出(Cumulative)    
   
  ----   累计型导出方式只是导出自上次“完全”   导出之后数据库中变化了的信息。比如:    
   
  ----   $exp   system/manager   inctype=cumulative   file=990702.dmp    
   
  ----   数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效地完成。    
   
  ----   比如数据库的备份任务可作如下安排:    
   
  ----   星期一:完全导出(A)    
   
  ----   星期二:增量导出(B)    
   
  ----   星期三:增量导出(C)    
   
  ----   星期四:增量导出(D)    
   
  ----   星期五:累计导出(E)    
   
  ----   星期六:增量导出(F)    
   
  ----   星期日:增量导出(G)    
   
  ----   如果在星期日,数据库遭到意外破坏,数据库管理员可按以下步骤来恢复数据库:    
   
  ----   第一步:用命令CREATE   DATABASE重新生成数据库结构;    
   
  ----   第二步:创建一个足够大的附加回段。    
   
  ----   第三步:完全增量导入A:    
   
  ----   $imp   system./manager   inctype=   RECTORE   FULL=Y   FILE=A    
   
  ----   第四步:累计增量导入E:    
   
  ----   $imp   system/manager   inctype=   RECTORE   FULL=Y   FILE   =E    
   
  ----   第五步:最近增量导入F:    
   
  ----   $imp   system/manager   inctype=RESTORE   FULL=Y   FILE=F    


二、   冷备份    
   
  ----   冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份是将关键性文件拷贝到另外位置的一种说法。对于备份Oracle信息而言,冷备份是最快和最安全的方法。冷备份的优点是:    
   
  ----   1.是非常快速的备份方法(只需拷贝文件)    
   
  ----   2.容易归档(简单拷贝即可)    
   
  ----   3.容易恢复到某个时间点上(只需将文件再拷贝回去)    
   
  ----   4.能与归档方法相结合,作数据库“最新状态”的恢复。    
   
  ----   5.低度维护,高度安全。    
   
  ----   但冷备份也有如下不足:    
   
  ----   1.单独使用时,只能提供到“某一时间点上”的恢复。    
   
  ----   2.在实施备份的全过程中,数据库必须要作备份而不能作其它工作。也就是说,在冷备份过程中,数据库必须是关闭状态。    
   
  ----   3.若磁盘空间有限,只能拷贝到磁带等其它外部存储设备上,速度会很慢。    
   
  ----   4.不能按表或按用户恢复。    
   
  ----   如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用户可以工作)并将所备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。冷备份中必须拷贝的文件包括:    
   
  ----   1.所有数据文件    
   
  ----   2.所有控制文件    
   
  ----   3.所有联机REDO   LOG文件    
   
  ----   4.Init.ora文件(可选)。    
   
  ----   值得注意的是冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的    
   
  ----   下面是做冷备份的完整例子:    
   
  ----   (1)   关闭数据库$sqldba   lmode=y    
   
  ----   SQLDBA   >connect   internal;    
   
  ----   SQLDBA   >shutdown   normal;    
   
  ----   (2)   用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件    
   
  ----   SQLDBA   >!   cp   <   file   >   <;   backup   directory   >    
   
   
  ----   (3)   重启Oracle数据库    
   
  ----   $sqldba   lmode=y    
   
  ----   SQLDBA   >connect   internal;    
   
  ----   SQLDBA   >startup;    

 

 

 

 

 

 

 

exp/imp导出导入工具的使用    
   
  2004-02   余枫  
   
  一.   导出工具   exp  
   
  1.   它是操作系统下一个可执行的文件   存放目录/ORACLE_HOME/bin  
   
        exp导出工具将数据库中数据备份压缩成一个二进制系统文件.可以在不同OS间迁移  
         
        它有三种模式:  
                a.     用户模式: 导出用户所有对象以及对象中的数据;  
                b.     表模式: 导出用户所有表或者指定的表;  
                c.     整个数据库: 导出数据库中所有对象。  
   
  2.   导出工具exp交互式命令行方式的使用的例子  
   
  $exp   test/test123@appdb  
  Enter   array   fetch   buffer   size:   4096   >   回车  
  Export   file:   expdat.dmp   >   m.dmp     生成导出的文件名    
  (1)E(ntire   database),   (2)U(sers),   or   (3)T(ables):   (2)U   >   3  
  Export   table   data   (yes/no):   yes   >   回车  
  Compress   extents   (yes/no):   yes   >   回车  
  Export   done   in   ZHS16GBK   character   set   and   ZHS16GBK   NCHAR   character   set  
  About   to   export   specified   tables   via   Conventional   Path   ...  
  Table(T)   or   Partition(T:P)   to   be   exported:   (RETURN   to   quit)   >   cmamenu     要导出的表名  
  .   .   exporting   table                                                 CMAMENU               4336   rows   exported  
  Table(T)   or   Partition(T:P)   to   be   exported:   (RETURN   to   quit)   >要导出的表名n  
  Table(T)   or   Partition(T:P)   to   be   exported:   (RETURN   to   quit)   >   回车  
  Export   terminated   successfully   without   warnings.    
   
  3.   导出工具exp非交互式命令行方式的例子  
   
  $exp   scott/tiger   tables=(emp,dept)   file=/directory/scott.dmp   grants=y    
   
  说明:把scott用户里两个表emp,dept导出到文件/directory/scott.dmp  
   
  $exp   scott/tiger   tables=emp   query=\"where   job=\'salesman\'   and   sal\<1600\"   file=/directory/scott2.dmp    
   
  说明:在exp里面加上导出emp的查询条件job='salesman'   and   sal<1600  
           
          (但我个人很少这样用,还是把满足条件的记录生成临时表后,再exp会方便一些)  
   
  $exp   parfile=username.par   file=/directory1/username_1.dmp,/directory1/username_2.dmp   filesize=2000M   log=/directory2/username_exp.log  
   
  参数文件username.par内容  
  userid=username/userpassword  
  buffer=8192000  
  compress=n  
  grants=y  
   
  说明:username.par为导出工具exp用的参数文件,里面具体参数可以根据需要去修改  
   
            filesize指定生成的二进制备份文件的最大字节数  
             
            (可用来解决某些OS下2G物理文件的限制及加快压缩速度和方便刻历史数据光盘等)  
   
  二.导入工具   imp  
   
  1.   它是操作系统下一个可执行的文件   存放目录/ORACLE_HOME/bin  
   
  imp导入工具将EXP形成的二进制系统文件导入到数据库中.  
   
        它有三种模式:  
                a.     用户模式: 导出用户所有对象以及对象中的数据;  
                b.     表模式: 导出用户所有表或者指定的表;  
                c.     整个数据库: 导出数据库中所有对象。  
                 
        只有拥有IMP_FULL_DATABASE和DBA权限的用户才能做整个数据库导入  
         
        imp步骤:  
        (1)   create   table     (2)   insert   data     (3)   create   index   (4)   create   triggers,constraints  
   
  2.导入工具imp交互式命令行方式的例子  
  $   imp  
  Import:   Release   8.1.6.0.0   -   Production   on   星期五   12月   7   17:01:08   2001  
  (c)   Copyright   1999   Oracle   Corporation.     All   rights   reserved.  
  用户名:     test  
  口令:****  
  连接到:   Oracle8i   Enterprise   Edition   Release   8.1.6.0.0   -   64bit   Production  
  With   the   Partitioning   option  
  JServer   Release   8.1.6.0.0   -   Production  
  导入文件:   expdat.dmp>   /tmp/m.dmp  
  输入插入缓冲区大小(最小为   8192   )   30720>  
  经由常规路径导出由EXPORT:V08.01.06创建的文件  
  警告:   此对象由   TEST   导出,   而不是当前用户  
  已经完成ZHS16GBK字符集和ZHS16GBK   NCHAR   字符集中的导入  
  只列出导入文件的内容(yes/no):no>  
  由于对象已存在,   忽略创建错误(yes/no):no>   yes  
  导入权限(yes/no):yes>  
  导入表数据(yes/no):yes>  
  导入整个导出文件(yes/no):no>   yes  
  .   正在将TEST的对象导入到   SCOTT  
  .   .   正在导入表                                               "CMAMENU"               4336行被导入  
  成功终止导入,但出现警告。    
   
   
  3.导入工具imp非交互式命令行方式的例子  
   
  $   imp   system/manager   fromuser=jones   tables=(accts)    
  $   imp   system/manager   fromuser=scott   tables=(emp,dept)    
  $   imp   system/manager   fromuser=scott   touser=joe   tables=emp    
  $   imp   scott/tiger   file   =   expdat.dmp   full=y    
  $   imp   scott/tiger   file   =   /mnt1/t1.dmp   show=n   buffer=2048000   ignore=n   commit=y   grants=y   full=y   log=/oracle_backup/log/imp_scott.log  
  $   imp   system/manager   parfile=params.dat    
  params.dat   内容    
  file=dba.dmp   show=n   ignore=n   grants=y   fromuser=scott   tables=(dept,emp)    
   
  4.导入工具imp可能出现的问题  
   
  (1)   数据库对象已经存在  
  一般情况,   导入数据前应该彻底删除目标数据下的表,   序列,   函数/过程,触发器等;      
  数据库对象已经存在,   按缺省的imp参数,   则会导入失败  
  如果用了参数ignore=y,   会把exp文件内的数据内容导入  
  如果表有唯一关键字的约束条件,   不合条件将不被导入  
  如果表没有唯一关键字的约束条件,   将引起记录重复  
   
  (2)   数据库对象有主外键约束  
              不符合主外键约束时,   数据会导入失败  
              解决办法:   先导入主表,   再导入依存表  
  disable目标导入对象的主外键约束,   导入数据后,   再enable它们  
  (3)     权限不够  
  如果要把A用户的数据导入B用户下,   A用户需要有imp_full_database权限  
   
  (4)     导入大表(   大于80M   )   时,   存储分配失败  
              默认的EXP时,   compress   =   Y,   也就是把所有的数据压缩在一个数据块上.  
              导入时,   如果不存在连续一个大数据块,   则会导入失败.  
              导出80M以上的大表时,   记得compress=   N,   则不会引起这种错误.  
   
  (5)   imp和exp使用的字符集不同  
              如果字符集不同,   导入会失败,   可以改变unix环境变量或者NT注册表里NLS_LANG相关信息.  
              导入完成后再改回来.  
   
  (6)   imp和exp版本不能往上兼容  
  imp可以成功导入低版本exp生成的文件,   不能导入高版本exp生成的文件  
  根据情况我们可以用  
  $   imp   username/password@connect_string  
    说明:   connect_string   是在/ORACLE_HOME/network/admin/tnsnames.ora  
        定义的本地或者远端数据库的名称  
  注意事项:  
  UNIX:   /etc/hosts                     要定义本地或者远端数据库服务器的主机名  
  win98:         windows\hosts                           和IP地址的对应关系      
   
  win2000:     winnt\system32\drivers\etc\hosts  

 

 

 

 

 

 

 

 

 

 

 

 

 

---------------------------------------------------------------------------------------------------------------------------

上面的太乱没怎么整理,今天看到一个导入导出的帖子 重新发一次

 


下面介绍的是导入导出的实例,向导入导出看实例基本上就可以完成,因为导入导出很简单。
数据导出:
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) 

转自
http://bbs.51cto.com/thread-7272-1.html中youtaoup的回帖

分享到:
评论

相关推荐

    自动导出数据库dmp,并备份到另一台机器.txt

    windows环境下,使用bat批处理,自动进行数据库备份到别的机器,且限定备份时间在30天内。

    利用Oracle数据泵完成数据导入和导出

    也正因为任务是运行在数据库内部的,所以如果你要将数据导出到一个文件中,那么你首先要做的事情就是为输出路径建立一个数据库的DIRECTORY 对象,然后给将要进行数据导入和导出的用户授权访问。

    oracle导出数据命令

    exp pmshn/pmshn@proj_50 file=d:\a.dmp tables=(CPN_INTERFACE_CSMS_MMU) 说明: proj_50:自己机器上的PL/SQL中建立的连接的那个别名,不是数据库名

    MySql转换成Oracle工具

    Convert Mysql to Oracle 最新版本:4.0 Convert Mysql to Oracle是一个免费的数据库转换工具,实现快速安全地将Mysql数据库导入为...在机器中安装了ORACLE客户端,使得Convert Mysql to Oracle能够成功连接到ORACLE

    oracle导出文本文件的存储过程

    oracle导出文本文件的存储过程。 需要在oracle安装的机器上导出,效率非常高。

    Oracle Instant Client 11.2.0.1.0 轻量级Oracle客户端

    Oracle Instant Client 11.2.0.1.0是轻量级Oracle客户端,用于连接访问Oracle 9i、10g、11g 11.2.0.1.0版本的Oracle数据库。 Oracle Instant Client11.2.0.1.0 安装程序包含OCI/ OCCI、JDBC-OCI SDK(软件开发工具...

    oracle数据库导入导出.ppt

    存档历史数据 保存表的定义以防止由于用户的误操作导致表的删除 在不同机器的数据库之间移动数据,或者在不同版本的数据库之间移动数据

    Oracle 主要配置文件介绍

    /u02/app/oracle/admin/cams/udump 6 UTL_FILE_DIR 参数 UTL_FILE_DIR = * UTL_FILE_DIR 参数指定一个或多个目录用于 Oracle 应用的文件 I/O 如备 份数据到文件 在 CAMS 系统中将该值设置为 * ...

    linux oracle imp exp 执行命令安装

    linux oracle 远程连接oracle服务器时,客服端机器需要安装imp exp命令才可以操作操作数据库导入/导出数据

    通过PLSQ在没有安装oracle的机器上远程连接oracle数据库

    通过PLSQ在没有安装oracle的机器上远程连接oracle数据库

    构建最高可用Oracle数据库系统 Oracle 11gR2 RAC管理、维护与性能优化

    12.7.2导入导出工具数据泵 12.7.3跨平台数据迁移 12.7.4可传输表空间 12.7.5使用RMAN工具复制数据库 12.8本章小结 第13章 RAC恢复 13.1恢复技术基础 13.1.1恢复解决方案 13.1.2 SCN时间机制 13.1.3日志线程...

    Oracle自动备份

    相信为数不少的系统管理员每天都在做着同一样的工作——对数据进行备份。...我们计划让数据库在晚上23点做export导出备份,在凌晨2点将备份文件拷贝到磁带上,在凌晨4点将备份文件拷贝到另一台UNIX机器上.

    使用python将大量数据导出到Excel中的小技巧分享

    (1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢?如果碰到需要导出大量数据又该如何操作呢? 本文主要解决以上两个问题。 (2)...

    自动备份Oracle数据库

     我们计划让数据库在晚上23点做export导出备份,在凌晨2点将备份文件拷贝到磁带上,在凌晨4点将备份文件拷贝到另一台UNIX机器上,为此我们可进行如下操作: 一、导出数据库 export命令将数据库中的数据备份成一

    oracle函数大全.doc

    将源字符串 sset从一个语言字符集转换到另一个目的dset字符集 SQL&gt; select convert('strutz','we8hp','f7dec') "conversion" from dual; conver ------ strutz 44.HEXTORAW 将一个十六进制构成的字符串转换为二进制 ...

    在Oracle中导入dmp文件的方法

    项目开始拿到了dmp文件,数据库用的是10g的,但是尽然没导成功,后来想可能导出的时候用11导出的,决定试一下。 正好自己的机器是11的客户端,结果不识别imp命令,到安装目录下的bin文件夹下看尽然没有imp执行文件。...

    数据仓库数据集市BI数据分析介绍.pptx

    导出数据、综合性数据、历史数据、不可更新但周期性刷新,一次处理的数据量大 工作单位 简单的事务 复杂的查询 用户数 上千个 上百个 DB大小 100MB-GB 100GB-TB 数据仓库数据集市BI数据分析介绍全文共35页,当前为第...

    关于oracle数据库高版本向低版本迁移的解决方法

    昨天要把自己机器上的数据库迁移到专用服务器上一份,本地安装的Oracle10g,服务器上安装的数据库是Oracle9i,一开始进行如下操作:  本地导出数据库文件: expgzwp/wlkp@taxserfile= d:20130226.dmp owner=...

    在RHEL3上安装ORALCE9I

    5、 配置输出环境变量,调出oracle安装图形界面locate机器: export DISPLAY=10.1.1.1:0.0(图形界面显示到….这部机器) xhost +(本机安装!如不是在本机安装请配置IP地址) xclock(测试) 6、 安装oracle软件...

    MYSQL,SQLSERVER,ORACLE常用的函数

    SQL&gt; select instr('oracle traning','ra',1,2) instring from dual; INSTRING --------- 9 6.LENGTH 返回字符串的长度; SQL&gt; select name,length(name),addr,length(addr),sal,length(to_char(sal)) from ....

Global site tag (gtag.js) - Google Analytics