2020-07-03
oracle 自动收集统计信息造成业务卡顿

统计等待事件:
BLOCKING_SESSION COUNT(*)
---------------- ----------
243 1
9695 1
8368 1
1323 1
1345 91
9257 3626
221 1
4417 2
4185 1
8815 4
1128 2
复制
查询9257阻塞:
SESSION_ID SAMPLE_TIME ---------- ---------------------------------------- EVENT SQL_ID BLOCKING_SESSION ------------------------------ ------------- ---------------- 9257 27-JUN-20 02.00.44.546 PM gc current block 2-way xxxxx 9257 27-JUN-20 02.00.54.586 PM row cache lock xxxxxx 1345 9257 27-JUN-20 02.01.04.626 PM row cache lock xxxxxx 1345 SESSION_ID SAMPLE_TIME ---------- ---------------------------------------- EVENT SQL_ID BLOCKING_SESSION ------------------------------ ------------- ---------------- 9257 27-JUN-20 02.01.14.817 PM row cache lock xxxxxx 1345 9257 27-JUN-20 02.01.24.867 PM row cache lock xxxxx 1345 9257 27-JUN-20 02.01.34.907 PM row cache lock xxxxxx 1345 SESSION_ID SAMPLE_TIME ---------- ---------------------------------------- EVENT SQL_ID BLOCKING_SESSION ------------------------------ ------------- ---------------- 9257 27-JUN-20 02.01.44.957 PM row cache lock xxxxxx 1345 9257 27-JUN-20 02.01.55.007 PM row cache lock xxxxxxx 1345 9257 27-JUN-20 02.02.05.047 PM row cache lock xxxxx 1345
复制
查询1345阻塞:
SESSION_ID SAMPLE_TIME ---------- ---------------------------------------- EVENT SQL_ID BLOCKING_SESSION ------------------------------ ------------- ---------------- 1345 27-JUN-20 02.00.34.496 PM xxxxxx 1345 27-JUN-20 02.00.54.586 PM library cache lock xxxxxx 9257 1345 27-JUN-20 02.01.04.626 PM library cache lock xxxxx 9257
复制
9257执行sql:call dbms_stats.gather_database_stats_job_proc ( )
1345执行sql:alter index “name”.“biao” modify partition “PPP” shrink space CHECK
我想查询一下alter index这个sql是由谁执行的。是收集统计信息的时候自动执行,还是其他?如何操作?
我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
回答交流
Markdown
请输入正文
提交
相关推荐
oracle dg切换出现lobindex坏块
回答 1
如果有备份,可以基于块恢复来recover。这是awr的表,即便没有备份,对用户数据没有影响。
spflie是不能直接打开修改,那么如何修改?
回答 2
已采纳
可以进行如下修改:SQL> alter systemsetxx××scopespfile/both意思是修改参数并把修改写入spfile中,如果scope的值是both则表示
oracle中收集统计信息报错
回答 4
已采纳
核心数据字典视图不能这么玩吧试试这个?SQL>execdbmsstats.gathertablestats('SYS','X$KSUSE')PL/SQLproceduresuccessfully
imp导入前需要先建用户和表空间吗?
回答 8
数据库比较老,solaris10oracle10g服务器也比较老sumM4000请问exp时选择了rowsno只导出表结构,不包含数据,导出的dmp文件只有几十M。imp导入时,为什么数据文件增长到几
AIX 7.2 现在还能安装Oracle 10G 吗?
回答 2
为啥要装10g版本,新版本11g不香吗?
oracle11.2.0.4 RAC 日志总有告警
回答 1
tomcat连接池中初始化、最小、最大session的数量配置为同一个数字。
Oracle 虚拟机迁移之后, 目录下的文件没有了,这是什么原因?
回答 3
是时候掏出这张图了
请教这个SQL(关于model)
回答 3
已采纳
selectfrom(selectemid,year1,s,a,0asr,rank()over(partitionbyemidorderbyyear1)asrnfrommodeltest)modelU
oracle数据库换了新的服务器、存储后(性能更好),空表插入13万数据,老数据库需要3分30秒,新数据库只需要44秒,但是往一张有8000万的老表中插入数据的时候,老数据库只要3分25秒但是新数据库却要7分50秒,这种现象可能跟什么有关系?
回答 4
已采纳
第一种情况,新库空表插入快,老库插入慢,有可能是老库有其他等待事件阻塞,存储性能会影响效率,但是应该不会差距这么大。第二种情况,已经有数据的表,空库插入慢,老库插入快,这种情况发一下具体的insert
sql server是不是没有像oracle一样的模式?
回答 1
已采纳
有啊,默认的模式就是dbo,当然可以自己建;只是说Oracle的user和schema通常创建在一起而已
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~