zoukankan      html  css  js  c++  java
  • Oracle中exp,imp(导入导出)数据迁移注意事项

    这几天做开发库schema备份,出现些问题,记录一下.
    一,exp时,os语言环境和数据库不同时会自动发生转换.
       如果操作系统的字符集小于数据库字符集,就可能出现乱码现象.imp时,同理,也是有可能出现乱码的.如果源库和目标库字符集是
    相同的话,防止exp,imp过程出现字符转换,我们可以在exp,imp动作前,手动设置语音环境和数据库语言环境一样.如数据库语言环境

    为AMERICAN_AMERICA.AL32UTF8,os是windows,使用命令set NLS_LANG=AMERICAN_AMERICA.AL32UTF8;os是linux or unix,使用命令

    export NLS_LANG=AMERICAN_AMERICA.AL32UTF8.

    二,在迁移schema时,即使不迁移数据,也易发生ORA-1659错误.
       在上述错误发生后,select view,发现表的大小和源库表大小是一样的.而实际,我们只是迁移表结构,并没有迁移数据(rows=n).

    查询表发现也是没有迁移数据的,但它的存储空间和源表是一样的.也就是说它迁移了存储空间.分析发现,是由于exp时,没有设置参

    数compress=n所致,由于此参数默认值为y,那么它会在exp时,将源表所有数据压缩到一个extent,也就是initial extent,而imp时,会

    预分配initial extent大小的.因此此种情况下,极易发生ORA-1659错误.
       注:另在作有数据导出时,如果表大小较大的话,使用此参数的默认值也极易发生ORA-1659错误.因为假设你的源表大小为100m,在

    imp时,需分配initial extent大小为100m,如果此时,用户所在表空间没有连续100m空间,那么就会报此错误了.

    三,如果导出统计信息,在只导出部分数据,或不导出数据时,导出统计信息会报错.另如果未导出统计信息,但导入时,需导入统计信息

    ,那此时,导入后,统计信息会被锁住,而无法更新统计信息.
       此时,我们可使用包dbms_stats.unlock_schema_stats来解锁.最好的办法是,在exp,imp时,加入参数statistics=none,不exp,imp

    统计信息,在导入完成后,在重新收集统计信息.

    四,在使用ftp跨系统cp dmp文件时,一定要注意使用bin模式,来防止imp时,不能open文件,而导入失败.

    五,在作imp数据操作时,特别是imp大表时,为了防止发生ORA-1555错误,应设置参数commit=y,buffer=10000000(根据实际情况设置),此时,当buffer空间满时,会自动提交.默认是imp一个表提交一次.

    详例
    迁移用户,但无需迁移数据,且源库,目标库语言环境都为AMERICAN_AMERICA.AL32UTF8,可如下操作:

    导出:
    export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

    exp user/pwd file=export.dmp log=export.log buffer=10000000 grants=n rows=n statistics=none compress=n

    导入:
    export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

    imp user/pwd fromuser=user1 touser=user2 rows=n statistics=none file=export.dmp log=export.log

    出处:http://blog.163.com/card_2005/blog/static/117810368200991562719396/

  • 相关阅读:
    SCAU 9504 面试
    SCAU 9503 懒人选座位
    SCAU 8628 相亲
    SCAU 10691 ACM 光环
    SCAU 8626 原子量计数
    SCAU 10674 等差对
    HDU ACM 1048 The Hardest Problem Ever (水题)
    SCAU 9502 ARDF
    SCAU 10686 DeathGod不知道的事情
    SCAU 8629 热身游戏(高精度)
  • 原文地址:https://www.cnblogs.com/mq0036/p/4171697.html
Copyright © 2011-2022 走看看