ITPUB论坛-中国最专业的IT技术社区

   
 注册
热搜:
查看: 617|回复: 14

[备份恢复] expdp做单表导出,导出来的数据居然比原始表多?!

[复制链接]
论坛徽章:
22
生肖徽章2007版:猴
日期:2016-05-19 15:26:34生肖徽章2007版:猪
日期:2016-05-19 15:26:34生肖徽章2007版:龙
日期:2016-05-19 15:26:34生肖徽章2007版:兔
日期:2016-05-19 15:26:34ITPUB9周年纪念徽章
日期:2016-05-19 15:26:342010广州亚运会纪念徽章:板球
日期:2016-05-19 15:26:342010广州亚运会纪念徽章:举重
日期:2016-05-19 15:26:342014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02优秀写手
日期:2014-04-09 06:00:22
跳转到指定楼层
1#
发表于 2018-3-23 15:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

Oracle 10.2.0.5 RAC on AIX 6.1


SQL> select count(*) from comm.apply_sheet;

  COUNT(*)
----------
  55618696



;;;
Export: Release 10.2.0.5.0 - 64bit Production on Friday, 23 March, 2018 15:00:47

Copyright (c) 2003, 2007, Oracle.  All rights reserved.
;;;
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining

and Real Application Testing options
Starting "***********"."NODE2FULL":  ************/******** DIRECTORY=dpwin DUMPFILE=full.dmp logfile=expdp_.log JOB_NAME=node2full Tables=COMM.APPLY_SHEET
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 14.20 GB
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "COMM"."APPLY_SHEET"                        12.31 GB 57078721 rows
Master table "************"."NODE2FULL" successfully loaded/unloaded
******************************************************************************
Dump file set for *************.NODE2FULL is:
  /mnt/win/dump/full.dmp
Job "********"."NODE2FULL" successfully completed at 15:03:56



命令很简单,没加什么多余的参数
expdp *********/******* DIRECTORY=dpwin DUMPFILE=full.dmp  logfile=expdp_.log JOB_NAME=node2full Tables=COMM.APPLY_SHEET
57078721 - 55618696   导出来的内容居然比原始数据多出146万行!!
求排查思路
论坛徽章:
22
生肖徽章2007版:猴
日期:2016-05-19 15:26:34生肖徽章2007版:猪
日期:2016-05-19 15:26:34生肖徽章2007版:龙
日期:2016-05-19 15:26:34生肖徽章2007版:兔
日期:2016-05-19 15:26:34ITPUB9周年纪念徽章
日期:2016-05-19 15:26:342010广州亚运会纪念徽章:板球
日期:2016-05-19 15:26:342010广州亚运会纪念徽章:举重
日期:2016-05-19 15:26:342014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02优秀写手
日期:2014-04-09 06:00:22
2#
 楼主| 发表于 2018-3-23 15:35 | 只看该作者
以为是mount网络nfs存储的问题 ,换成往AIX本地硬盘上dump也是一样多数据

使用道具 举报

回复
论坛徽章:
120
现任管理团队成员
日期:2011-05-07 01:45:08弗兰奇
日期:2018-01-31 17:04:24ITPUB15周年纪念
日期:2018-02-08 11:01:54托尼托尼·乔巴
日期:2018-03-14 18:48:34
3#
发表于 2018-3-23 15:39 | 只看该作者
你导出用的用户和查询用的用户是一个么?

使用道具 举报

回复
论坛徽章:
22
生肖徽章2007版:猴
日期:2016-05-19 15:26:34生肖徽章2007版:猪
日期:2016-05-19 15:26:34生肖徽章2007版:龙
日期:2016-05-19 15:26:34生肖徽章2007版:兔
日期:2016-05-19 15:26:34ITPUB9周年纪念徽章
日期:2016-05-19 15:26:342010广州亚运会纪念徽章:板球
日期:2016-05-19 15:26:342010广州亚运会纪念徽章:举重
日期:2016-05-19 15:26:342014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02优秀写手
日期:2014-04-09 06:00:22
4#
 楼主| 发表于 2018-3-23 15:44 | 只看该作者
是同一用户,DBA权限的

使用道具 举报

