Oracle——关键时刻才疯狂寻觅的那些SQL语句

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;  

猜你喜欢

转载自blog.csdn.net/AikesLs/article/details/82017954