FIND ORACLE BLOCKING SESSIONS

Aşağıdaki sorgu hangi session’ın blocking lock a sebebiyet verdiği ve hangi sessionların beklediği sonucunu vermektedir. Holder ile işaretlenmiş sid nin kill sql’i ve trace başlatma sorgusu da bulunabilir.

SELECT l. sess,
       s .inst_id || ‘_’
       || TRIM (
                NVL ( s.CLIENT_INFO , s. USERNAME)
             || ‘_’
             || s .ACTION
             || ‘_’
             || s .MODULE
             || ‘_’
             || s .USERNAME)
          “USER”,
       –o.object_name,
       s .status,
       s .inst_id,
       s .sid,
       s .serial#,
       w .event,
       ROUND ( w.seconds_in_wait / 60 , 2 ) minutes_in_wait,
       CASE
          WHEN l.block > 0 AND w.event NOT IN (‘enqueue’ )
          THEN
             ‘kill -9 ‘ || p. spid
          ELSE
             NULL
       END
          kill_os ,
       CASE
          WHEN l.block > 0 AND w.event NOT IN (‘enqueue’ )
          THEN
                ‘ALTER SYSTEM KILL SESSION ”’
             || s .sid
             || ‘,’
             || s .serial#
             || ‘,@’
             || S .INST_ID
             || ”’;’
          ELSE
             NULL
       END
          kill_sid ,
          ‘begin sys.dbms_system.set_sql_trace_in_session(‘
       || s .sid
       || ‘,’
       || s .serial#
       || ‘,TRUE); end;’
          start_trace ,
          ‘begin sys.dbms_system.set_sql_trace_in_session(‘
       || s .sid
       || ‘,’
       || s .serial#
       || ‘,FALSE); end;’
          stop_trace ,
       s .osuser,
       s .machine,
       s .last_call_et
  FROM (  SELECT DECODE (l.request , 0 , ‘Holder: ‘ , ‘      Waiter: ‘ ) sess, l.*
            FROM GV$LOCK l
           WHERE ( l.id1, l.id2, l.TYPE) IN (SELECT id1, id2, TYPE
                                              FROM gV$LOCK
                                             WHERE request > 0)
        ORDER BY l.id1, l.request ) l
       JOIN gv$session s
          ON l.sid = s.sid AND s.inst_id = l. inst_id
       —  left outer join dba_objects o on o.object_id=l.id1
       LEFT OUTER JOIN gv$session_wait w
          ON w.sid = s.sid AND w.INST_ID = s. INST_ID
       LEFT OUTER JOIN gv$process p
          ON p. addr = s.paddr AND p. inst_id = s.inst_id ;

Exadata power off/on steps

ibrisim

Selamlar,

aşağıdaki adımları izleyerek exadata’nızı tutarlı bir şekilde kapatıp açabilirsiniz.

###################CHEKCS###################
1. check all cell nodes (MS, RS & CELLSRV services must be running)

cd /opt/oracle.SupportTools/onecommand
cat dbs_group
cat cell_group

dcli -g cell_group -l root "su - celladmin -c "cellcli -e list cell detail ""

dcli -g cell_group -l root "su - celladmin -c "cellcli -e LIST GRIDDISK WHERE STATUS = 'inactive' ""

2. check cluster services

/u01/app/11.2.0/grid/bin/crsctl stat res -t

3. check all dbnodes and cellnodes

dcli -g cell_group -l root 'hostname; uptime'
dcli -g dbs_group -l root 'hostname; uptime'

###################DISABLE ASR###################

1. check asr configuration
– on db node

If your Exadata Server Software is release 12.1.2.x or later:
dcli -g dbs_group -l root -n "dbmcli -e list dbserver attributes snmpSubscriber"
If your Exadata Server Software release is earlier than 12.1.2.x:
dcli -g dbs_group -l root –n "/opt/oracle.cellos/compmon/exadata_mon_hw_asr.pl -get_snmp_subscribers -type asr"

– on cell

If your Exadata Server Software is release 12.1.2.x or…

View original post 587 kelime daha