Pages

11 Mayıs 2011 Çarşamba

ADRCI aracı ile kaza paketlerinin oluşturulması

Automatic Diagnostic Repository Command Interface (ADRCI), Oracle veritabanı teşhis verisini yönetmek için kullanılan bir komut satırı aracıdır. ADRCI, Oracle 11g sürümü ile kullanıma sürülmüş ve aşağıdaki işlemleri yapmaktadır;

  • Otomatik Tanı Ambarı(ADR) içindeki tanı verisini görüntüler.
  • Sağlık izleme raporlarını görüntüler.
  • Kaza ve problem bilgilerini Oracle Desteğe iletmek için zip dosyasına paketler.
Tanı verisi; kaza ve problem tanımlarını, izleme dosyalarını, dumpları, sağlık izleme raporlarını, alert log girişlerini ve daha fazlasını içermektedir.

ADRCI zengin komut setine sahiptir ve gerek scriptler içinde gerekse interaktif modda kullanılabilmektedir. İlave olarak SQL*Plus üzerinden SQL ve PL/SQL komutlarının çalıştırılması gibi aynı şekilde ADRCI komutları içeren scriptlerde çalıştırılabilmektedir.

ADR dizinlerindeki ADR verisinin güvenliği işletim sistemi izinlerince sağlanmaktadır, böylece ADRCI’ye oturum açmaya gerek yoktur.

ADR içinde, bir problem Oracle veritabanı ürünü veya parçaları içinde meydana gelen kritik hatalardan daha fazlasını içermez. Bunlar tipik olarak alert log üzerinden normalde aranan ORA- hatalarıdır. ADR görünümünün önemli özelliklerinden birisi, her bir problemin bireysel olarak izlenmesi ve bu problem için tekil bir problem ID sinin atanmasıdır.

Kaza nedir?
Bir problem birçok kez meydana gelebilir, bir kaza ise tekil bir problemin ortaya çıkışıdır. Bireysel kazalar ayrıca ADR içindende izlenir ve ADR içinde tekil bir numerik kaza ID’si atanır. Bu işlemin arkasında yatan, ADR, belirli kaza hakkında tüm tanı verilerini biraraya getirmekte ve bu kaza hakkında paketlenmiş bilgiyi benzersiz bir ADR alt dizini içinde saklamaktadır. Bir kaza meydana geldiğinde proses akışı aşağıdaki gibi meydana gelir:

1.  Alert log içinde giriş olur.
2.  Kaza, Oracle Enterprise Manager’a gönderilir.
3.  Kaza hakkında tanı verisi toplanır.
4.  Kaza ID si atanır.
5.  Kaza ve toplanan veri ADR alt dizini içinde saklanır.

Problem anahtarı nedir?
Her bir problem için bir problem anahtarı atanır. Problem anahtarı, hata kodu ve muhtemelen aynı hata parametrelerini içeren bir text dizisidir.Problem anahtarları problem karşısında benzersiz değildir ve aynı sebepten meydana gelen herhangi iki kaza aynı problem anahtarına sahip olabilecektir.

Kaza paketi nedir?
Kaza paketi, Oracle Desteğe kazayı göndermeden önce tanı verisini toplayarak, artı harici dosyalar gibi herhangi ilave bilgileride ekleyerek Kaza Paketleme Servisini(IPS) kullanır ve belirlenen bir ADR alt dizininde zip formatında bir paketler dizisi olarak oluşturur. Bu paket Oracle Destek uzmanları tarafından ihtiyaç duyulan her türlü bilgiyi barındırmakta ve bu uzmanların işini uzatacak gereksiz bilgiler bu paket içinde yer almadığında uzmanların sorunları teşhisi kolay olmaktadır. 

ADR Temel Dizini
ORACLE_BASE ve ORACLE_HOME dizinleri gibi ADR de kendine has bir dizin adresi barındırır. Bu ADR ana dizini tüm ADR home dizinleri için temel dizini oluşturur. Tüm tanı bilgileri bu root dizininde kollara ayrılmakta ve DIAGNOSTIC_DEST başlangıç parametresince belirlenmektedir.

