技術ブログ
技術ブログ
THREADED_EXECUTION によるOracleインスタンスのマルチスレッド化では、すべての Oracleプロセスがマルチスレッド化されるわけではありません。バックグラウンドプロセスDBWn、 PMON、 PSP、 VKTMや、リモート接続により生成されたサーバープロセスはマルチスレッド化されません。
[oracle@l63x64a ~]$ sqlplus sys/password as sysdba : SYS@c101##c101> SELECT s.username, 2 s.sid, 3 s.serial#, 4 p.program, 5 p.spid, 6 ps.command, 7 p.stid 8 FROM v$session s, 9 v$process p, ps 10 WHERE s.paddr = p.addr 11 AND ps.pid = spid 12 AND s.sid = (SELECT distinct sid FROM V$MYSTAT); USERNAME SID SERIAL# PROGRAM SPID COMMAND STID ---------------- ---------- ---------- ------------------------ ------------------------ ------------------------ ------------------------ SYS 64 339 oracle@l63x64a.domain 13524 ora_u005_c101 19333 [oracle@l63x64a ~]$ sqlplus sys/oracle@c101 as sysdba : SYS@c101##c101> SELECT s.username, 2 s.sid, 3 s.serial#, 4 p.program, 5 p.spid, 6 ps.command, 7 p.stid 8 FROM v$session s, 9 v$process p, ps 10 WHERE s.paddr = p.addr 11 AND ps.pid = spid 12 AND s.sid = (SELECT distinct sid FROM V$MYSTAT); USERNAME SID SERIAL# PROGRAM SPID COMMAND STID ---------------- ---------- ---------- ------------------------ ------------------------ ------------------------ ------------------------ SYS 64 357 oracle@l63x64a.domain 20108 oraclec101 20108
listener.oraに DEDICATED_THROUGH_BROKER_[リスナー名]=on を指定することで、リモート接続により生成されたサーバープロセスをマルチスレッド化できます。
[oracle@l63x64a ~]$ vi $ORACLE_HOME/network/admin/listener.ora [oracle@l63x64a ~]$ diff $ORACLE_HOME/network/admin/listener.ora{,.BK} 11d10 < DEDICATED_THROUGH_BROKER_LISTENER=on [oracle@l63x64a ~]$ lsnrctl reload LSNRCTL for Linux: Version 12.1.0.1.0 - Production on 05-8月 -2013 03:24:38 Copyright (c) 1991, 2013, Oracle. All rights reserved. (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=l63x64a.domain)(PORT=12101)))に接続中 コマンドは正常に終了しました。 [oracle@l63x64a ~]$ sqlplus sys/oracle@c101 as sysdba : SYS@c101##c101> SELECT s.username, 2 s.sid, 3 s.serial#, 4 p.program, 5 p.spid, 6 ps.command, 7 p.stid 8 FROM v$session s, 9 v$process p, ps 10 WHERE s.paddr = p.addr 11 AND ps.pid = spid 12 AND s.sid = (SELECT distinct sid FROM V$MYSTAT); USERNAME SID SERIAL# PROGRAM SPID COMMAND STID ---------------- ---------- ---------- ------------------------ ------------------------ ------------------------ ------------------------ SYS 64 361 oracle@l63x64a.domain 13524 ora_u005_c101 20420
リスナーを再起動せずに設定を反映できるようです。