暂无图片
分享
LEE
2020-04-17
aix系统升级导致 执行计划变更
暂无图片 5M

aix6.1 升级到aix7 后 sql测试库执行计划 和生产库不一样,测试库慢且sql只有一份执行计划,未存在索引失效,重新收集统计信息后也一样,还有什么原因导致统计信息突变了?
另外 查询对应的 sql等待事件为

db file sequential read

收藏
分享
6条回答
默认
最新
一笑而起

重新收集统计信息,指的是测试的统计信息吗。
sql对应的表的统计信息,生产、测试都收集后看看是否一致。

执行计划变化,一般都是因为某个表的统计信息变化导致的。
可以先查一下,上次收集统计时间。

暂无图片 评论
暂无图片 有用 0
打赏 0
LEE

对,重新收集测试库的统计信息
我查了系统收集统计信息每天都在收集 ,手工重新收集后
exec dbms_stats.gather_database_stats_job_proc;
快些了,但执行计划仍然与生产库不一致,原本测试库需要6个多小时,目前降至3个半小时,生产库只需要20多分钟 ,生产库cpu是两颗 sga分配4G ,测试库cpu是一颗sga分配3.7G
影响效率和CPU ,I/O有一定的关系, 但与执行计划无关,除数据量可能会影响执行计划变动,是否还有其他原因导致执行计划不一致?

暂无图片 评论
暂无图片 有用 0
打赏 0
田弼元

如果只是因为系统升级,建议检查一下各种操作系统参数,用户限制等等是不是变化了?

暂无图片 评论
暂无图片 有用 0
打赏 0
文成

可以把两边执行计划贴出来,对比是否有不同。

根据你的描述,执行慢不一定是执行计划不一样,也可能跟环境如数据量,硬件性能,数据分布有关系

暂无图片 评论
暂无图片 有用 0
打赏 0
LEE

不太方便贴,仔细对比了不一样,专家们说的几种情况确实存在,后续在进一步配合厂商排查

暂无图片 评论
暂无图片 有用 0
打赏 0
LEE
问题已关闭: 问题暂停处理
暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
expdp导出卡在第一步
回答 5
额第一个表只有5万条数据,但是不知道谁建了1600个分区,不知道是不是和分区数有关
num_rows为0插入数据会慢吗?
回答 1
已采纳
与这个数值并没有绝对关系,比如的确就是个全新的表,收集了统计信息就是0行,这个时候插入一般不会慢。但是,如果表数据存在高水位(比如有过大量的delete)、索引建得又复杂又多、表上有复杂逻辑的触发器等
oracle可以从asm迁移到文件系统吗?
回答 4
已采纳
可以
Oracle定时任务,执行多个存储过程(过程1;过程2;3456),是并行还是串行?
回答 2
已采纳
如果是一个JOB里面执行多个存储过程,肯定是串行,他是一行一行的执行的。想实现并行只能一个存储过程定义一个JOB
Oracle密码加密方式是什么方式?
回答 1
已采纳
PasswordsAreNotWorkingAfterUpgradingTo12cFrom10g(文档ID2286646.1)In11gitusesSHA1passwordbasedversionan
Oracle 账户锁定,什么情况下alter user identified by 原有密码;就可以解锁
回答 5
已采纳
1、账号状态locked的话,就只能alteruserusernameaccountunlock了2、文章目的是为了密码过期之后,修改数据字典,达到不修改密码但是重置密码有效期的目的,比如等保让你90
oracle 结束进程
回答 3
如果有条件从操作系统杀进程,尽量从操作系统杀,因为从操作系统杀,pmon处理释放资源的优先级更高,还有你可能数据库层面可能会存在杀不掉,杀掉之后资源不释放的情况。
在ORACLE 里面如何建DBLINK 链接SQLSERVER?
回答 1
透明网关
Oracle 设置表空间自动扩展,是会无限自动扩展吗?
回答 6
已采纳
不会由于Oracle的Rowid使用22位来代表数据块号,因此Oracle表空间数据文件每个数据文件最多只能包含2^22个数据块。也因此数据库表空间的数据文件不是无限增长的,例如:在数据块为8k的情况
oracle大表删除索引
回答 3
我一般是alterindexindexnameinvisible;dropindexindexname;invisible后可能需要一些时间才能避免SQL继续使用该索引。