19.17出现ASM IO for non-blocking poll执行卡住

sql查询的是一个视图,视图union all了多个表进行查询,在11.2.0.4时查询正常,在19.17执行会卡住,当时的事件为direct path write temp,ASM IO for non-blocking poll等,无blocking session的锁等待,在10046 trace中的情况如下
WAIT #140627098805304: nam='direct path write temp' ela= 85 file number=201 first dba=975453 block cnt=31 obj#=76663 tim=1499306178903
WAIT #140627098805304: nam='ASM IO for non-blocking poll' ela= 2 count=2 where=2 timeout=0 obj#=76663 tim=1499306216967
WAIT #140627098805304: nam='ASM IO for non-blocking poll' ela= 1 count=4 where=2 timeout=0 obj#=76663 tim=1499306217290
WAIT #140627098805304: nam='ASM IO for non-blocking poll' ela= 1 count=4 where=2 timeout=0 obj#=76663 tim=1499306217308
WAIT #140627098805304: nam='ASM IO for non-blocking poll' ela= 1 count=4 where=2 timeout=0 obj#=76663 tim=1499306217316
WAIT #140627098805304: nam='direct path write temp' ela= 1422 file number=201 first dba=975294 block cnt=31 obj#=76663 tim=1499306218744
WAIT #140627098805304: nam='ASM IO for non-blocking poll' ela= 1 count=2 where=2 timeout=0 obj#=76663 tim=1499306218939
WAIT #140627098805304: nam='ASM IO for non-blocking poll' ela= 2 count=4 where=2 timeout=0 obj#=76663 tim=1499306219311
WAIT #140627098805304: nam='ASM IO for non-blocking poll' ela= 1 count=4 where=2 timeout=0 obj#=76663 tim=1499306219328
WAIT #140627098805304: nam='ASM IO for non-blocking poll' ela= 1 count=4 where=2 timeout=0 obj#=76663 tim=1499306219336
WAIT #140627098805304: nam='direct path write temp' ela= 7 file number=201 first dba=975104 block cnt=31 obj#=76663 tim=1499306219364
WAIT #140627098805304: nam='ASM IO for non-blocking poll' ela= 2 count=4 where=2 timeout=0 obj#=76663 tim=1499306219461

#可以尝试看v$session的p1 p2 p3看数据块是否发生改变

使用参数调整到11204的cbo解决
alter session set optimizer_features_enable='11.2.0.4';

你可能感兴趣的:(数据库,oracle)