SORU
7 Mart 2009, CUMARTESİ


Ne kadar uzun süre çalışan sorguları için oracle veritabanı kontrol etmek için?

Oracle bir veritabanı kullanan uygulama, yavaş gidiyor ya da tamamen durmuş gibi görünüyor.

Ne kadar sorguları daha çok inceleyebilirim yani en pahalı olan alınır.

CEVAP
9 Mart 2009, PAZARTESİ


Bu bir SQL gösterir şu anda "": - . AKTİF

select S.USERNAME, s.sid, s.osuser, t.sql_id, sql_text
from v$sqltext_with_newlines t,V$SESSION s
where t.address =s.sql_address
and t.hash_value = s.sql_hash_value
and s.status = 'ACTIVE'
and s.username <> 'SYSTEM'
order by s.sid,t.piece
/

Bu kilitler gösterir. Bazen işler yavaş gidiyor, ama bir kilit için bekleyen engellendiği için:

select
  object_name, 
  object_type, 
  session_id, 
  type,         -- Type or system/user lock
  lmode,        -- lock mode in which session holds lock
  request, 
  block, 
  ctime         -- Time since current mode was granted
from
  v$locked_object, all_objects, v$lock
where
  v$locked_object.object_id = all_objects.object_id AND
  v$lock.id1 = all_objects.object_id AND
  v$lock.sid = v$locked_object.session_id
order by
  session_id, ctime desc, object_name
/

Bu uzun bir işlem (örneğin tam tablo taraması) bulmak için iyi bir tanesidir. Eğer kısa operasyonlarla birçok sebebi ise, hiçbir şey ortaya çıkacak.

COLUMN percent FORMAT 999.99 

SELECT sid, to_char(start_time,'hh24:mi:ss') stime, 
message,( sofar/totalwork)* 100 percent 
FROM v$session_longops
WHERE sofar/totalwork < 1
/

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BumbleDroid

    BumbleDroid

    18 EKİM 2010
  • Nightmare2005

    Nightmare200

    14 Ocak 2007
  • Paul Schroder

    Paul Schrode

    30 Kasım 2007