system dba 把仓库从10.2.0.3 升级到 11.1.0.7.0 了 , 不过 bug实在太多,这里就遇到个 不能开并行的bug。
那群system dba 我真的是无语了,11gR2都出来了,为什么不生到R2 ,另外10.2.0.5补丁也发了,为什么不用10g.
他奶奶的。
然后老外就发邮件来问:
Thanks Robinson.
Is it possible to disable parallel permanently for this user until all issues are solved on adw1d?
I’m asking about it because this account is used by web application and we are not able to alter session while it’s connected.
哥就创建了一个触发器:
Hi Kamil,
I have created a trigger named disable_parallel.
SQL> create or replace trigger disable_parallel after logon on database
2 begin
3 if USER='INSTXP_USER' then
4 EXECUTE IMMEDIATE 'ALTER SESSION disable parallel query';
5 EXECUTE IMMEDIATE 'ALTER SESSION disable parallel dml';
6 end if;
7 end disable_parallel;
8 /
Trigger created.
Elapsed: 00:00:00.87
Now please log off database , and log on database, and do a test iftherestillhave thiserror.
这个触发器只能禁止表degree 大于1 ,索引上面degree大于1 无hint的SQL,不能禁止这样的 select /*+ parallel(a,8)*/ 。。。SQL。
最后用OC问老外:
Luo, Bingsen (Robinson, ES-BAS-CHINA-CQ) [17:24]:
Hi
Kruszewski, Kamil [17:24]:
hi
Luo, Bingsen (Robinson, ES-BAS-CHINA-CQ) [17:24]:
did you still met this error?
Kruszewski, Kamil [17:25]:
it's ok
thanks for help
Luo, Bingsen (Robinson, ES-BAS-CHINA-CQ) [17:25]:
NP, then I will offline
Kruszewski, Kamil [17:26]:
ok, bye
看来是搞定了,SQL代码里面没有parallel hint,你们问我为啥不直接 alter table t table_name parallel 1呢 ,其实 这个是仓库表上面肯定要有 degree的, 这个触发器也只是临时用用,等升级到11gR2就删掉了。