如何在Oracle中禁用TOAD并行从属进程?
我有一个12.5的蟾蜍在对抗多个Oracle SID。在其中一个进程上,第一次连接打开了一个包含4个即时并行从属进程的会话(在v$session中显示为附加会话,使本地DBA大吃一惊)。然后,每一个SQL编辑器都会添加另外5个 在其他小岛屿发展中国家,这种情况没有发生 有没有一种已知的方法可以在蟾蜍身上禁用此功能?(到目前为止没有任何效果) 编辑#1:好吧,结果证明这与蟾蜍无关。针对该实例打开的每个会话(也只是一个空白连接)都会立即自动创建4个额外的从属进程,这些进程仅在您自己的连接的gv$会话中可见(这就是为什么看起来其他TOAD连接没有它)。 我将保持此线程打开一段时间,直到我发现工作进程的处理方式如何在Oracle中禁用TOAD并行从属进程?,oracle,toad,Oracle,Toad,我有一个12.5的蟾蜍在对抗多个Oracle SID。在其中一个进程上,第一次连接打开了一个包含4个即时并行从属进程的会话(在v$session中显示为附加会话,使本地DBA大吃一惊)。然后,每一个SQL编辑器都会添加另外5个 在其他小岛屿发展中国家,这种情况没有发生 有没有一种已知的方法可以在蟾蜍身上禁用此功能?(到目前为止没有任何效果) 编辑#1:好吧,结果证明这与蟾蜍无关。针对该实例打开的每个会话(也只是一个空白连接)都会立即自动创建4个额外的从属进程,这些进程仅在您自己的连接的gv$会话
最终编辑:最终发现它们在实例级别上为每个语句强制多个线程,所以这与TOAD或客户机无关 要最小化会话数量,请在“选项”中的“Oracle |事务”页面上设置以下选项
exec dbms\u stats.gather\u dictionary\u stats
和exec dbms\u stats.gather\u fixed\u object\u stats代码>
> explain plan for select * from v$process;
Explained.
> select * from table(dbms_xplan.display(format => 'basic'));
PLAN_TABLE_OUTPUT
--------------------------------------------------
Plan hash value: 4113158240
------------------------------------
| Id | Operation | Name |
------------------------------------
| 0 | SELECT STATEMENT | |
| 1 | FIXED TABLE FULL| X$KSUPR |
------------------------------------
8 rows selected.
> explain plan for select * from gv$process;
Explained.
> select * from table(dbms_xplan.display(format => 'basic'));
PLAN_TABLE_OUTPUT
--------------------------------------------------
Plan hash value: 3900509504
-------------------------------------------
| Id | Operation | Name |
-------------------------------------------
| 0 | SELECT STATEMENT | |
| 1 | PX COORDINATOR | |
| 2 | PX SEND QC (RANDOM)| :TQ10000 |
| 3 | VIEW | GV$PROCESS |
| 4 | FIXED TABLE FULL | X$KSUPR |
-------------------------------------------
11 rows selected.
>
转到Toad中的会话浏览器,查看每个会话都在做什么。也许是因为一个可以禁用的“选项”。我要说的是,如果这是一个bug,请检查Toad支持。看起来他们都在运行各种Toad查询,3个针对gv$session,一个空-没有打开的游标,主会话-从gv$open_游标中选择-所以所有这些都是应用程序调用。禁用/启用/设置为主Toad会话=>相同的行为,并且只针对一个SID,其他的小岛屿发展中国家只使用一个会话,没有从机。甚至其他用户的更奇怪的蟾蜍会话也没有表现出这一点。只是我的,而且只有一个SID。我不确定还有什么会导致这个。我会四处打听的。一位不使用StackOverflow的知情人士的评论。“如果有使用并行性定义的表,他会转到模式浏览器中的表数据,那么Oracle将按照表定义的指示执行—使用并行从属查询表。”模式浏览器和主详细信息浏览器中有一个禁用并行性的选项。在编辑器中,如果要从这样的表中进行选择,则需要手动包含NOPARALLEL提示。这听起来像是真的吗?谢谢你的解释。我最终发现,它们为每条语句强制多个线程。因此,这实际上是在实例级别上设置的,而不是在TOAD或客户端中设置的。@Access\u授予“强制多线程”是什么意思?我相信使用的参数是设置为“自动”的“并行度”策略,如果我理解这一点,它会在该SID的4个实例上抛出4个从属线程correctly@access_granted这仍然引起了一些问题。将该参数设置为AUTO通常不会导致每个实例有多个并行线程。Oracle应该能够检测到查询GV$会话低于符合并行性条件的查询阈值。请参阅中的说明,并查看底部的链接以获取VLDB指南。可能另一个参数配置错误,系统统计信息关闭,固定统计信息关闭,等等。