前言:

  今天想要把 当前用户下的数据库 导出来,使用命令

  导出数据库可用语句:

  exp bpmp/bkc123@127.0.0.1:5050/bkcyunty file=D:\bak\db_61.dmp log=D:\bak\db_61.log INDEXES=n STATISTICS=none

  exp ppniedb/ppniedb@wisg file=/home/oracle/upgrade_bak/ppniedb.dmp log=/home/oracle/upgrade_bak/expppniedb.log direct=y compress=n rows=y

导出成功以后的导入命令:

  imp bpmp/bkc123@127.0.0.1:5050/bkcyunty file=D:\bak\db_61.dmp log=D:\bak\db_61.log full=y

遇到的问题:

1)

用命令:exp ***/***@*** file=****.dmp full=y

执行后,系统提示:

EXP-00008:遇到ORACLE错误1406

ORA-01406:提取的列值被截断

EXP-00000:导出终止失败

导出当前用户所在实例下所有数据对象。

虽然不知道为什么,但是 去掉 full=y 就不报这个错了

2)

EXP-00008: 遇到 ORACLE 错误 1455
ORA-01455: 转换列溢出整数数据类型
EXP-00000: 导出终止失败

网上找到的解决方法:

方法一:

exp bpmp/bkc123@127.0.0.1:5050/bkcyunty file=D:\bak\db_61.dmp log=D:\bak\db_61.log INDEXES=n STATISTICS=none

导出语句上加上 INDEXES=n STATISTICS=none

注:错误还是存在。一台机器可以导出,而出错的机器还是报错

方法二:

1) alter system set deferred_segment_creation=FALSE;

2) select 'alter table '||table_name||' allocate extent;' from user_tables WHERE SEGMENT_CREATED='NO';

3) select count(*) from user_lobs where segment_created='NO';

4) select count(*) from user_indexes WHERE SEGMENT_CREATED='NO';

使用 导出用户(bpmp)登录oracle,

执行 3) 4) 看统计结果是否为0,

若是不为0,则执行1),且将2)查询到的结果复制后重新执行一次

再次执行 3) 4) 看统计结果是否为0,为0 后再去执行导出命令即可

注:虽然没有搞清楚,这几句话是什么意思,但是我导出成功了

参考:http://blog.sina.com.cn/s/blog_14d5a51a90102vret.html

3)

EXP-00056: ORACLE error 1455 encountered
ORA-01455: converting column overflows integer datatype
EXP-00000: Export terminated unsuccessfully

导致这个错误原因:
       Export 命令会将表的statistics 值转成成整形。 当这个statistics值超过2^31-1时,就会报这个错误。

解决方法:
1. 通过dba_tables 和 dba_indexes 来查看对应表的值。 即num_rows值,看是否超过了2^31-1。

查询方法:

  select * from all_tables A where A.OWNER='BPMP' and A.NUM_ROWS > 0;

或者 select * from user_tables A where A.NUM_ROWS > 0;

若是可以查询到结果,则清理一下

1)select ' analyze table ' || A.TABLE_NAME ||' compute statistics;' from all_tables A where A.OWNER='BPMP';

2)select ' analyze table ' || A.TABLE_NAME | |' compute statistics for all indexes;' from all_tables A where A.OWNER='BPMP';

3)select ' analyze table ' || A.TABLE_NAME || ' delete statistics ;' from all_tables A where A.OWNER='BPMP';

执行这三条语句,将 查询产生的结果(这里相当于自动生成sql语句),复制出来,最后一起执行

1)重新对表进行分析统计 2)3)是对表的索引记录重新分析统计和清除。

参考:http://www.hongyanliren.com/2014m12/21735.html

这里还有一种解决方法(我看不懂,不移过来了):http://blog.csdn.net/tianlesoftware/article/details/6251652

4)

修改 Oralce 客户端的字符集

Set nls_lang=simplified Chinese_china.zhs16gbk

Set nls_lang=AMERICAN_AMERICA.ZHS16GBK

注:某篇博客说字符串的编码的原因,实际上不是。这样的设置 只是将提示信息 由英文变成了中文

EXP 导出出错解决方案的更多相关文章

  1. oracle 11g空表不能exp导出问题解决方案

    oracle 11g空表不能exp导出问题解决方案 最近由于要进行迁移服务器代码和数据库,突然发现导出的表少了,通过排查发现空表尽然没有exp导出,真是郁闷啊,虽然是空表没数据,但也不能没有啊,如何是 ...

  2. EXP导出aud$报错EXP-00008,ORA-00904 解决

    主题:EXP导出aud$报错EXP-00008,ORA-00904 解决 环境:Oracle 11.2.0.4 问题:在自己的测试环境,导出sys用户下的aud$表报错. 1.故障现场 2.跟踪处理 ...

  3. exp导出数据时丢表

    友军发来消息,说使用exp导出某个schema的数据的时候,发现有些表没有导出来.因为一直没有使用exp的习惯,就使用exp\expdp再次导出一次,分析二者的日志,发现exp的确有些表没有导出. 问 ...

  4. oracle EXP导出一张表时使用query参数指定where条件

    oracle exp 导出一个表的部分内容,使用query参数可加上SQL的where条件进行过滤 注意:如果需要使用到日期字符串格式等单引号,需要使用双引号将where条件括起来,而且双引号要用\做 ...

  5. 高版本->低版本迁移,低版本客户端连接高版本数据库EXP导出报错EXP-00008,ORA-01455,EXP-00000

    生产环境: 源数据库:RHEL + Oracle 11.2.0.3 目标数据库:HP-UX + Oracle 10.2.0.4   需求:迁移部分表  11.2.0.3-->10.2.0.4,若 ...

  6. Oracle 11G在用EXP 导出时,空表不能导出解决

    Oracle 11G在用EXP 导出时,空表不能导出解决 (转)(.http://wanwentao.blog.51cto.com/2406488/545154 11G中有个新特性,当表无数据时,不分 ...

  7. Atitit.excel导出 功能解决方案 php java C#.net版总集合.doc

    Atitit.excel导出 功能解决方案 php java C#.net版总集合.docx 1.1. Excel的保存格式office2003 office2007/2010格式1 1.2. 类库选 ...

  8. Oracle11g使用exp导出空表

    1.Oracle11g默认对空表不分配segment,故使用exp导出Oracle11g数据库时,空表不会导出. 2.设置deferred_segment_creation 参数为FALSE后,无论是 ...

  9. 设置oracle11g空表exp导出

    1.Oracle11g默认对空表不分配segment,故使用exp导出Oracle11g数据库时,空表不会导出. 2.设置deferred_segment_creation 参数为FALSE后,无论是 ...

随机推荐

  1. SQLite三种JDBC驱动的区别

    在DBeaver中看到SQLite有三种JDBC驱动,查了它们官方网站的相关解释,发现它们还是挺不一样的.   SQLite Wrapper by Christian http://www.ch-we ...

  2. Python排序dict之list数组

    两种办法: 其一lambda表达式: ctx['data'] = sorted(ctx['data'], key=lambda k: k['asrtime'], reverse=True) 其二利用o ...

  3. Windows下MFC程序利用LockCop解决死锁

    死锁现象:在训练的时候,点击“终止”按钮时不时会发生死锁. 检测工具:LockCop.TRACE宏.::GetCurrentThreadID函数. 检测手段: 总结起来就是—— 第一步:用LockCo ...

  4. 【MLE】最大似然估计Maximum Likelihood Estimation

    模型已定,参数未知 已知某个随机样本满足某种概率分布,但是其中具体的参数不清楚,参数估计就是通过若干次试验,观察其结果,利用结果推出参数的大概值.最大似然估计是建立在这样的思想上:已知某个参数能使这个 ...

  5. 逻辑回归(LR)和支持向量机(SVM)的区别和联系

    1. 前言 在机器学习的分类问题领域中,有两个平分秋色的算法,就是逻辑回归和支持向量机,这两个算法个有千秋,在不同的问题中有不同的表现效果,下面我们就对它们的区别和联系做一个简单的总结. 2. LR和 ...

  6. Thinkphp在Tpl中调用common.php中的公共函数

    Common/common.php //产生随机验证码 function random($length, $chars = '0123456789') { //随机生成的逻辑 return $hash ...

  7. [Linux实用工具]Linux监控工具munin的安装和配置

    〇.摘要 munin是用于Linux系统(也可以监控windows系统)的监控软件.munin除了可以监控系统的各项数值之外,最大的好处是可以自己编写插件自定义监控需要的数值.整个系统的架构简单明了, ...

  8. mongo源码学习(一)

    在git上把mongo的源码给拉下来了,然后目录大概是这样的: 这个mongo是用C++写的,编译并没有用Makefile而是用的scons工具,这个好像是python写的. mongo后台进程的入口 ...

  9. SHT30 Linux标准 i2c-dev 读取程序

    #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/sta ...

  10. am335x SPI spi_d0, spi_d1 out, in 模式设定

    AM335x SPI DO DI 的模式 参考: https://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/t/13826 ...