专用服务器接连下查看父子进程的关系,由客户进程自己来创建的.有多种fork()和exec()调用,ORACLE所用的调用可能根据操作系统和实现的不同而有所不同,但是最后的结果是一样的,fork()创建一个新进程,这是父进程的一个克隆,而且在unix上这也是创建新进程的惟一途径,exec()在内存中现有的程序映像上加裁一个新的程序映像,这就启动了一个新程序,所以sqlplus可以先fork,然后exec oracle二进制可执行程序,用这个新程序覆盖它自己的副本。在unix上,可能在同一台机器上运行客户和服务器,可很清楚地看出这种父子进程的创建.
select a.spid dedicated_server,b.process clientpid
from v$process a,v$session b
where a.addr=b.paddr
and b.sid=(select sid from v$mystat where rownum=1)
/
在些使用了一个查询来发现与专用服务器相关联的进程ID(PID),从V$PROCESS得到的SPID是执行该查询时所用进程的操作系统PID。9i and 10g编程艺术210页,第五章进程