17 agosto 2010

Giacomo Agosto 2010

Questo è mio figlio Giacomo, nato da pochi giorni e già fan sfegatato di Torre Orsina. Quando è nato pesava 3Kg ed era lungo 50 cm.


15 agosto 2010

Oracle - Analizzare un processo PID Unix Oracle che genera carico sulla macchina.

Con il comando top o con il comando ps individuiamo il processo che carica maggiormente la macchina in termini di CPU utilizzata.

Se il PID del processo Oracle incriminato sul sistema operativo UNIX è ad esempio 27335:

select USERNAME, PID, SPID, ADDR from v$process where spid='27335';


USERNAME       PID SPID ADDR
--------------- ---------- ------------ --------
oracle       210 27335 7D4E1E1C

individuiamo ADDR che ci permette di risalire alla sessione:

column MACHINE format a20
SELECT s.sid, s.command, s.serial#, s.username, s.osuser,  s.machine,  s.program FROM v$session s where s.paddr ='7D4E1E1C';


       SID    SERIAL# USERNAME     OSUSER    MACHINE     PROGRAM
---------- ---------- ------------------------------ ------------------------------ ---------------------------------------------------------------- -----------------------
      2217 43510 SCHEDULER     root    Blade01-Encl1-6     java@Blade01-Encl1-6 (TNS V1-V3)

individuiamo il SID che ci permette di capire quale Query sta impegnado il processo Oracle:

column SQL_TEXT format a60
select s.sid,sq.sql_text from v$session s, v$sqlarea sq where s.SQL_ADDRESS = sq.ADDRESS and s.sql_hash_value=sq.hash_value and s.sid=2217;


       SID SQL_TEXT
---------- ------------------------------------------------------------
      2217 SELECT thes_code, categories_id, thes_id from when_where_has
  _thesaurus_del WHERE thes_code >= :1 AND thes_code < :2 AND
  pico_id = :3 ORDER BY (thes_code) ASC

Oracle - Query più pesanti in termini di lettura su disco



column SQL_TEXT format a20


select sql_text, disk_reads, loads, optimizer_cost, parsing_user_id, serializable_aborts, au.username from gv$sql, all_users au where disk_reads > 10000 and parsing_user_id = au.user_id order by disk_reads desc;