关于oracle里的process总结(45天)

感觉需要对process做一个简单的总结。准备了如下的测试场景。 session在服务端请求 先用sqlplus / as sysdba在服务端登录。 SQL> show user USER is "SYS" 得到当前的session为5860. SQL> select sid from v$mystat where rownum<2; SID ---------- 5860 得到对应的Process。这个其实就是客户端对应的process,因为是从服务端登录,所以在服务端应该会有两个process来对应,一个相当于客户端,一个相当于服务端。paddr是process对应的内存地址,在查询v$process的很有用。 SQL> select sid,username,process,paddr from v$session where sid=5860; SID USERNAME PROCESS PADDR ---------- ------------------------------ ------------------------ ---------------- 5860 SYS 28490 000000035977B488 先来验证一下客户端的process 28490是不是存在。可以看到,28490是通过sqlplus的方式登录的。而且是另外一个连接的父进程。这个进程就是我们需要查询的在服务端存在的映射进程。 SQL> host ps -ef|grep 28490 oratestdb 6741 28490 0 14:48 pts/1 00:00:00 /bin/bash -c ps -ef|grep 28490 oratestdb 6743 6741 0 14:48 pts/1 00:00:00 grep 28490 oratestdb 28490 4017 0 14:45 pts/1 00:00:00 sqlplus as sysdba oratestdb 28491 28490 0 14:45 ? 00:00:00 oraclePETtest1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq))) 我们来查询v$process,看process是不是存在28491,spid就是对应的摄影进程,pid是数据库内部的进程标示。 查看进程明细,可以看到使用的bequence协议。 SQL> select pid,spid from v$process where addr='000000035977B488'; PID SPID ---------- ------------------------ 31 28491 SQL> host ps -ef|grep 28491 oratestdb 14578 28490 0 14:50 pts/1 00:00:00 /bin/bash -c ps -ef|grep 28491 oratestdb 14580 14578 0 14:50 pts/1 00:00:00 grep 28491 oratestdb 28491 28490 0 14:45 ? 00:00:00 oraclePETtest1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq))) 再来看另外一个场景。 session在客户端请求 通过sqlplus从客户端登陆。 ############# select sid from v$mystat where rownum<2; SID ---------- 6049 select sid,username,process,paddr from v$session where sid=6049 SQL> / 可以看到对应的Process是824. 这个就是客户端所在的机器对应的process。 SID USERNAME PROCESS PADDR ---------- ------------------------------ ------------------------ ---------------- 6049 JIANRONG 824 000000035977C508 SQL> host ps -ef|grep 824 oraccbs1 824 30352 0 17:05 pts/1 00:00:00 sqlplus root 3824 3051 0 2013 ? 00:00:00 [aio/29] oraccbs1 11079 824 0 17:06 pts/1 00:00:00 /bin/bash -c ps -ef|grep 824 oraccbs1 11082 11079 0 17:06 pts/1 00:00:00 grep 824 查看服务端对应的进程,是17175 SQL> select pid,spid ,username from v$process where addr='000000035977C508'; PID SPID USERNAME ---------- ------------------------ --------------- 32 17175 oratestdb 登录服务端,查看进程情况,与客户端的场景不同的是,17175的父进程是1,为root根进程。 oratestdb@ccbdbpt4:/opt/app/oracle/dbtestspt1/oratestdb> ps -ef|grep 17175 oratestdb 17175 1 0 17:05 ? 00:00:00 oraclePETtest1 (LOCAL=NO) oratestdb 27196 24714 0 17:07 pts/1 00:00:00 grep 17175 对于客户端场景和服务端场景来说,如果一定要刨根问底的看某个session(比如 session 824)的父进程情况。可以看到最终的process 父进程还是1.

oratest1@:/opt/app/oracle/dbtestpt1/oratest1> ps -ef|grep 30352
oratest1   824 30352  0 17:05 pts/1    00:00:00 sqlplus                          
oratest1 20500 20060  0 17:23 pts/1    00:00:00 grep 30352
oratest1 30352 30347  0 16:34 pts/1    00:00:00 -bash
oratest1@:/opt/app/oracle/dbtestpt1/oratest1> ps -ef|grep 30347
oratest1 21993 20060  0 17:23 pts/1    00:00:00 grep 30347
oratest1 30347 29705  0 16:34 ?        00:00:00 sshd: oratest1@pts/1
oratest1 30352 30347  0 16:34 pts/1    00:00:00 -bash
oratest1@:/opt/app/oracle/dbtestpt1/oratest1> ps -ef|grep 29705
oratest1 23945 20060  0 17:23 pts/1    00:00:00 grep 29705
root 29705 25298  0 16:34 ?        00:00:00 sshd: oratest1 [priv]
oratest1 30347 29705  0 16:34 ?        00:00:00 sshd: oratest1@pts/1
oratest1@:/opt/app/oracle/dbtestpt1/oratest1> ps -ef|grep 25298
root     25298     1  0  2013 ?        00:00:03 /usr/sbin/sshd
oratest1 26659 20060  0 17:24 pts/1    00:00:00 grep 25298
root     29705 25298  0 16:34 ?        00:00:00 sshd: oratest1 [priv]

原文发布于微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文发表时间:2014-04-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏pangguoming

sentinel搭建redis集群经验总结

一、protected-mode 默认情况下,redis node和sentinel的protected-mode都是yes,在搭建集群时,若想从远程连接red...

2824

在Ubuntu 16.04上安装Odoo 11堆栈

Odoo(以前称为OpenERP)是一个由10,000多个开源应用程序组成的自托管套件,可满足各种业务需求,包括CRM,电子商务,会计,库存,销售点和项目管理。...

1172
来自专栏Script Boy (CN-SIMO)

磁盘分区以及解决反序安装操作系统所带来的困扰

对于刚接触电脑的小嫩甚至IT江湖混迹已久的老道,磁盘分区一直是一件很令人头疼的事情啊!什么主分区、什么扩展分区啊,还有逻辑分区、分区表、引导记录这些,无一不让人...

2000
来自专栏学习有记

SQL Server 代理进阶 - Level 2 :作业步骤和子系统

794
来自专栏加米谷大数据

技术分享 | Apache Kafka下载与安装启动

壹 下载 注意:别下成源文件了! 带src的是源文件,如: Source download: kafka-0.10.1.0-src.tgz (asc, md5)...

3065
来自专栏CLEAN_CODER

在Pipeline中使用Docker执行构建任务

上节课我们完成了 搭建基于GoCD的持续集成基础设施,最后以我们的第一个pipeline的失败而结束,那么本节课的核心目标是扩展Pileline,并让Pipel...

822
来自专栏Android群英传

Android Studio集成Bug管理系统

792
来自专栏我的博客

monolog使用解析

1.channel渠道、通道 可以区分同项目不同模块日志 2.handler处理器 一个channel设置多个handler,是按照堆栈的方式依次调用(后进...

3559
来自专栏云计算教程系列

如何部署Mina:入门教程

如果您正在寻找一种方法来帮助某些您每天执行的操作,正如简单的搜索显示的那样,可用的工具很多。如果您检查它们,会发现这些都声称可以使您的应用程序在线(即部署)更容...

964
来自专栏乐沙弥的世界

Oracle RAC OCR 与健忘症

    OCR就好比Windows的一个注册表,存储了所有与集群,RAC数据库相关的配置信息。而且是公用的配置,也就是说多个节点共享相同的配置信息。因此该配置应...

965

扫码关注云+社区