1、锁表解决:查找数据库锁表用户,并生成解锁语句:
Select O.OWNER,
O.OBJECT_NAME,
O.OBJECT_TYPE,
(SELECT C.MACHINE FROM V$SESSION C WHERE C.SID = S.SID),
(SELECT C.PROGRAM FROM V$SESSION C WHERE C.SID = S.SID),
S.SID,
S.SERIAL#,
'alter system kill session ''' || S.SID || ',' || S.SERIAL# || ''';' Kill_Sql
FROM V$LOCKED_OBJECT L, DBA_OBJECTS O, V$SESSION S
WHERE L.OBJECT_ID = O.OBJECT_ID
AND L.SESSION_ID = S.SID
ORDER BY O.OBJECT_ID, XIDUSN DESC;
2、查看数据库连接会话情况:
Select b.Machine, b.Program, Count(*) session_num
From V$process a, V$session b
Where a.Addr = b.Paddr
And b.Username Is Not Null
Group By b.Machine, b.Program
Order By Count(*) Desc;
3、查看不同用户下的连接情况:
select username,count(username) from v$session where username is not null group by username;
4、Linux下查找oracle实例、切换实例:
ps -ef|grep pmon --查找实例
export ORACLE_SID=实例名 --切换实例
5、循环插入数据:
declare
i number;
begin
for i in 1..100 loop
insert Into emp Values (i,'X','F');
end loop;
end;
6、查看Oracle对象占用内存:
select segment_name "Table_Name", bytes / 1024 / 1024 "Memory_Size(M)"
from dba_segments
where segment_type = 'TABLE'
and owner = 'AIKES'
order by segment_name;