- 浏览: 1020460 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (529)
- 服务器 (8)
- jsp (1)
- java (6)
- AIX (1)
- solaris (3)
- linux学习 (53)
- javaScript (2)
- hibernate (1)
- 数据库 (74)
- sql语句 (8)
- oracle 学习 (75)
- oracle 案例 (42)
- oracle 管理 (42)
- Oracle RAC (27)
- oracle data guard (12)
- oracle 参数讲解 (14)
- Oracle 字符集 (8)
- oracle性能调优 (24)
- oracle备份与恢复 (12)
- oracle Tablespace (9)
- oracle性能诊断艺术 (1)
- oracle 11g学习 (5)
- oracle streams (1)
- oracle upgrade and downgrade (4)
- db2学习 (13)
- db2命令学习 (2)
- mysql (28)
- sql server (30)
- sql server 2008 (0)
- 工具 (10)
- 操作系统 (3)
- c++ (1)
- stock (1)
- 生活 (5)
- HADOOP (2)
最新评论
-
massjcy:
...
如何将ubuntu文件夹中文名改为英文 -
skypiea:
谢谢。。。
终于解决了。。。
Oracle 10.2.0.4(5)EM不能启动的解决方案(Patch 8350262) -
qwe_rt:
引用vi /etc/sysconfig/network 请问 ...
Linux操作系统下配置静态IP上网 -
liuqiang:
sudo killall -9 apache2
ps 和 kill 命令详解 -
dazuiba:
引用*绝杀 kill -9 PID 当使用此命令时,一定要通过 ...
ps 和 kill 命令详解
视图包含当前系统Oracle运行的所有进程信息。常被用于将oracle或服务进程的操作系统进程ID与数据库session之间建立联系。在某些情况下非常有用:
1.如果数据库瓶颈是系统资源(如:cpu,内存),并且占用资源最多的用户总是停留在某几个服务进程,那么进行如下诸项:
1>.找出资源进程
2>.找出它们的session,你必须将进程与会话联系起来。
3>.找出为什么session占用了如此多的资源
2.SQL跟踪文件名是基于服务进程的操作系统进程ID。要找出session的跟踪文件,你必须将session与服务进程联系起来。
3.某些事件,如rdbms ipc reply,鉴别session进程的Oracle进程ID在等什么。要发现这些进程在做什么,你必须找出它们的session。
4.你所看到的服务器上的后台进程(DBWR,LGWR,PMON等)都是服务进程。要想知道他们在做什么,你必须找到他们的session。
V$PROCESS中的常用列
ADDR:进程对象地址
PID:oracle进程ID
SPID:操作系统进程ID
V$PROCESS中的连接列
Column View Joined Column(s)
ADDR V$SESSION PADDR
示例:
1.查找指定系统用户在oracle中的session信息及进程id,假设操作系统用户为:junsansi
select s.sid,s.SERIAL#, s.username,p.spid
from v$session s, v$process p
where s.osuser = 'junsansi'
and s.PADDR = p.ADDR
2.查看锁和等待
SELECT /*+ rule */
lpad(' ', decode(l.xidusn, 0, 3, 0)) || l.oracle_username User_name,
o.owner,o.object_name,o.object_type,s.sid,s.serial#,p.spid
FROM v$locked_object l, dba_objects o, v$session s, v$process p
WHERE l.object_id = o.object_id
AND l.session_id = s.sid and s.paddr = p.addr
ORDER BY o.object_id, xidusn DESC
附注:
在linux环境可以通过ps查看进程信息包括pid,windows中任务管理器的PID与v$process中pid不能一一对应,这块在oracleDocument中也没有找到介绍,后来google了一下,有资料介绍说是由于windows是多线程服务器,每个进程包含一系列线程。这点于unix等不同,Unix每个Oralce进程独立存在,在Nt上所有线程由Oralce进程衍生。
要在windows中显示oracle相关进程pid,我们可以通过一个简单的sql语句来实现。
SELECT s.SID, p.pid, p.spid signaled, s.osuser, s.program
FROM v$process p, v$session s
WHERE p.addr = s.paddr;
SID PID SIGNALED OSUSER PROGRAM
1 2 2452 SYSTEM ORACLE.EXE
2 3 2460 SYSTEM ORACLE.EXE
3 4 2472 SYSTEM ORACLE.EXE
4 5 2492 SYSTEM ORACLE.EXE
5 6 2496 SYSTEM ORACLE.EXE
6 7 2508 SYSTEM ORACLE.EXE
7 8 2520 SYSTEM ORACLE.EXE
8 9 2524 SYSTEM ORACLE.EXE
10 12 1316 JSSjunsansi PlSqlDev.exe
9 13 3420 JSSjunsansi PlSqlDev.exe
13 14 660 JSSjunsansi PlSqlDev.exe
还可以通过和 v$bgprocess 连接查询到后台进程的名字:
SELECT s.SID SID, p.spid threadid, p.program processname, bg.NAME NAME
FROM v$process p, v$session s, v$bgprocess bg
WHERE p.addr = s.paddr
AND p.addr = bg.paddr
AND bg.paddr <> '00';
SID THREADID PROCESSNAME NAME
1 2452 ORACLE.EXE PMON
2 2460 ORACLE.EXE DBW0
3 2472 ORACLE.EXE LGWR
4 2492 ORACLE.EXE CKPT
5 2496 ORACLE.EXE SMON
6 2508 ORACLE.EXE RECO
7 2520 ORACLE.EXE CJQ0
8 2524 ORACLE.EXE QMN0
Eygle大师写了一段sql脚本getsql.sql,用来获取指定pid正在执行的sql语句,在此也附注上来。
REM getsql.sql
REM author eygle
REM 在windows上,已知进程ID,得到当前正在执行的语句
REM 在windows上,进程ID为16进制,需要转换,在UNIX直接为10进制
SELECT /*+ ORDERED */
sql_text
FROM v$sqltext a
WHERE (a.hash_value, a.address) IN (
SELECT DECODE (sql_hash_value,
0, prev_hash_value,
sql_hash_value
),
DECODE (sql_hash_value, 0, prev_sql_addr, sql_address)
FROM v$session b
WHERE b.paddr = (SELECT addr
FROM v$process c
WHERE c.spid = TO_NUMBER ('&pid', 'xxxx')))
ORDER BY piece ASC
/
发表评论
-
数据库设计规范
2011-11-24 10:40 6871数据库设计(Database Desi ... -
Linux下用OCCI或OCI连接Oracle
2011-07-26 12:00 2899首先,去oracle官网下载C ... -
PowerDesigner快捷键
2011-03-19 00:10 1098一般快捷键F4 打开检查模型窗口,检查模型F5 如果图 ... -
oracle和sql server功能对比
2011-01-05 22:05 1810Oracle Database 10g对比SQL Server ... -
Parse CPU to Parse Elapsd%的理解
2010-11-28 18:37 6760Parse CPU to Parse Elapsd%是指sql ... -
DB2客户端连接服务端的方法(转载)
2010-07-14 22:40 911在DB2中从客户端访问服 ... -
四大数据库的比较(SQL Server、Oracle、Sybase和DB2)
2010-07-14 21:54 1527本篇引用于公司数据库 ... -
Oracle迁移到DB2常用转换
2010-07-01 13:12 1150因为项目需要,要将Oracle上的东西转移到DB2,于是收集整 ... -
输出object的DDL的方法
2010-06-23 01:07 1426最近一段时间,由于经常要通过ssh访问远程环境。所以图形工具使 ... -
oracle的license和正版使用问题
2010-06-08 01:08 19421, 正版Oracle 产品和盗版的区别 直奔主题,这是许多研 ... -
oracle opatch 工具的使用(oracle小补丁安装)(转)
2010-05-30 13:49 2251从9.2版开始,Oracle公司设计实现了个别补丁安装管理工具 ... -
mysql常用函数
2009-12-29 10:25 951一、数学函数ABS(x) ... -
SP2-0618和_SP2-0611错误处理
2009-12-27 23:48 1067AUTOTRACE是一项 SQL*Plus 功能,自动跟踪为 ... -
几分钟学会Oracle Audit
2009-12-03 15:49 21591、什么是审计 简单来讲,就是把对数据库的操作记录下来。不管 ... -
alter system switch logfile和alter system archive log current的区别
2009-12-03 12:19 1108alter system switch logfile 是强制 ... -
由HWM引出的drop,delete,truncate的异同点比较
2009-12-02 14:18 1234今天在做HWM时,说truncate表后HWM会降低,但是dr ... -
主流数据库的比较
2009-12-02 10:29 1286开发数据库应用,选择一个好的数据库是非常重要的。目前, 商品 ... -
Oracle MTS相关问题
2009-09-09 22:34 1320Oracle MTS的相关问题 一、什么是MTS MTS ... -
10g: SYSAUX 里面都有些什么东西
2009-09-04 12:38 1828Isabella says:SYSAUX 暴涨有 ... -
ORACLE的PL/SQL一
2009-08-26 17:03 1147一、什么是PL/SQL? P ...
相关推荐
学习动态性能表(七)--v$process 学习动态性能表(八)--v$lock&v$locked_object 学习动态性能表(九)--v$filestat 学习动态性能表(十)--v$session_longops 学习动态性能表(11)--v$latch$v$latch_children 学习动态...
Oracle动态性能表,通常被称为V$视图,是Oracle数据库管理系统中的一个重要组成部分,它提供了对数据库运行时状态的实时信息。这些视图包含了丰富的数据库性能数据,对于DBA(数据库管理员)进行性能监控、问题诊断...
通过对这些动态性能表的深入学习,数据库管理员能够更好地监控Oracle数据库的运行状态,及时发现并解决问题,提升整体系统的性能和稳定性。在实际工作中,结合性能监控工具和SQL优化工具,这些视图的数据将发挥巨大...
通过深入学习和理解这些动态性能表,我们可以更好地管理Oracle数据库,提升其性能,确保系统的稳定性和高效性。在实际工作中,结合SQL Trace、AWR(自动工作负载 Repository)和ASH(Active Session History)等工具...
在"Oracle动态性能视图表学习"这个主题中,我们将深入探讨以下几个关键知识点: 1. **动态性能视图的概念**:动态性能视图由一系列预定义的SQL查询组成,它们直接从数据库的内存结构中获取数据,因此能够反映当前...
高斯过程回归(Gaussian Process Regression,GPR)是一种非参数机器学习方法,它基于概率模型,能够处理回归问题并提供预测的不确定性估计。在给定的标题"gpml-matlab-v4.2-2018-06-11.zip"中,我们看到这是一个...
Oracle提供了大量的动态性能视图(V$视图),通过查询它们可以获取数据库运行时的详细信息。例如,`V$SESSION`用于查看当前会话状态,`V$INSTANCE`显示实例信息,`V$SESSION_WAIT`揭示会话等待事件,而`V$SQL`和`V$...
总结,SPSS Process v4.1作为一款强大的统计分析工具,不仅提供了丰富的统计模型,还在易用性和性能上做了进一步提升。无论是研究人员还是数据分析从业者,都能从中受益,更高效地理解和解释数据背后的复杂关系。...
学习和掌握这些动态性能视图的使用,需要结合实际的数据库环境和性能问题进行实践。通过查询和分析这些视图,可以获取到宝贵的诊断信息,进而采取相应的优化措施,提高数据库的运行效率和响应速度。 总的来说,...
**CMMI v1.2中文版** 和 **CMMI v1.2英文版** 提供了双语对照阅读的机会,对于学习者来说尤其有价值。中文版可以帮助中国读者更好地理解模型的内容,而英文版则有助于提高专业英语水平,同时确保理解和应用与国际...
SQL> SELECT U_DUMP.VALUE || '/' || INSTANCE.VALUE || '_ORA_' || V$PROCESS.SPID || NVL2(V$PROCESS.TRACEID, '_' || V$PROCESS.TRACEID, NULL) || '.TRC' "TRACEFILE" FROM V$PARAMETER U_DUMP CROSS JOIN V$...
《农行Java开发接口包:TrustPayClient-Java-V3.1.1详解》 在IT行业中,银行与支付系统的接口开发是至关重要的一个环节,它关乎着金融交易的安全与效率。本文将深入探讨“TrustPayClient-Java-V3.1.1”这一农行Java...
- 关键字段:`Pid`, `Addr` (V$PROCESS), `Paddr` (V$BGPROCESS) - 功能:列出系统中的所有后台进程。 16. **V$LATCHNAME 和 V$CIRCUIT** - 描述:闩锁名称和电路信息。 - 关键字段:`Latch#` (V$LATCHNAME), `...
- **V$视图**:提供数据库内部状态信息,如V$SESSION、V$PROCESS、V$SQL等。 - **企业管理器(EM)**:图形化界面,用于监控和诊断数据库性能。 - **AWR(Automatic Workload Repository)**:自动收集性能数据,...
在实际应用中,Process Monitor这样的工具对于系统管理员来说非常有用,他们可以使用它来诊断系统性能问题,查找恶意软件活动,或者在调试应用程序时理解其行为。对于开发者而言,它可以作为学习操作系统原理和C++...
接下来,我们学习如何调整`process`的数量。`processes`参数定义了Oracle实例可以创建的最大并发进程数。更改此参数需要重启数据库。 1. **修改并保存设置** - 修改`processes`参数的值,并将其写入服务器参数文件...
高斯过程回归(Gaussian Process Regression,GPR)是一种非参数机器学习方法,它利用概率模型来估计数据的不确定性,并能提供预测的置信区间。在MATLAB环境中,`gpml-matlab-v4.2`是一个强大的工具箱,专为实现高斯...
"Process Monitor v2.93" 是一个由微软开发并归类在Windows Sysinternals工具集中的强大系统监控工具,主要用于实时监测系统级别的事件。这个2010年的版本适用于多个Windows操作系统,包括Windows 2000、XP、2003、...
Process Explorer 是一款极其实用的系统诊断和故障排除工具,尤其对于系统管理员和高级用户,它提供了更多控制和洞察力,帮助他们优化系统性能,解决问题。尽管它可能对初学者来说有些复杂,但通过学习和实践,用户...
- 查看RFS(Remote File Service)接收日志的情况和MRP(Managed Recovery Process)应用日志的进度,通过`V$MANAGED_STANDBY`视图。 - 通过`V$ARCHIVE_DEST_STATUS`视图确认备库是否与主库同步,检查归档日志的...