ADR Home Dizini
ORACLE_HOME gibi, ADR Home tekil bir instance veya Oracle ürünü ile ilişkili tüm tanı verileri için dizin sağlayan fiziksel disk üzerindeki bir lokasyondur. Yani, aynı makinede üzerinde iki tane farklı instance varsa, bu durumda ADR ana dizini altında iki farklı ADR Home dizini olmaktadır. Bu oldukça kullanışlıdır, çünkü bazı durumlarda ADR aynı anda ADR home dizinleri üzerinden çalışmaktadır ve tek bir makine üzerindeki tüm instanceler için problemleri araştırmaya izin vermektedir.

Homepath
ADRCI komutları tek bir ADR temel dizini üzerinde tüm ADR home dizinleri üzerinden çalışır, işte bu noktada ADR temel dizini üzerinden spesifik bir ADR home dizinini işaret etmek ve bu home dizini altındaki kaza bilgileri ile işlem yapmak için HOMEPATH kullanılmaktadır.

Aşağıdaki senaryoda Oracle Desteğe gönderilmek üzere bir kaza paketi oluşturma adımları yapılandırılacaktır.

$ adrci

ADRCI: Release 11.1.0.6.0 on Tue May 06 13:12:57 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
ADR base = "/u01/app/oracle"

adrci> show home

ADR Homes:
diag/rdbms/ora11g/ora11g

  • ADR ile alert log ve izleme dosyalarının ADR alt dizinlerini görmek için; 
adrci> show alert

Choose the alert log from the following homes to view:
1: diag/tnslsnr/linux2/listener
2: diag/clients/user_oracle/host_348099643_11
3: diag/clients/user_unknown/host_411310321_11
4: diag/rdbms/aysun/aysun
Q: to quit

Please select option: 1

Alert log dosyasının son 10 satırını almak için öncelikle birden çok home dizini altından ilgili olan birisi ADR’ye home dizini olarak tanıtılır ve ardından “show alert -tail” komutu ile bu home dizini altındaki alert log dosyasının son 10 satırı çekilir. Son 50 satır için ise “ -tail 50” takısı kullanılır.

adrci> set home diag/rdbms/aysun/aysun
adrci> show alert -tail  
  • ADR için kazaları görmek için kritik hataları görmek için;
adrci> set homepath diag/rdbms/ora11g/ORA11G
adrci> show incident

ADR Home = /u01/app/oracle/diag/rdbms/ora11g/ORA11G:
***********************************************************************

INCIDENT_ID PROBLEM_KEY                CREATE_TIME
----------- ------------------------   -------------------------------
9889        ORA 7445 [kcbzwcw()+330] 2011-05-06 13:18:35.772508 -04:00

1 rows fetched

  • Kazaların detay bilgisini almak için; 
adrci> show incident -mode detail -p "incident_id=9889"

ADR Home = /u01/app/oracle/diag/rdbms/ora11g/ORA11G:
***********************************************************************
**********************************************************
INCIDENT INFO RECORD 1
**********************************************************
INCIDENT_ID 9889
STATUS ready
CREATE_TIME 2011-05-06 13:19:34.772508 -04:00
PROBLEM_ID 1
CLOSE_TIME <NULL>
FLOOD_CONTROLLED none
ERROR_FACILITY ORA
ERROR_NUMBER 7445
ERROR_ARG1 kcbzwcw()+330
ERROR_ARG2 SIGBUS
ERROR_ARG3 ADDR:0x2E7F6160
.
.
.
1 rows selected


  • Hatanın bir paket içine eklenerek ADR dizininde zip dosya olarak oluşturulması;
İlk önce ilgili kaza için yeni bir paket oluşturulmalıdır:

adrci> ipscreate package

Created package 1 without any contents, correlation level typical

Ardından ADR için bu kaza yeni oluşturulan paket içine eklenmelidir:

adrci> ipsadd incident 9889 package 1;

Added incident 9889 to package 1

En sonunda ise veri ile bu paket oluşturulmalıdır:

adrci> ipsgenerate package 1 in /u01/app/oracle/adrci/support

Generated package 1 in file /u01/app/oracle/adrci/support/IPSPKG_201105064132_COM_1.zip, mode complete

Artık yeni dosya, Oracle Desteğe gönderilmek üzere zip formatında belirtilen dizin altında hazırlanmıştır.

0 yorum:

Yorum Gönder