a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

解析oracle對(duì)select加鎖的方法以及鎖的查詢

2024-08-29 13:55:09
字體:
供稿:網(wǎng)友

解析oracle對(duì)select加鎖的方法以及鎖的查詢
一、oracle對(duì)select加鎖方法

復(fù)制代碼 代碼如下:


create table test(a number,b number);
insert into test values(1,2);
insert into test values(3,4);
insert into test values(8,9);
commit;
---session 1 模擬選中一個(gè)號(hào)碼
SQL> select * from test where a =1 for update skip locked;
AB
---------- ----------
12
---session 2 對(duì)a=1再進(jìn)行select
SQL> select * from test where a = 1 for update skip locked;
未選定行
-- session 3 全表select
SQL> select * from test for update skip locked;
AB
---------- ----------
34
89
SQL>


二、查詢那些用戶,操縱了那些表造成了鎖機(jī)

復(fù)制代碼 代碼如下:


SELECT s.username,
decode(l.type,'TM','TABLE LOCK',
'TX','ROW LOCK',
NULL) LOCK_LEVEL,
o.owner,o.object_name,o.object_type,
s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser
FROM v$session s,v$lock l,all_objects o
WHERE l.sid = s.sid
AND l.id1 = o.object_id(+)
AND s.username is NOT Null


三、查出被鎖的表,和鎖住這個(gè)表的會(huì)話ID
select a.session_id ,b.* from v$locked_object a,all_objects b
where a.object_id=b.object_id
四、 查出對(duì)應(yīng)的SQL語句

復(fù)制代碼 代碼如下:


select vs.SQL_TEXT,vsess.sid,vsess.SERIAL#,vsess.MACHINE,vsess.OSUSER
,vsess.TERMINAL,vsess.PROGRAM,vs.CPU_TIME,vs.DISK_READS
from v$sql vs,v$session vsess
where vs.ADDRESS=vsess.SQL_ADDRESS
and vsess.sid=(上面查出來的會(huì)話ID)


五、
1.查哪個(gè)過程被鎖
查V$DB_OBJECT_CACHE視圖:
SELECT * FROM V$DB_OBJECT_CACHE WHERE OWNER='過程的所屬用戶' AND LOCKS!='0';

2. 查是哪一個(gè)SID,通過SID可知道是哪個(gè)SESSION.
查V$ACCESS視圖:
SELECT * FROM V$ACCESS WHERE OWNER='過程的所屬用戶' AND;

3. 查出SID和SERIAL#
查V$SESSION視圖:
SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID='剛才查到的SID'

查V$PROCESS視圖:
SELECT SPID FROM V$PROCESS WHERE ADDR='剛才查到的PADDR';

4. 殺進(jìn)程
(1).先殺ORACLE進(jìn)程:
ALTER SYSTEM KILL SESSION '查出的SID,查出的SERIAL#';

(2).再殺操作系統(tǒng)進(jìn)程:
KILL -9 剛才查出的SPID

ORAKILL 剛才查出的SID 剛才查出的SPID
六、查找最耗費(fèi)系統(tǒng)資源的SQL

復(fù)制代碼 代碼如下:


--CPU
select b.sql_text,
a.buffer_gets,
a.executions,
a.buffer_gets/decode(a.executions , 0 , 1 , a.executions),
c.username
from V$sqlarea a,
v$sqltext_with_newlines b,
dba_users c
where a.parsing_user_id = c.user_id
and a.address = b.address
order by a.buffer_gets desc , b.piece


復(fù)制代碼 代碼如下:


--IO
select b.sql_text,
a.disk_reads,
a.executions,
a.disk_reads/decode(a.executions , 0 , 1 , a.executions),
c.username
from v$sqlarea a,
v$sqltext_with_newlines b,
dba_users c
where a.parsing_user_id = c.user_id
and a.address = b.address
order by a.disk_reads desc , b.piece


復(fù)制代碼 代碼如下:


select s.sid,s.value "CPU Used"
from v$sesstat s,v$statname n
where s.statistic#=n.statistic# and n.name='CPU used by this session'
and s.value>0
order by 2 desc;


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产精品成人免费视频 | 日韩av一二三四区 | 午夜激情免费在线观看 | 欧美第7页| 国产青青草 | 超碰在线人人 | 国产成人精品免费视频 | 天天综合7799精品影视 | 欧美日韩一区二区三区四区 | 一区二区三区回区在观看免费视频 | 四影虎影www4hu23cmo | 欧美精品在线观看一区二区 | 免费视频一二三区 | av成人在线观看 | 国产成人精品在线观看 | 成年人在线观看 | 欧美日韩电影一区二区 | 国产精品99久久免费观看 | 热久久免费视频 | 日韩欧美中文在线 | 日本亚洲精品 | 国内精品视频在线观看 | 亚洲区在线 | 亚洲精品在 | 日韩av高清在线 | 日本一区二区视频在线 | 成人自拍视频 | 99精品国产高清一区二区麻豆 | 日韩免费一级 | 国产精品一区二区三 | 成人在线三级 | 久久精品久久久久久久久久久久久 | 久久国产乱子伦精品免费午夜,浪货好紧 | 一级全毛片 | 中文愉拍 | 日韩性xxx| 国产精品视频一区二区三区 | 日日夜夜综合 | 成人免费视屏 | 黄色影视在线观看 | 男女羞羞羞视频午夜视频 |