script:dba常用管理脚本收集(四)

2014-11-24 15:21:41 · 作者: · 浏览: 3
------------------------------------------------------------------------------------------------------------------ top_sessions.sql COLUMN username FORMAT A15 COLUMN machine FORMAT A25 COLUMN logon_time FORMAT A20 SELECT NVL(a.username, '(oracle)') AS username, a.osuser, a.sid, a.serial#, c.value AS &1, a.lockwait, a.status, a.module, a.machine, a.program, TO_CHAR(a.logon_Time,'DD-MON-YYYY HH24:MI:SS') AS logon_time FROM v$session a, v$sesstat c, v$statname d WHERE a.sid = c.sid AND c.statistic# = d.statistic# AND d.name = DECODE(UPPER('&1'), 'READS', 'session logical reads', 'EXECS', 'execute count', 'CPU', 'CPU used by this session', 'CPU used by this session') ORDER BY c.value DESC; ------------------------------------------------------------------------------------------------------------------------------------------------------------------ undo_size.sql SELECT SUM(a.bytes)/1024/1024/1024 "UNDO_SIZE" FROM v$datafile a, v$tablespace b, dba_tablespaces c WHERE c.contents = 'UNDO' AND c.status = 'ONLINE' AND b.name = c.tablespace_name AND a.ts# = b.ts# / ------------------------------------------------------------------------------------------------------------------------------------------------------ undo_used.sql set pages 10000 lines 200 col username heading "User" col name format a22 wrapped heading "Undo Segment Name" col xidusn heading "Undo|Seg #" col xidslot heading "Undo|Slot #" col xidsqn heading "Undo|Seq #" col ubafil headi
ng "File #" col ubablk heading "Block #" col start_time format a20 word_wrapped heading "Started" col status format a8 heading "Status" col blk format 999,999,999 heading "KBytes" col used_urec heading "Rows" select /*+ rule */ start_time, username, r.name, ubafil, ubablk, t.status, (used_ublk*p.value)/1024 blk, used_urec from v$transaction t, v$rollname r, v$session s, v$parameter p where xidusn=usn and s.saddr=t.ses_addr and p.name='db_block_size' order by 1; -------------------------------------------------------------------------------------------------------------------------------------------------------- temp_ts_space.sql col sid_serial for a20 col username for a12 set pages 500 SELECT A.tablespace_name tablespace, D.mb_total, SUM (A.used_blocks * D.block_size) / 1024 / 1024 mb_used, D.mb_total - SUM (A.used_blocks * D.block_size) / 1024 / 1024 mb_free FROM v$sort_segment A, ( SELECT B.name, C.block_size, SUM (C.bytes) / 1024 / 1024 mb_total FROM v$tablespace B, v$tempfile C WHERE B.ts#= C.ts# GROUP BY B.name, C.block_size ) D WHERE A.tablespace_name = D.name GROUP by A.tablespace_name, D.mb_total / SELECT S.sid || ',' || S.serial# sid_serial, S.username, S.osuser, P.spid, S.module, S.program, SUM (T.blocks) * TBS.block_size / 1024 / 1024 mb_used, T.tablespace, COUNT(*) sort_ops FROM v$sort_usage T, v$session S, dba_tablespaces TBS, v$process P WHERE T.session_addr = S.saddr AND S.paddr = P.addr AND T.tablespace = TBS.tablespace_name GROUP BY S.sid, S.serial#, S.username, S.osuser, P.spid, S.module, S.program, TBS.block_size, T.tablespace ORDER BY module / ---------------------------------------------------------------------------------------