p000 と pz99 の違いがマニュアルにありました。
スレーブ・プロセスには、0からPARALLEL_MAX_SERVERSに設定した値までの番号が付けられる。問合せがGV$の場合、バックグラウンド・プロセスにはPZ99から始まる番号が逆順に付けられる。
ようするに普通のパラレル・クエリは p000 ~ が使用され、GV$の検索では、pz99 ~ が使用されます。
・・・全く知りませんでした。
pzNN は、parallel_max_servers や parallel_min_servers といった PQ の制限のパラメータで制御できません。また、parallel_force_local=TRUE としてもインターノード・パラレル・クエリで動作します。
・・・まあ、そうだよね。
ちなみに、pzNN の起動と停止の挙動をしらべていました。
pzNN は必要になったタイミング(GV$を検索したとき)に起動します。
V$PX_PROCESS で STATUS とかみれるのですが、起動している pzNN がすべて "IN USE" だと、新規に起動するんだと思います。
停止は、一定時間でとまるようです。
こんな隠しパラメータがありました。
Name:
_parallel_server_idle_time
Value:
30000
DESCRIPTION:
idle time before parallel query server dies (in 1/100 sec)