探讨:Oracle数据库查看一个进程是如何执行相关的实际SQL语句


Oracle数据库查看一个进程是如何执行相关的实际SQL语句

复制代码 代码如下:

SELECT b.sql_text, sid, serial#, osuser, machine 
    FROM v$session a, v$sqlarea b 
    WHERE a.sql_address = b.address; 

查询前台发出的SQL语句.
复制代码 代码如下:

select user_name,sql_text 
from v$open_cursor 
where sid in
(select sid from (select sid,serial#,username,program from v$session where status='ACTIVE'));

根据SPID查询session
复制代码 代码如下:

SELECT * FROM v$session WHERE paddr IN
(SELECT addr FROM v$process WHERE spid=&spid);

根据SID查询process
复制代码 代码如下:

SELECT * FROM v$process WHERE addr IN
(SELECT paddr FROM v$session WHERE sid=&sid);

DBA如何查询其他用户所进行的操作
复制代码 代码如下:

SELECT sql_text 
FROM v$sql t1, v$session t2 
WHERE t1.address = t2.sql_address 
AND t2.sid = &sid;

根据process查询sql语句
复制代码 代码如下:

SELECT  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 = '$processID'))
ORDER BY piece ASC;

其他
执行下列命令语句
复制代码 代码如下:

sqlplus / as sysdba <<EOF
create tablespace test  datafile '/data/test01.dbf' size 10240M;
quit;
EOF

通过ps -ef|grep sqlplus命令得到上面所执行的命令的进程id为:12345
(1)关于v$process
执行下面的SQL是查不到相关的信息:
select * from v$process where spid='12345';
因为这个spid字段对应的并不是我们用ps命令从系统中查询到的进程id,而是这个进程执行的当前SQL的进程id,
也就是上面命令中的“create tablespace test  datafile '/data/test01.dbf' size 10240M;”所对应的进程id,如果想
通过用ps命令从系统中查询到的进程id查看对应的信息,那么必须使用下面语句:
select spid,sid,process,sql_address from v$session where process='12345'
上面sql中的process就是通过ps查看的进程id,而spid就是里面的sql语句所对应的进程id。
还可以通过上面的sql_address 查看正在执行的SQL语句内容:
select sql_text from v$sqlarea s,v$session ses where s.address=ses.sql_address and ses.process='12345';
(2)关于v$session
在查询 v$session 视图的时候,我们根据command字段内部表示解码每一个字段,当我们需要快速找出他们的 Oracle 系统的内部情况时非常有用。
复制代码 代码如下:

select
substr(s.username,1,18) username,substr(s.program,1,15) program,p.spid,s.process,
decode(s.command,
0,'No Command',
1,'Create Table',
2,'Insert',
3,'Select',
6,'Update',
7,'Delete',
9,'Create Index',
15,'Alter Table',
21,'Create View',
23,'Validate Index',
35,'Alter Database',
39,'Create Tablespace',
41,'Drop Tablespace',
40,'Alter Tablespace',
53,'Drop User',
62,'Analyze Table',
63,'Analyze Index',
s.command||': Other') command
from
v$session s,
v$process p,
v$transaction t,
v$rollstat r,
v$rollname n
where s.paddr = p.addr
and s.taddr = t.addr (+)
and t.xidusn = r.usn (+)
and r.usn = n.usn (+)
order by username

(3)几个相关的SQL
--查看系统进程对应的信息
复制代码 代码如下:

select se.saddr,se.sid,se.serial#,p.pid,se.paddr,s.sql_id,s.sql_text
from v$session se ,v$process p, v$sqlarea s
where se.paddr=p.addr and se.sql_address=s.address and se.process='&1'
and se.username is not null

--查看所有的会话
复制代码 代码如下:

select se.username,se.saddr,se.sid,se.serial#,se.process,s.sql_id
from v$session se,v$sqlarea s
where se.sql_address=s.address

--查看会话对应的sql内容
复制代码 代码如下:

select se.username,se.process,s.sql_text
from v$session se,v$sqlarea s
where se.sql_address=s.address and s.sql_id='&1'



相关阅读:
跟我学习javascript创建对象(类)的8种方法
理解php依赖注入和控制反转
PHP获取mysql数据表的字段名称和详细信息的方法
js小数计算小数点后显示多位小数的实现方法
MAC系统Safari浏览器没有自动代理搜索如何让其拥有
简介JavaScript中的unshift()方法的使用
C语言实现时间戳转日期的算法(推荐)
js data日期初始化的5种方法
Swift中用到extension的一些基本的扩展功能讲解
jquery 为a标签绑定click事件示例代码
jquery属性选择器not has怎么写 行悬停高亮显示
Asp.net SignalR快速入门
js实现浏览本地文件并显示扩展名的方法
RedHat系统上基本的网络连接和设置方法
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 伦敦奥运会开幕式作文 久别的河作文550字 我是我的朋友 向阳花的微笑,最迷人 大学生毕业自我鉴定模板 那一场风花雪夜 《给教师的建议》教师成长推荐电子书.rar(340)k(会员上传) 低值易耗品管理规定 称心寺·步陟招提宫 6句经典正能量的话 味道作文900字 感人的爱情故事700字 冬日的临汾 扶贫建档立卡实施方案 各阶段的班主任工作计划怎么写 小学二年级作文450字:日出 考试没有取得好成绩的检讨书范文 我写的啥?——致“静悄悄”作文400字 安监局工商贸股五月份重点工作进展情况汇报 小学六年级作文500字:观火烧云 党风廉政建设示范村汇报材料 难过的事作文150字 单位第二季度工作安全分析报告 高一期末考试作文 新春团拜会文艺演出串词 我的好朋友——刘亦濛 成长的"过程"作文100字 静,很美 人间处处见真情作文 游南天竹海 学会生存——《鲁滨逊漂流记》有感作文400字 学生会学期工作总结 影象:诗歌的隐身与重现 2014年度工作总结:白驹过隙 爱情经典语录:爱不一定要永远 因上精进,果上随缘 《林中小溪》说课稿-第2个 蓬勃的生命 安全保卫工作意见 《童年生活趣事》散文作者;李吉华 温泉之行作文750字 2016研究性学习的结题报告 高中高三作文1200字:学乐中国—我的良师,我的益友 小学五年级作文500字:我爱科技馆 花样过河作文400字 小学五年级作文450字:为什么“臭”? 因为太爱,所以会疼 为留守儿童,撑起一片蓝天 小学二年级作文600字:阳光熊之第7章第8章 “天宫二号”飞天作文500字

Copyright © 2016 phpStudy |