• oracle 导入导出


    一:基本导入导出
    exp  scott/oracle@orcl file=d:/test.dmp
    imp scott/oracle@orcl file=d:/test.dmp ignore=y

    ignore参数

    如果表中没有数据,在使用IMP导入  的ignore=y参数时,ORACLE不会检查要导入的数据结构和现存在数据库中表的结构是否相同。
    会直接显示如下信息:
    . . importing table       "XXXXX_tablename"  0 rows imported
    只有真要有数据需要导入时,才会检查数据结构的一致性问题。
    所以在检查自己做的定时导入导出时,一定要用数据去检测,否则可能造成一种假象。


    二:从用户A导入用户B

    1将数据库中用户A的表导出
    1:exp system/manager@TEST file=d:daochu.dmp tables=(table1,table2) 
    注:如果用exp system/manager@TEST file=d:daochu.dmp owner=(system),会将所有是system用户的表都导出,所以还是一个表一个表的写吧!
    2:导入到用户B
    imp user/test@TEST fromuser=system touser=user file=d:daochu.dmp:

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

    三:ORACLE 导出多个用户的表
    exp sljsxmgk/sljsxmgk@124.128.194.93 file=d:/sxz.dmp owner=(user1,user2)
    imp system/oracle@orcl file=d:/sxz.dmp grants=n rows=y ignore=y  fromuser=(user1,user2) touser=(user1,user2)

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

    四:ORACLE无法导出空表解决方案
    11G中新特性,当表无数据时,不分配segment,以节省空间
    解决方法:
    1查找空表并分配空间:select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
    2然后将执行结果复制到另一个SQL窗口,并执行类似的语句:
    ALTER TABLE COMJARREF ALLOCATE EXTENT;  
    ALTER TABLE COMSTORE ALLOCATE EXTENT;  
    ALTER TABLE DATASERVER ALLOCATE EXTENT;  
    ALTER TABLE EIMP_COLUMNS ALLOCATE EXTENT;  
    ALTER TABLE EIMP_TABLES ALLOCATE EXTENT; 

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

    五:ORACLE 导入导出某几个表

    数据导出:

     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) 

     

     

     

  • 相关阅读:
    ruby
    Ajax的基本请求/响应模型
    面向GC的Java编程(转)
    linux中fork()函数详解(转)
    详细解析Java中抽象类和接口的区别(转)
    MQ队列堆积太长,消费不过来怎么办(转)
    消息队列软件产品大比拼(转)
    mac地址和ip地址要同时存在么?
    DP刷题记录(持续更新)
    ZR979B. 【十联测 Day 9】唯一睿酱
  • 原文地址:https://www.cnblogs.com/leonkobe/p/3612515.html
Copyright © 2020-2023  润新知