Tuning BST
Tuning BST
All TBS :
Last Analyzed :
Block Lock :
set echo on
select /*+ ordered */ w1.sid waiting_session,
h1.sid holding_session,
w.kgllktype lock_or_pin,
w.kgllkhdl address,
decode(h.kgllkmod, 0, 'None', 1, 'Null', 2, 'Share', 3, 'Exclusive',
'Unknown') mode_held,
decode(w.kgllkreq, 0, 'None', 1, 'Null', 2, 'Share', 3, 'Exclusive',
'Unknown') mode_requested
from dba_kgllock w, dba_kgllock h, v$session w1, v$session h1
where
(((h.kgllkmod != 0) and (h.kgllkmod != 1)
and ((h.kgllkreq = 0) or (h.kgllkreq = 1)))
and
(((w.kgllkmod = 0) or (w.kgllkmod= 1))
and ((w.kgllkreq != 0) and (w.kgllkreq != 1))))
and w.kgllktype = h.kgllktype
and w.kgllkhdl = h.kgllkhdl
and w.kgllkuse = w1.saddr
and h.kgllkuse = h1.saddr
/
====Blocking session=========
select s1.username || '@' || s1.machine
|| ' ( SID=' || s1.sid || ' ) is blocking '
|| s2.username || '@' || s2.machine || ' ( SID=' || s2.sid || ' ) ' AS
blocking_status
from v$lock l1, v$session s1, v$lock l2, v$session s2
where s1.sid=l1.sid and s2.sid=l2.sid
and l1.BLOCK=1 and l2.request > 0
and l1.id1 = l2.id1
and l2.id2 = l2.id2 ;
CHKDG :
@$HOME/dbname.sql
CHKPATCH :
CPU :
dbf:
dbm.sql
Prompt ====================
Prompt LOCK INFORMATION
Prompt ====================
Prompt
Prompt ====================
Prompt SESSION INFORMATION
Prompt ====================
Prompt
Prompt =========================
Prompt TABLESPACE INFORMATION
Prompt =========================
Prompt
dbname :
dbversion :
deadlock :
SELECT DECODE(request,0,'Holder: ','Waiter: ')||sid sess,
id1, id2, lmode, request, type
FROM V$LOCK
WHERE (id1, id2, type) IN
(SELECT id1, id2, type FROM V$LOCK WHERE request>0)
ORDER BY id1, request ;
glo.sql
Inactive :
Inst :
INVALID :
LC :
lg :
log_gap :
log_ship:
Long :
object :
oms.sql:
set pages 100
Select to_char(sysdate, 'DD-MM-YYYY HH24:MI') "Executed at" FROM dual;
select username, count(*) from v$session group by username union select 'Total
sessions: ' username, count(*) from v$session order by 2;
patch_info:
pid.sql
------Bala's------
col osuser for a8;
col status for a18;
col username for a10;
col osuser for a10;
col machine for a10;
col status for a10;
col lockwait for a8;
col serial# for 99999;
set lines 150;
select S.SID
,S.serial#
,S.username
,S.OSuser
,S.machine
,P.SPID "UnixID"
,initcap(S.status) Status
,decode(S.lockwait,NULL,'No','Yes') Lockwait
,initcap(A.Name) Command
,S.process
from v$SESSION S
,v$PROCESS P
,sys.AUDIT_ACTIONS A
where S.username is not null
and A.action = S.command
and P.ADDR = S.PADDR
and s.sid='&1';
process_details:
select distinct
S.username
,S.machine
, count(S.username)
from v$SESSION S
,v$PROCESS P
,sys.AUDIT_ACTIONS A
where S.username is not null
and A.action = S.command
and P.ADDR = S.PADDR
and s.process = '&process_id'
group by s.username, s.machine
/
pfile or spfile:
SELECT DECODE(value, NULL, 'PFILE', 'SPFILE') "Init File Type" FROM
sys.v_$parameter WHERE name = 'spfile';
SESSMON:
sid.sql
RAC SORT :
select tablespace_name,SUM(total_blocks*8192/1024/1024)
Total,sum(used_blocks*8192/1024/1024) used,
sum(free_blocks*8192/1024/1024) free from gv$sort_segment where TABLESPACE_NAME
like 'TEMP'
group by tablespace_name;
tbs.sql
temp.sql
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;
Database uptime:
select
'Hostname : ' || host_name
,'Instance Name : ' || instance_name
,'Started At : ' || to_char(startup_time,'DD-MON-YYYY HH24:MI:SS') stime
,'Uptime : ' || floor(sysdate - startup_time) || ' days(s) ' ||
trunc( 24*((sysdate-startup_time) -
trunc(sysdate-startup_time))) || ' hour(s) ' ||
mod(trunc(1440*((sysdate-startup_time) -
trunc(sysdate-startup_time))), 60) ||' minute(s) ' ||
mod(trunc(86400*((sysdate-startup_time) -
trunc(sysdate-startup_time))), 60) ||' seconds' uptime
from
sys.gv_$instance;
set heading on
user
select sys_context('USERENV','SESSION_USER') from dual;
select sys_context('USERENV','SESSION_SCHEMA') from dual;
#!/usr/bin/ksh
sqlplus /nolog <<EOF
connect id/pwd
spool /tmp/XXXX.log
set echo on time on timing on serveroutput on
select to_char(sysdate,'DD-MON-YYYY HH:MI:SS') " Start Time " from dual;
select name from v\$database;
exec dbms_stats.gather_table_stats('odr_stage','tax_detail',estimate_percent
=>12,degree=>'6',cascade=>TRUE,granularity=>'ALL');
select to_char(sysdate,'DD-MON-YYYY HH:MI:SS') " Completion Time " from dual;
spool off;
exit
EOF