探讨: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 交通频道 作文范文 营销大师原一平的励志故事 等爱,花开 2015市国有资产管理情况调研报告 预备党员自我鉴定 我那可爱的妈妈作文800字 公司高温防暑应急预案_应急预案 驻村大学生村官个人工作总结-个人工作总结 副市长学习《准则》和《条例》讲话稿 《金色的鱼钩》有感500字 企业安全生产承诺书 人生这短短的一生 好好地去珍惜它 采莲女(阎朝隐) 终于决定了,炒了吧…… 人类活动对生物圈的影响 从课文中学,拿日记来练——关于初中作文有效教学的一点探索 《游褒禅山记》51张课件13(内含教案).rar(1607)k 现代远程教育教学心得体会 求职信的实例 初中记事(发小篇)作文1400字 傅雷家书读书笔记好词 两根弦音“陶醉”了我作文700字 会中工作 人生恍然如梦作文600字 生命在平凡中闪光征文演讲 2016年安全工作思路 红尘纷扰 自己的生命中 晚安心语_晚安美好名句 2014构建和谐社会-讲文明树新风的演讲稿 经典语录:时光越老,人心越淡 全镇法制和社会主义核心价值观宣传教育活动通知 如果你三十岁还没结婚 营销工作会议报告 管委会消防演习总结 杏花的作文400字 春运回家不花钱 扶贫办公科学发展观演讲稿 党支部学习贯彻第十七届六中全会精神总结 副市长在全市劳动和社会保障工作会议上的讲话 明天就中考作文600字 2016放弃再生育承诺书 无私的母爱作文350字 第三批学习实践科学发展观活动调研报告 全县商务工作情况通报 舌头抽筋(三) 又见那抹微光 那算不算爱 2015乡镇农业农村工作汇报材料 党员教师创先争优活动工作小结 清香中你那一抹清纯的欢颜

Copyright © 2016 phpStudy |