Вы находитесь на странице: 1из 6

Oracle EBS Monitoring Scripts

/* Instance Startup Time */

select
host_name
, instance_name
, to_char(sysdate, 'HH24:MI:SS DD-MON-YY') currtime
, to_char(startup_time, 'HH24:MI:SS DD-MON-YY') starttime
from v$instance;

/* Wait Events */

select * from (SELECT count(*) cnt, substr(event,1,50) event


FROM v$session_wait
WHERE wait_time = 0
AND event NOT IN ('smon timer','pipe get','wakeup time manager','pmon timer','rdbms ipc
message',
'SQL*Net message from client')
GROUP BY event
ORDER BY 1 DESC) where rownum <6;

/* SGA Size */

select round(sum(value)/1048576) as sgasize from v$sga;

/* Database Size */

select round(sum(bytes)/1048576) as dbsize from v$datafile;

/* Session Details */

(select total, active, inactive, system, killed


from
(select count(*) total from v$session)
, (select count(*) system from v$session where username is null)
, (select count(*) active from v$session where status = 'ACTIVE' and username is
not null)

, (select count(*) inactive from v$session where status = 'INACTIVE')


, (select count(*) killed from v$session where status = 'KILLED'))

/* Rollback Segments infor*/

select segment_name, tablespace_name, status,round(sum(initial_extent/1024)),


round(sum(next_extent/1024)),max_extents from dba_rollback_segs
group by segment_name, tablespace_name,status,max_extents;

/* Tablespace information */

select a.tablespace_name,a.status,contents,extent_management,
allocation_type, round(sum(b.bytes/1048576)) "Size (Mb)"
from
dba_tablespaces a, dba_data_files b
where a.tablespace_name=b.tablespace_name
group by a.tablespace_name,a.status,a.contents,a.extent_management,
a.allocation_type

Krishnamoorthy Rasappan Page 1


appsdbawiki
Oracle EBS Monitoring Scripts

order by 1;

/* Tablespaces With Less Than 10% Free Space */

select a.tablespace_name,sum(a.tots/1048576) Tot_Size,


sum(a.sumb/1024) Tot_Free,
sum(a.sumb)*100/sum(a.tots) Pct_Free
from
(
select tablespace_name,0 tots,sum(bytes) sumb
from dba_free_space a
group by tablespace_name
union
select tablespace_name,sum(bytes) tots,0 from
dba_data_files
group by tablespace_name) a
group by a.tablespace_name
having sum(a.sumb)*100/sum(a.tots) < 10
order by pct_free;

/* TB Free Space */

select a.tablespace_name,sum(a.tots/1048576) Tot_Size,


sum(a.sumb/1024) Tot_Free,
sum(a.sumb)*100/sum(a.tots) Pct_Free
from
(
select tablespace_name,0 tots,sum(bytes) sumb
from dba_free_space a
group by tablespace_name
union
select tablespace_name,sum(bytes) tots,0 from
dba_data_files
group by tablespace_name) a
group by a.tablespace_name
order by pct_free;

/* Control Files Location */

select name
from sys.v_\$controlfile

/* Log Files Location */

select group#,member
from sys.v_\$logfile

/* Data Files Location */

select F.file_id Id,


F.file_name name,
F.bytes/(1024*1024) Mbyte,
decode(F.status,'AVAILABLE','OK',F.status) status,
F.tablespace_name Tspace

Krishnamoorthy Rasappan Page 2


appsdbawiki
Oracle EBS Monitoring Scripts

from sys.dba_data_files F
order by tablespace_name;

/* Session Details */

SELECT s.machine,
s.username,
s.module,
s.inst_id,
COUNT (*) how_many
FROM (SELECT DISTINCT PROGRAM,
PADDR,
machine,
username,
module,
inst_id
FROM gV$SESSION) s,
gv$process p
WHERE s.paddr = p.addr AND p.inst_id = s.inst_id
GROUP BY s.machine,
s.username,
s.module,
s.inst_id;

SELECT SID,
serial#,
module,
action,
last_call_et / 60 "Minutes - Active",
status,
logon_time
FROM v$Session
WHERE status LIKE 'ACTIVE' --and
--last_call_et > 30
AND schemaname NOT LIKE 'SYS'
--and action like 'FRM:%'
--and module like 'Disco%'
ORDER BY last_call_et / 60 DESC;

/* Enable Trace for a Running Concurrent Request */

-- Get the SPID of Request ID

SELECT a.request_id,
d.sid,
d.serial#,
d.osuser,
d.process,
c.SPID
FROM apps.fnd_concurrent_requests a,
apps.fnd_concurrent_processes b,
v$process c,
v$session d
WHERE a.controlling_manager = b.concurrent_process_id

Krishnamoorthy Rasappan Page 3


appsdbawiki
Oracle EBS Monitoring Scripts

AND c.pid = b.oracle_process_id


AND b.session_id = d.audsid
AND a.request_id = &Request_ID;

-- Enable oradebug for above SPID

CONN /as sysdba


