Sie sind auf Seite 1von 5

SELECT

ROUND((STM1.VALUE - STM2.VALUE) / 1000000) "BUSY WAIT TIME (S)",


ROUND(STM2.VALUE / 1000000) "CPU TIME (S)",
ROUND((STM1.VALUE - STM2.VALUE) / STM1.VALUE * 100) || ' : ' ||
ROUND(STM2.VALUE / STM1.VALUE * 100) RATIO
FROM V$SYS_TIME_MODEL STM1, V$SYS_TIME_MODEL STM2
WHERE STM1.STAT_NAME = 'DB time' AND STM2.STAT_NAME = 'DB CPU';
SELECT
SUBSTR(WAIT_CLASS, 1, 30) WAIT_CLASS,
ROUND(TIME_WAITED/100) "TIME_WAITED (S)",
ROUND(RATIO_TO_REPORT(TIME_WAITED) OVER () * 100) PERCENT
FROM
(SELECT WAIT_CLASS, SUM(TIME_WAITED) TIME_WAITED
FROM V$SYSTEM_EVENT
GROUP BY WAIT_CLASS)
ORDER BY 2 DESC;
SELECT EVENT, TIME_WAITED, AVERAGE_WAIT
FROM V$SYSTEM_EVENT
ORDER BY TIME_WAITED DESC;
SELECT
low_optimal_size/1024 "Low(K)",
(high_optimal_size+1)/1024 "High(K)",
estd_optimal_executions "Optimal",
estd_onepass_executions "One Pass",
estd_multipasses_executions "Multi-Pass"
FROM
v$pga_target_advice_histogram
WHERE
pga_target_factor = 2
AND
estd_total_executions != 0
ORDER BY
1;
column c1
column c2
column c3

heading 'Target(M)'
heading 'Estimated|Cache Hit %'
heading 'Estimated|Over-Alloc.'

SELECT
ROUND(pga_target_for_estimate /(1024*1024)) c1,
estd_pga_cache_hit_percentage
c2,
estd_overalloc_count
c3
FROM
v$pga_target_advice;
--- cache advisor:
col size_est format
col buf_est
format
col estd_rf
format
column estd_pr format

999,999,999,999
999,999,999
999.90
999,999,999

SET LINES 80 PAGES 100


SELECT
size_for_estimate size_est,
buffers_for_estimate buf_est,
estd_physical_read_factor est_rf,

heading
heading
heading
heading

'Cache Size (m)'


'Buffers'
'Estd Phys|Read Factor'
'Estd Phys| Reads'

estd_physical_reads est_pr
FROM V$DB_CACHE_ADVICE
WHERE name = 'DEFAULT'
AND block_size = (SELECT value FROM V$PARAMETER
WHERE name = 'db_block_size')
AND advice_status = 'ON';
-- redo
Select GROUP#, THREAD#, BYTES/1024/1024/1024, MEMBERS from v$log;
set linesize 300
set pagesize 5000
set trimspool on
column
column
column
column
column
column
column
column
column
column
column
column
column
column
column
column
column
column
column
column
column
column
column
column
column

00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

format
format
format
format
format
format
format
format
format
format
format
format
format
format
format
format
format
format
format
format
format
format
format
format
format

999
999
999
999
999
999
999
999
999
999
999
999
999
999
999
999
999
999
999
999
999
999
999
999
999

heading
heading
heading
heading
heading
heading
heading
heading
heading
heading
heading
heading
heading
heading
heading
heading
heading
heading
heading
heading
heading
heading
heading
heading
heading

"00:00"
"1am"
"2am"
"3am"
"4am"
"5am"
"6am"
"7am"
"8am"
"9am"
"10am"
"11am"
"12:00"
"1pm"
"2pm"
"3pm"
"4pm"
"5pm"
"6pm"
"7pm"
"8pm"
"9pm"
"10pm"
"11pm"
"12pm"

column "Day" format a3


prompt
prompt Redo Log Switches
prompt
SELECT

