在使用并行的时候,总能看到进程中出现一些ora_p这样的进程。有时候查看问题的时候只看到并行进程在运行,却没有思路去查找倒底是哪些session在干些什么,下面简单分析一下。怎么去映射系统级的进程和数据库级的并行进程。
从系统进程中可以看到一些并行session在运行。
SQL> !ps -ef|grep ora_p|grep TESTDB
testdbuser 17422 1 0 Aug29 ? 00:04:56 ora_pmon_TESTDB
testdbuser 17425 1 0 Aug29 ? 00:01:12 ora_psp0_TESTDB
testdbuser 20847 26200 0 20:54 pts/1 00:00:00 /bin/bash -c ps -ef|grep ora_p|grep TESTDB
testdbuser 32541 1 2 10:09 ? 00:18:23 ora_p000_TESTDB
testdbuser 32543 1 2 10:09 ? 00:17:41 ora_p001_TESTDB
testdbuser 32545 1 2 10:09 ? 00:18:51 ora_p002_TESTDB
testdbuser 32547 1 2 10:09 ? 00:15:55 ora_p003_TESTDB
testdbuser 32549 1 3 10:09 ? 00:19:22 ora_p004_TESTDB
testdbuser 32551 1 3 10:09 ? 00:24:52 ora_p005_TESTDB
testdbuser 32553 1 3 10:09 ? 00:21:43 ora_p006_TESTDB
testdbuser 32561 1 3 10:09 ? 00:24:52 ora_p007_TESTDB
testdbuser 32563 1 1 10:09 ? 00:08:30 ora_p008_TESTDB
testdbuser 32565 1 1 10:09 ? 00:07:20 ora_p009_TESTDB
如果查看v$session,会发现program中有一些session是和并行相关的session。
SQL> select sid,username,program from v$session where sid in (select sid from v$px_session ) and username='TESTDB';
SID USERNAME PROGRAM
---------- ------------------------------ ------------------------------------------------
2738 testdb oracle@dbserver (P000