回复
论坛徽章:
120
现任管理团队成员
日期:2011-05-07 01:45:08弗兰奇
日期:2018-01-31 17:04:24ITPUB15周年纪念
日期:2018-02-08 11:01:54托尼托尼·乔巴
日期:2018-03-14 18:48:34
5#
发表于 2018-3-23 16:01 | 只看该作者
export完,再用select count(*)查,依然相差100多万?? 听上去想是bug。 你有没有对这个表和索引做过analyze? 难道表和索引不匹配了?

使用道具 举报

回复
论坛徽章:
22
生肖徽章2007版:猴
日期:2016-05-19 15:26:34生肖徽章2007版:猪
日期:2016-05-19 15:26:34生肖徽章2007版:龙
日期:2016-05-19 15:26:34生肖徽章2007版:兔
日期:2016-05-19 15:26:34ITPUB9周年纪念徽章
日期:2016-05-19 15:26:342010广州亚运会纪念徽章:板球
日期:2016-05-19 15:26:342010广州亚运会纪念徽章:举重
日期:2016-05-19 15:26:342014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02优秀写手
日期:2014-04-09 06:00:22
6#
 楼主| 发表于 2018-3-23 16:05 | 只看该作者
access_method=direct_path、external_table都试过了,一样

export之后,select查了,还是想差100多万,那个表一天最多也就几万的增量数据吧,不可能几分钟之内达到百万的级别

那我再收集一下统计信息吧

使用道具 举报

回复
论坛徽章:
185
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39ITPUB季度 技术新星
日期:2016-07-07 09:28:30马上有房
日期:2014-11-07 08:46:05马上有钱
日期:2014-11-12 09:33:24马上有钱
日期:2014-11-24 15:17:08马上有对象
日期:2015-01-14 17:33:15沸羊羊
日期:2015-02-11 09:07:41懒羊羊
日期:2015-03-04 09:03:43暖羊羊
日期:2015-03-04 14:50:37
7#
发表于 2018-3-23 16:07 | 只看该作者
select /*+ full(a) */ count(*) from comm.apply_sheet a ;

--//如果一致,就是索引坏了.
另外你导出,有业务操作吗?

使用道具 举报

回复
论坛徽章:
22
生肖徽章2007版:猴
日期:2016-05-19 15:26:34生肖徽章2007版:猪
日期:2016-05-19 15:26:34生肖徽章2007版:龙
日期:2016-05-19 15:26:34生肖徽章2007版:兔
日期:2016-05-19 15:26:34ITPUB9周年纪念徽章
日期:2016-05-19 15:26:342010广州亚运会纪念徽章:板球
日期:2016-05-19 15:26:342010广州亚运会纪念徽章:举重
日期:2016-05-19 15:26:342014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02优秀写手
日期:2014-04-09 06:00:22
8#
 楼主| 发表于 2018-3-23 16:13 | 只看该作者
换了一个有null值的字段,执行计划里看到走的是全表扫描,之前的count(*)走的是pk索引
select count(t.priorty_flag) from comm.apply_sheet t

应该是这个原因了

使用道具 举报

回复
论坛徽章:
120
现任管理团队成员
日期:2011-05-07 01:45:08弗兰奇
日期:2018-01-31 17:04:24ITPUB15周年纪念
日期:2018-02-08 11:01:54托尼托尼·乔巴
日期:2018-03-14 18:48:34
9#
发表于 2018-3-23 16:16 | 只看该作者
本帖最后由 zergduan 于 2018-3-23 16:21 编辑
lfree 发表于 2018-3-23 16:07
select /*+ full(a) */ count(*) from comm.apply_sheet a ;

--//如果一致,就是索引坏了.

ANALYZE TABLE VALIDATE STRUCTURE CASCADE 就可以,这样比较直观是否索引有问题,但是注意,这个语句组织DML,别在线做,当然应该有对应的online子句

使用道具 举报

回复
论坛徽章:
120
现任管理团队成员
日期:2011-05-07 01:45:08弗兰奇
日期:2018-01-31 17:04:24ITPUB15周年纪念
日期:2018-02-08 11:01:54托尼托尼·乔巴
日期:2018-03-14 18:48:34
10#
发表于 2018-3-23 16:23 | 只看该作者
或者

select /*+ full(t1) parallel */ sum(ora_hash(rowid))
from  <TABLE NAME> t1
minus
select /*+ index_ffs(t <INDEX NAME>) parallel */ sum(ora_hash(rowid))
from <TABLE NAME> t

索引用主键,或者非空列索引(总之应该用select count(*) from comm.apply_sheet a 执行计划中的那个索引)

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 |
  | | |
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
 北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表