第一步:使用top命令查看pid
把pid带入下面两个sql脚本:
查看具体pid的执行sql语句:
SELECT sql_text FROM v$sqlarea 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 = 29276));
查看具体pid的机器,用户和状态:
select b.server,b.username,b.sid,b.machine FROM v$session b WHERE b.paddr = (SELECT addr FROM v$process c WHERE c.spid = 29306);
查看某个用户的权限:
select * from dba_role_privs where grantee='zsd';(使用dba权限的用户查看某个用户)
修改用户密码
alter user zsd identified by 1234567_zsd;
把pid带入下面两个sql脚本:
查看具体pid的执行sql语句:
SELECT sql_text FROM v$sqlarea 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 = 29276));
查看具体pid的机器,用户和状态:
select b.server,b.username,b.sid,b.machine FROM v$session b WHERE b.paddr = (SELECT addr FROM v$process c WHERE c.spid = 29306);
查看某个用户的权限:
select * from dba_role_privs where grantee='zsd';(使用dba权限的用户查看某个用户)
修改用户密码
alter user zsd identified by 1234567_zsd;
本文介绍如何使用Oracle内置视图进行SQL诊断,包括查询特定进程ID(PID)执行的SQL语句及其状态、用户和主机信息,并展示了如何查询用户的权限及修改用户密码。

被折叠的 条评论
为什么被折叠?



