Oracle exp备份导入注意的六个事项


  本文标签:Oracle exp

  凡事都不是完美的  。不论哪种计算机语言,不论它的实际操作技巧是如何灵活,都是避免不掉它的缺陷之处,当然在Oracle exp备份导入时  。我们也需要注意一些在实际操作中经常发生的事项  。

  Oracle exp备份导入注意事项

  (1) 数据库对象已经存在

  一般情况, 导入数据前应该彻底删除目标数据下的表, 序列, 函数/过程,触发器等;数据库对象已经存在, 按缺省的imp参数, 则会导入失败如果用了参数ignore=y, 会把Oracleexp文件内的数据内容导入如果表有唯一关键字的约束条件, 不合条件将不被导入如果表没有唯一关键字的约束条件, 将引起记录重复  。

  (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生成的文件, 不能导入高版本Oracleexp生成的文件

  使用方法:

  例题格式及说明:

  1.普通数据库全部导出和导入

  exp 用户/密码@dbName file=路径.dmp full=y --还有其他的参数,看需要进行填写

  $ exp user/pwd file=/dir/xxx.dmp log=xxx.log full=y commit=y ignore=y --全部导出

  $ imp user/pwd file=/dir/xxx.dmp log=xxx.log fromuser=dbuser touser=dbuser2 --全部导入

  以上就是对Oracle exp备份导入注意事项相关的内容的介绍,望你会有所收获  。