- 鎖表處理
a) 查詢鎖表【單庫】
SELECT SESS.SID,
SESS.SERIAL#,
LO.ORACLE_USERNAME,
LO.OS_USER_NAME,
AO.OBJECT_NAME,
Q LO.LOCKED_MODE
FROM V$LOCKED_OBJECT LO, DBA_OBJECTS AO, V$SESSION SESS
WHERE AO.OBJECT_ID = LO.OBJECT_ID
AND LO.SESSION_ID = SESS.SID;
或者
SELECT l.session_id sid,
s.serial#,
l.locked_mode 鎖模式,
l.oracle_username 登錄用戶,
l.os_user_name 登錄機(jī)器用戶名,
s.machine 機(jī)器名,
s.terminal 終端用戶名,
o.object_name 被鎖對(duì)象名,
s.logon_time 登錄數(shù)據(jù)庫時(shí)間
FROM v$locked_object l, all_objects o, v$session s
WHERE l.object_id = o.object_id
AND l.session_id = s.sid
ORDER BY sid, s.serial#;
b) 查詢鎖表【RAC集群】
SELECT OBJECT_NAME,
MACHINE,
'alter system kill session ' || '''' || S.SID || ',' || S.SERIAL# ||
''';'
FROM GV$LOCKED_OBJECT L, DBA_OBJECTS O, GV$SESSION S
WHERE L.OBJECT_ID = O.OBJECT_ID
AND L.SESSION_ID = S.SID;
c) 殺死
alter system kill session 'sid,SERIAL#';
將以上查詢的sid,SERIAL#替換到以上語句中執(zhí)行即可,值得注意的是,在RAC環(huán)境下,如果在一臺(tái)節(jié)點(diǎn)上執(zhí)行后,還是鎖表,請(qǐng)?jiān)谒泄?jié)點(diǎn)上執(zhí)行殺死語句即可。
- 追加數(shù)據(jù)文件到表空間
alter tablespace TS_STAT_IDX add datafile '+DATA2' size 100M autoextend on next 100M maxsize UNLIMITED;
注意【DATA2】為ASM組,當(dāng)為RAC環(huán)境時(shí),不需要指定具體的數(shù)據(jù)文件路徑,讓環(huán)境自行創(chuàng)建。
- ASM磁盤組空間查詢
select name,total_mb,free_mb,(free_mb/total_mb)*100 as usage from v$asm_diskgroup;
- 刪除表空間文件
drop tablespace niptest including contents and datafiles;
注意:執(zhí)行上語句時(shí),請(qǐng)先行刪除表。
- 正在執(zhí)行的sql語句及執(zhí)行該語句的用戶
SELECT b.sid oracleID,
b.username 登錄Oracle用戶名,
b.serial#,
spid 操作系統(tǒng)ID,
paddr,
sql_text 正在執(zhí)行的SQL,
b.machine 計(jì)算機(jī)名
FROM v$process a, v$session b, v$sqlarea c
WHERE a.addr = b.paddr
AND b.sql_hash_value = c.hash_value
- 正在執(zhí)行sql的客戶端程序、SQL以及耗時(shí)
SELECT OSUSER 電腦登錄身份,
PROGRAM 發(fā)起請(qǐng)求的程序,
USERNAME 登錄系統(tǒng)的用戶名,
SCHEMANAME,
B.Cpu_Time 花費(fèi)cpu的時(shí)間,
STATUS,
B.SQL_TEXT 執(zhí)行的sql
FROM V$SESSION A
LEFT JOIN V$SQL B ON A.SQL_ADDRESS = B.ADDRESS
AND A.SQL_HASH_VALUE = B.HASH_VALUE
ORDER BY b.cpu_time DESC
- 當(dāng)前連接數(shù)查詢
select username,count(username) from v$session where username is not null group by username;