EXP 导出出错解决方案
前言:
今天想要把 当前用户下的数据库 导出来,使用命令
导出数据库可用语句:
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 导出出错解决方案的更多相关文章
- oracle 11g空表不能exp导出问题解决方案
oracle 11g空表不能exp导出问题解决方案 最近由于要进行迁移服务器代码和数据库,突然发现导出的表少了,通过排查发现空表尽然没有exp导出,真是郁闷啊,虽然是空表没数据,但也不能没有啊,如何是 ...
- EXP导出aud$报错EXP-00008,ORA-00904 解决
主题:EXP导出aud$报错EXP-00008,ORA-00904 解决 环境:Oracle 11.2.0.4 问题:在自己的测试环境,导出sys用户下的aud$表报错. 1.故障现场 2.跟踪处理 ...
- exp导出数据时丢表
友军发来消息,说使用exp导出某个schema的数据的时候,发现有些表没有导出来.因为一直没有使用exp的习惯,就使用exp\expdp再次导出一次,分析二者的日志,发现exp的确有些表没有导出. 问 ...
- oracle EXP导出一张表时使用query参数指定where条件
oracle exp 导出一个表的部分内容,使用query参数可加上SQL的where条件进行过滤 注意:如果需要使用到日期字符串格式等单引号,需要使用双引号将where条件括起来,而且双引号要用\做 ...
- 高版本->低版本迁移,低版本客户端连接高版本数据库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,若 ...
- Oracle 11G在用EXP 导出时,空表不能导出解决
Oracle 11G在用EXP 导出时,空表不能导出解决 (转)(.http://wanwentao.blog.51cto.com/2406488/545154 11G中有个新特性,当表无数据时,不分 ...
- Atitit.excel导出 功能解决方案 php java C#.net版总集合.doc
Atitit.excel导出 功能解决方案 php java C#.net版总集合.docx 1.1. Excel的保存格式office2003 office2007/2010格式1 1.2. 类库选 ...
- Oracle11g使用exp导出空表
1.Oracle11g默认对空表不分配segment,故使用exp导出Oracle11g数据库时,空表不会导出. 2.设置deferred_segment_creation 参数为FALSE后,无论是 ...
- 设置oracle11g空表exp导出
1.Oracle11g默认对空表不分配segment,故使用exp导出Oracle11g数据库时,空表不会导出. 2.设置deferred_segment_creation 参数为FALSE后,无论是 ...
随机推荐
- weblogic迁移总结
weblogic使用的数据库时DB2 1. 图形化安装weblogic和域,或者静默安装. 2. 查看环境变量env并修改,修改系统默认语言(根据实际情况) 3. 修改weblogic页面打开较慢问题 ...
- liunx Swap 分区的作用
1.1 SWAP 概述 当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存 ...
- 本质矩阵E求解及运动状态恢复
为了获取本质矩阵,首先计算基础矩阵F.根据本质矩阵E,即可恢复得到运动的状态R和T. 由可以根据匹配点得到F,然后根据和相机内参,即可得到本质矩阵E.进而根据: 注意:根据摄像机模型t=-RT,恢复运 ...
- [转]mysql如何利用Navicat 导出和导入数据库
MySql是我们经常用到的数据,无论是开发人员用来练习,还是小型私服游戏服务器,或者是个人软件使用,都十分方便.对于做一些个人辅助软件,选择mysql数据库是个明智的选择,有一个好的工具更是事半功倍, ...
- [转]MySQL-5.7 Update语句详解
原文地址:https://www.cnblogs.com/tongxiaoda/p/7908977.html .语法 (1)单表 UPDATE [LOW_PRIORITY] [IGNORE] tabl ...
- 【转】oracle & 和 ' 特殊字符处理 ( like 'GAC/&_%' escape '&'; 这里面的 / 居然将& 转义了 为什么?)
原文地址:http://blog.csdn.net/gjswxhb/article/details/6083242 今天在导入一批数据到Oracle时,碰到了一个问题:Toad提示(plsql 也一样 ...
- composer安装与应用
操作环境:centos 6.5+32bit 1. 建立项目目录 mkdir test cd test 2. 在当前目录下安装: $ curl -sS https://getcomposer.org/i ...
- 从零写Java Web框架——实现Ioc依赖注入
大概思路 通过读取配置文件,获取框架要加载的包路径:base-package,类似于 Spring 配置文件中的: <context:component-scan base-package=&q ...
- C语言 · 栅格打印问题
算法提高 栅格打印问题 时间限制:1.0s 内存限制:512.0MB 问题描述 编写一个程序,输入两个整数,作为栅格的高度和宽度,然后用“+”.“-”和“|”这三个字符来打印一个栅格 ...
- 使用SoapUI 对WebService压力测试
SoapUI版本:5.0.0 测试步骤: 1.新建测试项目: 2.生成TestSuite以及LoadTest 以上操作完成以后项目如下: 开始测试: 双击LoadTest1,如下图: 点击左上角绿色三 ...