oradebug setospid 6715;
oradebug event 10046 TRACE NAME CONTEXT forever, LEVEL 12;
oradebug tracefile_name
-- Disable trace
oradebug event 10046 TRACE NAME CONTEXT OFF
-- Generate TKPROF
tkprof /u01/oracle/PROD/proddb/10.2.0/ADMIN/PROD_ebs2/udump/prod_ora_6715.trc
/home/oraprod/prod_ora_6715.txt EXPLAIN=apps/pr1aps1 SORT=(exeela,fchela) SYS=NO

/* Find the trace File */

SELECT 'Request id: ' || request_id,


'Trace id: ' || oracle_Process_id,
'Trace Flag: ' || req.enable_trace,
'Trace Name: '
|| dest.VALUE
|| '/'
|| LOWER (dbnm.VALUE)
|| '_ora_'
|| oracle_process_id
|| '’.trc',
'Prog. Name: ' || prog.user_concurrent_program_name,
'File Name: '
|| execname.execution_file_name
|| execname.subroutine_name,
'Status : '
|| DECODE (phase_code, 'R', 'Running')
|| '-'
|| DECODE (status_code, 'R', 'Normal'),
'SID Serial: ' || ses.sid || ',' || ses.serial#,
'Module : ' || ses.module
FROM fnd_concurrent_requests req,
v$session ses,
v$process proc,
v$parameter dest,
v$parameter dbnm,
fnd_concurrent_programs_vl prog,
fnd_executables execname
WHERE req.request_id = &request
AND req.oracle_process_id = proc.spid(+)
AND proc.addr = ses.paddr(+)
AND dest.name = 'user_dump_dest'
AND dbnm.name = 'db_name'
AND req.concurrent_program_id = prog.concurrent_program_id
AND req.program_application_id = prog.application_id

Krishnamoorthy Rasappan Page 4


appsdbawiki
Oracle EBS Monitoring Scripts

AND prog.application_id = execname.application_id


AND prog.executable_id = execname.executable_id;

/* PL / SQL Lock Timer */

SELECT vs.inst_id,
vs.osuser,
vw.event,
vw.p1,
vw.p2,
vw.p3,
vt.sql_text,
vs.program
FROM gv$session_wait vw, gv$sqltext vt, gv$session vs
WHERE vw.event = 'PL/SQL lock timer'
AND vt.address = vs.sql_address
AND vs.inst_id = vw.inst_id
AND vs.sid = vw.sid;

/* Top SQL */

SELECT /*+ ordered */


p.spid,
s.sid,
s.serial#,
s.username me,
TO_CHAR (s.logon_time, 'mm-dd-yyyy hh24:mi') logon_time,
s.last_call_et,
st.VALUE,
s.sql_hash_value,
s.sql_address,
sq.sql_text
FROM v$statname sn,
v$sesstat st,
v$process p,
v$session s,
v$sql sq
WHERE s.paddr = p.addr
AND s.sql_hash_value = sq.hash_value
AND s.sql_Address = sq.address
AND s.sid = st.sid
AND st.STATISTIC# = sn.statistic#
AND sn.NAME = 'CPU used by this session'
AND s.status = 'ACTIVE'
ORDER BY st.VALUE DESC;

/* Top Statements */

SELECT top_ten.tot_value,
CHR (39) || s.sid || ',' || s.serial# || CHR (39) sid_serial,
s.username,
SUBSTR (s.status, 1, 1) status,
s.lockwait,
s.osuser,

Krishnamoorthy Rasappan Page 5


appsdbawiki
Oracle EBS Monitoring Scripts

s.process,
s.machine,
TO_CHAR (s.logon_time, 'DDth HH24:MI:SS') LOGON,
FLOOR (last_call_et / 3600)
|| ':'
|| FLOOR (MOD (last_call_et, 3600) / 60)
|| ':'
|| MOD (MOD (last_call_et, 3600), 60)
IDLE,
program || ' ' || s.module || ' ' || s.action module
FROM (SELECT tot_value, sid
FROM ( SELECT SUM (stat.VALUE) tot_value, s.sid
FROM v$sesstat stat, v$statname sname, v$session s
WHERE s.sid = stat.sid
AND stat.STATISTIC# = sname.STATISTIC#
AND sname.name IN
('consistent gets',
'db block gets',
'physical reads',
'db block changes')
AND s.TYPE <> 'BACKGROUND'
AND s.schemaname <> 'SYS'
--and s.status = 'ACTIVE'
GROUP BY s.sid
ORDER BY tot_value DESC)
WHERE ROWNUM < 11) top_ten,
v$session s
WHERE top_ten.sid = s.sid
ORDER BY 1 DESC;
/
SELECT *
FROM DBA_TEMP_FILES;

SELECT *
FROM DATABASE_PROPERTIES
where PROPERTY_NAME='DEFAULT_TEMP_TABLESPACE';

ALTER DATABASE DEFAULT TEMPORARY TABLESPACE <TEMP_TB_NAME>;

Krishnamoorthy Rasappan Page 6


appsdbawiki

Вам также может понравиться