trunc (first_time) "Date",


to_char (trunc (first_time),'Dy') "Day",
sum (decode (to_number (to_char (FIRST_TIME,
sum (decode (to_number (to_char (FIRST_TIME,
sum (decode (to_number (to_char (FIRST_TIME,
sum (decode (to_number (to_char (FIRST_TIME,
sum (decode (to_number (to_char (FIRST_TIME,
sum (decode (to_number (to_char (FIRST_TIME,
sum (decode (to_number (to_char (FIRST_TIME,
sum (decode (to_number (to_char (FIRST_TIME,
sum (decode (to_number (to_char (FIRST_TIME,
sum (decode (to_number (to_char (FIRST_TIME,
sum (decode (to_number (to_char (FIRST_TIME,
sum (decode (to_number (to_char (FIRST_TIME,
sum (decode (to_number (to_char (FIRST_TIME,
sum (decode (to_number (to_char (FIRST_TIME,

'HH24')),
'HH24')),
'HH24')),
'HH24')),
'HH24')),
'HH24')),
'HH24')),
'HH24')),
'HH24')),
'HH24')),
'HH24')),
'HH24')),
'HH24')),
'HH24')),

0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,

1))
1))
1))
1))
1))
1))
1))
1))
1))
1))
1))
1))
1))
1))

"00",
"01",
"02",
"03",
"04",
"05",
"06",
"07",
"08",
"09",
"10",
"11",
"12",
"13",

from
where
group
order

sum (decode (to_number (to_char (FIRST_TIME,


sum (decode (to_number (to_char (FIRST_TIME,
sum (decode (to_number (to_char (FIRST_TIME,
sum (decode (to_number (to_char (FIRST_TIME,
sum (decode (to_number (to_char (FIRST_TIME,
sum (decode (to_number (to_char (FIRST_TIME,
sum (decode (to_number (to_char (FIRST_TIME,
sum (decode (to_number (to_char (FIRST_TIME,
sum (decode (to_number (to_char (FIRST_TIME,
sum (decode (to_number (to_char (FIRST_TIME,
v$log_history
trunc (first_time) >= (trunc(sysdate) - 14)
by trunc (first_time)
by trunc (first_time) DESC;

'HH24')),
'HH24')),
'HH24')),
'HH24')),
'HH24')),
'HH24')),
'HH24')),
'HH24')),
'HH24')),
'HH24')),

14,
15,
16,
17,
18,
19,
20,
21,
22,
23,

1))
1))
1))
1))
1))
1))
1))
1))
1))
1))

"14",
"15",
"16",
"17",
"18",
"19",
"20",
"21",
"22",
"23"

-- last X days. 0 = today only. 1 = today and yesterday


/
-- sessions with highest DB Time usage
PROMPT sessions with highest DB Time usage
SELECT s.sid, s.serial#, p.spid as "OS PID", s.username, s.module, st.value/100
as "DB Time
(sec)"
, stcpu.value/100 as "CPU Time (sec)", round(stcpu.value / st.value * 100,2) as
"% CPU"
FROM v$sesstat st, v$statname sn, v$session s, v$sesstat stcpu, v$statname sncpu
, v$process p
WHERE sn.name = 'DB time' -- CPU
AND st.statistic# = sn.statistic#
AND st.sid = s.sid
AND sncpu.name = 'CPU used by this session' -- CPU
AND stcpu.statistic# = sncpu.statistic#
AND stcpu.sid = st.sid
AND s.paddr = p.addr
AND s.last_call_et < 1800 -- active within last 1/2 hour
AND s.logon_time > (SYSDATE - 240/1440) -- sessions logged on within 4 hours
AND st.value > 0;
-- sessions with the highest time for a certain wait
PROMPT sessions with the highest time for a certain wait
SELECT s.sid, s.serial#, p.spid as "OS PID", s.username, s.module, se.time_waite
d
FROM v$session_event se, v$session s, v$process p
WHERE se.event = 'SQL*Net message to client'
AND s.last_call_et < 1800 -- active within last 1/2 hour
AND s.logon_time > (SYSDATE - 240/1440) -- sessions logged on within 4 hours
AND se.sid = s.sid
AND s.paddr = p.addr
ORDER BY se.time_waited;---------------NO Data Found for this Query
-- sessions_with_highest_CPU_consumption.lst
PROMPT sessions with highest CPU consumption
SELECT s.sid, s.serial#, p.spid as "OS PID",s.username, s.module, st.value/100 a
s "CPU sec"
FROM v$sesstat st, v$statname sn, v$session s, v$process p
WHERE sn.name = 'CPU used by this session' -- CPU
AND st.statistic# = sn.statistic#
AND st.sid = s.sid

