概述
命令语句为 imp 用户名/密码@实例名 file=d:datax.dmp log=d:datax.log full=y ignore=y;
其中:file 表示待导入的dmp文件位置;
log 指定导入过程log的记录文件位置,注意,即使指定了将记录保存到log文件里,屏幕打印也不会关闭;
full 表示将dmp全部内容导入;
ignore 表示忽略表创建过程中的错误,比如表名已存在时将直接覆盖原来表的内容;
其余的参数,如指定buffer等,这里不再赘述,以下主要讲我导入时遇到的两个非参数问题。
问题一:屏幕不停打印
ORA-12899: value too large for column MER_ADDR_NAME (actual: 54, maximum: 40),
其原因是字符集差异,中文在UTF-8里占3个字节,ZHS16GBK里占2个字节,此处的解决方法为修改oracle字符编码方式:
- SQL>conn / as sysdba
- SQL>shutdown immediate
- SQL>STARTUP MOUNT
- SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION
- SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0
- SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0
- SQL>ALTER DATABASE OPEN
- SQL>ALTER DATABASE CHARACTER SET ZHS16GBK
- SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK
- SQL>SHUTDOWN IMMEDIATE
- SQL>STARTUP
问题二:屏幕打印“IMP-00003: 遇到 ORACLE 错误 959 ORA-00959: 表空间 'TS-S' 不存在”,说明新的数据库中不存在源数据库的表空间,这里可以根据屏幕打印的log中大串的SQL语句中找到TABLESPACE名,然后手动创建这些表空间。
最后
以上就是敏感超短裙为你收集整理的Oracle使用imp命令导入.dmp文件遇到的几个问题的全部内容,希望文章能够帮你解决Oracle使用imp命令导入.dmp文件遇到的几个问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复