暂无图片
暂无图片
7
暂无图片
暂无图片
暂无图片
oracle 找出最耗资源的sql
4530
5页
461次
2020-04-20
免费下载
一、要找出最耗资源的 sql
我们可以首先使用 top 等工具,找到最好资源的进程(记住进程号),例如,操作系统进程号为 2796,然后
根据这个进程号(v$process.spid) v$process 中找到进程地址(v$process.addr),然后根据这个地
址在 v$session 中找到相应的 sid(v$session.sid),然后根据这个 sid 找到相应的 hash
aluev$session. sql_hash_value),然后根据这个 hash alue v$sqltext
$sqlv$sqlarea 等视图中找到对应的 sql 语句(sql_text)。
  select * from v$process where spid='2796';
  select sql_hash_value,machine,username,program from v$session where
PAddr='63B7A584';
  select * from v$sqltext where hashvalue='833203018';
  select * from v$sql where hashvalue='833203018';
  select * from v$sqlarea where hashvalue='833203018';
  SELECT
a.username,a.machine,a.program,a.sid,a.serial#,a.status,c.piece,c.sql_text FROM
v$session a,v$process b,v$sqltext c WHERE b.spid='2796' AND b.addr=a.paddr AND
a.sql_address=c.address(+) ORDER BY c.piece
============================================
select sql_text
from v$sqltext
where (hash_value,sql_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
where paddr = (select addr from v$process where spid='操作系统进程 id')
)
=================================================
二、oracle 被锁问题集及解决方案
1.错误信息:ORA-28000: the account is locked
原因分析: The user has entered wrong password consequently for maximum number of
times specified by the user's profile parameter FAILED_LOGIN_ATTEMPTS, or the
DBA has locked the account
解决办法: Wait for PASSWORD_LOCK_TIME or contact DBA
2.视图被锁住的问题
解决的办法:
1.找出等待事件的原因
select event,p1,p2,sid from v$session_wait where event not like 'SQL%' and event
not like 'rdbms%';
2.找出锁住的进程
select object_id,session_id,locked_mode from v$locked_object;
3.找出锁住的进程的操作系统进程
select spid from v$process where addr=(select paddr from v$session where
sid=144);(这个 19 表示被锁定的 SID
4.
4.在操作系统上删除进程
orakill eoffice 2768(第一个参数据是数据库的 SID 第二个参数是进程 ID,这个数字就是上面取到
的进程 ID,这个是在 Dos 命令窗口下操作)
下面是一个操作实例
首先先 Drop 相关的锁定的对象如 Drop View vw_wf_CritCondition,然后结束 PL/SQL Dev 再开一
次才能执行下面的操作。
SQL> select event,p1,p2,sid from v$session_wait where event not like 'SQL%' and
event not like 'rdbms%';
EVENT P1
P2 SID
---------------------------------------------------------------- ----------
---------- ----------
null event 1413697536
1 18
null event 1
95552 22
pmon timer 300
0 1
smon timer 300
0 5
library cache lock 763239564
792075180 23 (这里表示有一个库被锁掉了。)
wakeup time manager 0
0 8
6 rows selected
SQL> select object_id,session_id,locked_mode from v$locked_object;
OBJECT_ID SESSION_ID LOCKED_MODE
---------- ---------- -----------
77 22 3
69 22 3
70 22 3
316 22 3
314 22 3
356 22 3
68 22 3
72 22 3
73 22 3
74 22 3
75 22 3
11 rows selected
SQL> select spid from v$process where addr=(select paddr from v$session where
sid=22);
SPID
------------
3348
of 5
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