探讨:Oracle数据库查看一个进程是如何执行相关的实际SQL语句
6,'Update',
where se.paddr=p.addr and se.sql_address=s.address and se.process='&1'
复制代码 代码如下:
sqlplus / as sysdba <<EOFselect se.username,se.saddr,se.sid,se.serial#,se.process,s.sql_id
查询前台发出的SQL语句.
(SELECT paddr FROM v$session WHERE sid=&sid);
复制代码 代码如下:
--查看系统进程对应的信息其他
create tablespace test datafile '/data/test01.dbf' size 10240M;
quit;
21,'Create View',
执行下列命令语句
where s.paddr = p.addr
select * from v$process where spid='12345';
复制代码 代码如下:
63,'Analyze Index',EOF
FROM v$session b
WHERE a.sql_address = b.address;
select se.username,se.process,s.sql_text
复制代码 代码如下:
v$transaction t,where se.sql_address=s.address and s.sql_id='&1'
from v$session se,v$sqlarea s
35,'Alter Database',
FROM v$sql t1, v$session t2
select sql_text from v$sqlarea s,v$session ses where s.address=ses.sql_address and ses.process='12345';
通过ps -ef|grep sqlplus命令得到上面所执行的命令的进程id为:12345
select
where se.sql_address=s.address
SELECT sql_text
from v$session se ,v$process p, v$sqlarea s
(3)几个相关的SQL
and r.usn = n.usn (+)
9,'Create Index',
SELECT DECODE (sql_hash_value,0, prev_hash_value,sql_hash_value ),
也就是上面命令中的“create tablespace test datafile '/data/test01.dbf' size 10240M;”所对应的进程id,如果想
41,'Drop Tablespace',
7,'Delete',
根据SPID查询session
--查看所有的会话
substr(s.username,1,18) username,substr(s.program,1,15) program,p.spid,s.process,
and t.xidusn = r.usn (+)
(select sid from (select sid,serial#,username,program from v$session where status='ACTIVE'));
(1)关于v$process
复制代码 代码如下:
53,'Drop User',上面sql中的process就是通过ps查看的进程id,而spid就是里面的sql语句所对应的进程id。
AND t2.sid = &sid;
根据process查询sql语句
SELECT * FROM v$session WHERE paddr IN
from
ORDER BY piece ASC;
WHERE c.spid = '$processID'))
执行下面的SQL是查不到相关的信息:
v$session s,
通过用ps命令从系统中查询到的进程id查看对应的信息,那么必须使用下面语句:
SELECT * FROM v$process WHERE addr IN
--查看会话对应的sql内容
DECODE (sql_hash_value, 0, prev_sql_addr, sql_address)
23,'Validate Index',
15,'Alter Table',
复制代码 代码如下:
v$process p,WHERE b.paddr = (SELECT addr
SELECT sql_text
0,'No Command',
select se.saddr,se.sid,se.serial#,p.pid,se.paddr,s.sql_id,s.sql_text
decode(s.command,
FROM v$sqltext a
v$rollname n
SELECT b.sql_text, sid, serial#, osuser, machine
s.command||': Other') command
(2)关于v$session
from v$session se,v$sqlarea s
order by username
因为这个spid字段对应的并不是我们用ps命令从系统中查询到的进程id,而是这个进程执行的当前SQL的进程id,
复制代码 代码如下:
40,'Alter Tablespace',from v$open_cursor
39,'Create Tablespace',
在查询 v$session 视图的时候,我们根据command字段内部表示解码每一个字段,当我们需要快速找出他们的 Oracle 系统的内部情况时非常有用。
根据SID查询process
DBA如何查询其他用户所进行的操作
and se.username is not null
WHERE t1.address = t2.sql_address
select spid,sid,process,sql_address from v$session where process='12345'
复制代码 代码如下:
1,'Create Table',复制代码 代码如下:
select user_name,sql_text3,'Select',
2,'Insert',
and s.taddr = t.addr (+)
复制代码 代码如下:
WHERE (a.hash_value, a.address) IN (FROM v$process c
FROM v$session a, v$sqlarea b
62,'Analyze Table',
复制代码 代码如下:
where sid in(SELECT addr FROM v$process WHERE spid=&spid);
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/sql/oracle/4241.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
是因为scan的IP问题补占用
时间:2021-01-20
-
还你一个干净的model 2、功
时间:2021-01-20
-
既然 ROWNUM 列并不是真实存
时间:2021-01-20
-
Real Application Clusters
时间:2021-01-20
-
在tools-preferences-connection(
时间:2021-01-20
-
Windows Sever 2012下Oracle 12c安
时间:2021-01-10
-
Oracle安装监听器错误的解
时间:2021-01-07
-
oracle远程连接服务器数据
时间:2021-01-07
热门文章
-
Oracle存储过程编程详解
时间:2020-12-07
-
Azure Queue Storage 基本用法 Azure Storage 之
时间:2020-12-26
-
win10下oracle 11g安装图文教程
时间:2020-12-25
-
oracle 数据库学习 基本结构介绍
时间:2020-12-13
-
Azure File Storage 基本用法 Azure Storage 之 F
时间:2020-12-26
-
windows使用sqlpus连接oracle 数据库的教程图
时间:2020-12-25
-
Window下Oracle Database 11g 发行版2安装教程
时间:2020-12-29
-
Oracle解锁的方式介绍
时间:2020-12-14
-
Oracle 12c Study之Installer Oracle
时间:2021-01-06
-
linux下oracle设置开机自启动实现方法
时间:2020-12-13
