关于sqlplus / as sysdba所触发的进程说明
基本流程
bash --> sqlplus进程 --> oracle数据库的进程
我们执行sqlplus
分析说明
shell:
sqlplus / as sysdba所触发的进程
oracle 13962 13931 0 08:32 pts/0 00:00:00 sqlplus as sysdba
其父进程为13931
查看13931进程:
[oracle@oracle01 ~]$ ps -ef|grep 13931
oracle 13931 13930 0 08:32 pts/0 00:00:00 -bash
oracle 13962 13931 0 08:32 pts/0 00:00:00 sqlplus as sysdba
所以bash触发
查看数据库内部的session和process:
SYS @ BIRD>select sid,serial#,saddr,paddr from v$session t where t.username = 'SYS';
SID SERIAL# SADDR PADDR
---------- ---------- ---------------- ----------------
1 5 00000000944836E0 00000000948B84A0
SYS @ BIRD>
SYS @ BIRD>
SYS @ BIRD>
SYS @ BIRD>select pid,spid from v$process t where t.addr= '00000000948B84A0';
PID SPID
---------- ------------------------
19 14007
而我们可以看到实际的oracle pid为19,操作系统的ospid为14007
操作系统shell查看:
ps -ef|grep 14007
[oracle@oracle01 ~]$ ps -ef|grep 14007
oracle 14007 13962 0 08:32 ? 00:00:01 oracleBIRD (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
所以:
bash --> sqlplus / as sysdba --> oracle数据库进程。