AND s.paddr = p.addr


AND s.last_call_et < 1800 -- active within last 1/2 hour
AND s.logon_time > (SYSDATE - 240/1440) -- sessions logged on within 4 hours
ORDER BY st.value;
-- sessions_with_highest_DBTime_usage.lst
PROMPT sessions with highest DB Time usage 10g and upper
SELECT s.sid, s.serial#, p.spid as "OS PID", s.username, s.module, se.event, st.
value/100 as "DB Time
(sec)"
, stcpu.value/100 as "CPU Time (sec)", round(stcpu.value / st.value * 100,2) as
"% CPU"
FROM v$sesstat st, v$statname sn, v$session s, v$sesstat stcpu, v$statname sncpu
, v$process p
WHERE sn.name = 'DB time' -- CPU
AND st.statistic# = sn.statistic#
AND st.sid = s.sid
AND sncpu.name = 'CPU used by this session' -- CPU
AND stcpu.statistic# = sncpu.statistic#
AND stcpu.sid = st.sid
AND s.paddr = p.addr
AND s.last_call_et < 1800 -- active within last 1/2 hour
AND s.logon_time > (SYSDATE - 240/1440) -- sessions logged on within 4 hours
AND st.value > 0;

SELECT
ROUND((STM1.VALUE - STM2.VALUE) / 1000000) "BUSY WAIT TIME (S)",
ROUND(STM2.VALUE / 1000000) "CPU TIME (S)",
ROUND((STM1.VALUE - STM2.VALUE) / STM1.VALUE * 100) || ' : ' ||
ROUND(STM2.VALUE / STM1.VALUE * 100) RATIO
FROM V$SYS_TIME_MODEL STM1, V$SYS_TIME_MODEL STM2
WHERE STM1.STAT_NAME = 'DB time' AND STM2.STAT_NAME = 'DB CPU';
Select GROUP#, THREAD#, BYTES/1024/1024/1024, MEMBERS from v$log;
ttitle 'Top Ten Tables (by size)'
set lines 75
col tab heading "Table Name" format a55
col bytes heading "Size|(in Bytes)" format 999,999,999,999
select bytes, tab
from (select owner||'.'||segment_name tab, bytes
from dba_segments
where segment_type = 'TABLE'
order by bytes desc)
where rownum <= 10
/
SELECT EVENT, TIME_WAITED, AVERAGE_WAIT
FROM V$SYSTEM_EVENT
ORDER BY TIME_WAITED DESC;
-- ################################################
col size_est format 999,999,999,999
col buf_est
format 999,999,999
col estd_rf
format 999.90
column estd_pr format 999,999,999
SET LINES 80 PAGES 100

heading
heading
heading
heading

'Cache Size (m)'


'Buffers'
'Estd Phys|Read Factor'
'Estd Phys| Reads'

SELECT
size_for_estimate size_est,
buffers_for_estimate buf_est,
estd_physical_read_factor est_rf,
estd_physical_reads est_pr
FROM V$DB_CACHE_ADVICE
WHERE name = 'DEFAULT'
AND block_size = (SELECT value FROM V$PARAMETER
WHERE name = 'db_block_size')
AND advice_status = 'ON';

Das könnte Ihnen auch gefallen