3.导入工具imp可能出现的问题
(1) 数据库对象已存在
1般情况, 导入数据前应当完全删除目标数据下的表, 序列, 函数/进程,触发器等;
数据库对象已存在, 按缺省的imp参数, 则会导入失败
如果用了参数ignore=y, 会把exp文件内的数据内容导入
如果表有唯1关键字的束缚条件, 不合条件将不被导入
如果表没有唯1关键字的束缚条件, 将引发记录重复
(2) 数据库对象有主外键束缚
不符合主外键束缚时, 数据会导入失败
解决办法: 先导入主表, 再导入依存表
disable目标导入对象的主外键束缚, 导入数据后, 再enable它们
(3) 权限不够
如果要把A用户的数据导入B用户下, A用户需要有imp_full_database权限
(4) 导入大表( 大于80M ) 时, 存储分配失败
默许的EXP时, compress = Y, 也就是把所有的数据紧缩在1个数据块上.
导入时, 如果不存在连续1个大数据块, 则会导入失败.
导出80M以上的大表时, 记得compress= N, 则不会引发这类毛病.
(5) imp和exp使用的字符集不同
如果字符集不同, 导入会失败, 可以改变unix环境变量或NT注册表里NLS_LANG相干信息.
导入完成后再改回来.
(6) imp和exp版本不能往上兼容
imp可以成功导入低版本exp生成的文件, 不能导入高版本exp生成的文件.