oracle 数据库管理操作

1、查询激活的链接

select program,username,count(*) from v$session where status='INACTIVE'  group by program,username;

2、处理过多的链接

begin
 	for rs in (select sid,serial# from v$session s
				where s.username is not null and s.program in ('JDBC Thin Client')
				   and s.last_call_et >= 5 and s.status='INACTIVE')
	loop
		begin
		execute immediate 'alter system disconnect session ''' || rs.sid || ', ' ||rs.serial# || '''immediate';
		commit;
		 exception when others then
		 	null;
		end;
	end loop;
end;
/

3、查询执行进度

SELECT SE.SID,SE.serial#,
  OPNAME,
  TRUNC(SOFAR / TOTALWORK * 100, 2) || '%' AS PCT_WORK,
  ELAPSED_SECONDS ELAPSED,
  ROUND(ELAPSED_SECONDS * (TOTALWORK - SOFAR) / SOFAR) REMAIN_TIME,
  SQL_TEXT
  FROM V$SESSION_LONGOPS SL, V$SQLAREA SA, V$SESSION SE
  WHERE SL.SQL_HASH_VALUE = SA.HASH_VALUE
  AND SL.SID = SE.SID
  AND SOFAR != TOTALWORK
  ORDER BY START_TIME;

4、检查死锁的情况

SELECT SE.sid,
       SE.serial#,
       PR.spid,
       SE.status,
       SUBSTR(SE.program, 1, 10) PROG,
       SUBSTR(SE.machine, 1, 10) MACH,
       SQ.sql_text
  FROM v$session SE, v$sqlarea SQ, v$process PR
 WHERE SE.paddr = PR.ADDR(+) and se.sid=2874
   AND SE.sql_address = SQ.address(+)
   AND schemaname <> 'SYS'
 ORDER BY SE.sid

5、查看那个用户那个进程造成死锁

select b.username,b.sid,b.serial#,logon_time 
from v$locked_object a,v$session b where a.session_id = b.sid 
order by b.logon_time;

6、查询正在运行的job

SELECT SID,JOB FROM DBA_JOBS_RUNNING;

7、耗时长的sql

select * from (select SQL_TEXT,round(ELAPSED_TIME/1000000,2),round(ELAPSED_TIME/1000000/decode(EXECUTIONS,0,1,null,1,EXECUTIONS),2) perELAPSED_time,EXECUTIONS
	 from (select * from v$sql order by ELAPSED_TIME desc) where rownum<26) order by perELAPSED_time desc

8、数据库模糊检索

select name,text from dba_source where lower(text) like '%xxxx%'

9、查看表空间的使用情况

SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name
FROM dba_free_space
GROUP BY tablespace_name;
SELECT a.tablespace_name,
a.bytes total,
b.bytes used,
c.bytes free,
(b.bytes * 100) / a.bytes "% USED ",
(c.bytes * 100) / a.bytes "% FREE "
FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c
WHERE a.tablespace_name = b.tablespace_name
AND a.tablespace_name = c.tablespace_name;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值