ADR Command Interpreter (ADRCI) kullanımı
ADR Command Interpreter (ADRCI) , Oracle veritabanlarının arıza teshiş altyapısında yer alan , komut satırında çalışan bir araçtır.
ADRCI ile ;
- Automatic Diagnostic Repository (ADR) içindeki diagnostic verilerini görebiliriz.
- Sağlık İzleme raporlarını görüntüleyebiliriz.
- Oracle Support için zip dosyası şeklinde kaza ve sorun bilgilerini içeren paketler oluşturabiliriz.
Arıza tespit verileri içinde kaza ve problem açıklamaları, trace dosyaları , dump’lar , sağlık izleme raporları , alert log kayıtları gibi bilgiler bulunur.
adrci aracının kullanımı :
Başlatmak için ;
-bash-4.3$ adrci ADRCI: Release 11.2.0.4.0 - Production on Mon Dec 26 16:22:27 2016 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. ADR base = "/u01/app/oracle"
İlgili incident home’ları aşağıdaki gibi görüntüleyebiliriz.
adrci> show homes ADR Homes: diag/asm/+asm/+ASM1 diag/clients/user_oracle/host_2585172500_11 diag/clients/user_oracle/host_2585172500_80 diag/diagtool/user_oracle/host_2585172500_11 diag/rdbms/orcl/ORCL1 diag/tnslsnr/oradb1/listener
Veritabanımızı ilgilendiren home hangisi ise onu ayarlıyoruz ,
adrci> set homepath diag/rdbms/orcl/ORCL1
Ayarlanan home altındaki tüm kazaların listelenmesi ,
adrci> show incident ADR Home = /u01/app/oracle/diag/rdbms/orcl/ORCL1: ************************************************************************* INCIDENT_ID PROBLEM_KEY CREATE_TIME -------------------- ----------------------------------------------------------- ---------------------------------------- 36425 ORA 603 2016-08-27 02:44:06.781000 +03:00 36649 ORA 603 2016-08-27 13:38:05.170000 +03:00 36481 ORA 603 2016-09-20 17:20:22.191000 +03:00 108476 ORA 603 2016-10-06 20:11:17.110000 +03:00 300829 ORA 603 2016-12-16 21:02:09.763000 +03:00 300861 ORA 603 2016-12-17 22:28:50.895000 +03:00 6 rows fetched
Aynı zamanda detaylı gösterim de mümkündür. Aşağıdaki komut ile detaylı gösterim sağlanabilir.
adrci> SHOW INCIDENT -MODE DETAIL
Bir kaza ile ilgili detaylı bilgi edinmek için aşağıdaki komutu kullanabiliriz.
adrci> SHOW INCIDENT -MODE DETAIL -P "INCIDENT_ID=36425" ADR Home = /u01/app/oracle/diag/rdbms/orcl/ORCL1: ************************************************************************* ********************************************************** INCIDENT INFO RECORD 1 ********************************************************** INCIDENT_ID 36425 STATUS ready CREATE_TIME 2016-08-27 02:44:06.781000 +03:00 PROBLEM_ID 1 CLOSE_TIME <NULL> FLOOD_CONTROLLED none ERROR_FACILITY ORA ERROR_NUMBER 603 ERROR_ARG1 <NULL> ERROR_ARG2 <NULL> ERROR_ARG3 <NULL> ERROR_ARG4 <NULL> ERROR_ARG5 <NULL> ERROR_ARG6 <NULL> ERROR_ARG7 <NULL> ERROR_ARG8 <NULL> ERROR_ARG9 <NULL> ERROR_ARG10 <NULL> ERROR_ARG11 <NULL> ERROR_ARG12 <NULL> SIGNALLING_COMPONENT <NULL> SIGNALLING_SUBCOMPONENT <NULL> SUSPECT_COMPONENT <NULL> SUSPECT_SUBCOMPONENT <NULL> ECID <NULL> IMPACTS 0 PROBLEM_KEY ORA 603 FIRST_INCIDENT 36425 FIRSTINC_TIME 2016-08-27 02:44:06.781000 +03:00 LAST_INCIDENT 300861 LASTINC_TIME 2016-12-17 22:28:50.895000 +03:00 IMPACT1 0 IMPACT2 0 IMPACT3 0 IMPACT4 0 KEY_NAME Client ProcId KEY_VALUE oracle@oradb1 (TNS V1-V3).40894802_1 KEY_NAME ProcId KEY_VALUE 53.43 KEY_NAME PQ KEY_VALUE (0, 1472194814) KEY_NAME SID KEY_VALUE 955.4678 OWNER_ID 1 INCIDENT_FILE /u01/app/oracle/diag/rdbms/orcl/ORCL1/trace/ORCL1_j000_40894802.trc OWNER_ID 1 INCIDENT_FILE /u01/app/oracle/diag/rdbms/orcl/ORCL1/incident/incdir_36425/ORCL1_j000_40894802_i36425.trc 1 rows fetched
Mevcut problemlerin görüntülenmesi için aşağıdaki komutu kullanabiliriz .
adrci> SHOW PROBLEM ADR Home = /u01/app/oracle/diag/rdbms/orcl/ORCL1: ************************************************************************* PROBLEM_ID PROBLEM_KEY LAST_INCIDENT LASTINC_TIME -------------------- ----------------------------------------------------------- -------------------- ---------------------------------------- 1 ORA 603 300861 2016-12-17 22:28:50.895000 +03:00 1 rows fetched
Oracle Support tarafında herhangi bir kaza için çağrı açtığımızda bizden kaza ile ilgili paket istenecektir. Bu dosyayı zip olarak adrci üzerinden aşağıdaki adımlar ile oluşturabiliriz.
İlgili veritabanı için home path ayarlandıktan sonra , tüm kazaları listeleyip ilgili kazanın id bilgisini tespit ediyoruz. Yukarıda bu işlemler anlatılmıştır. Sonrasında önce mantıksal sonra fiziksel kaza paketini oluşturuyoruz.
Mantıksal paketin oluşturulması : Incident ID belirterek paket oluşturulur.
adrci> IPS CREATE PACKAGE INCIDENT 36425 Created package 1 based on incident id 36425, correlation level typical
Sonrasında bu paketin fiziksel halini oluşturuyoruz. Dosyaların oluşturacağı dizini bilgisini ve mantıksal paket numarasını aşağıdaki komut ile belirtip, zip dosyasını oluşturuyoruz.
adrci> IPS GENERATE PACKAGE 1 IN /home/oracle/ips1 Generated package 1 in file /home/oracle/ips1/ORA603_20161226162604_COM_1.zip, mode complete Additional incremental files: /home/oracle/ips1/ORA603_20161226162604_INC_2.zip
Yukarıdaki gibi adrci aracının interactive mode’da kullanımı olduğu gibi Batch Mode ‘da da kullanımı mümkündür.
Batch Mode’da adrci kullanımı :
Aşağıdaki gibi batch mode’da çalıştırmak mümkündür.
-bash-4.3$ adrci exec="komut[; komut]..."
Örnek komutlar :
-bash-4.3$ adrci exec="SHOW HOMES" ADR Homes: diag/asm/+asm/+ASM1 diag/clients/user_oracle/host_2585172500_11 diag/clients/user_oracle/host_2585172500_80 diag/diagtool/user_oracle/host_2585172500_11 diag/rdbms/orcl/ORCL1 diag/tnslsnr/oradb1/listener
Batch mode’da aşağıdaki gibi peş peşe komut çalıştırmak da mümkündür.
-bash-4.3$ adrci exec="SHOW HOMES; SHOW INCIDENT" ADR Homes: diag/asm/+asm/+ASM1 diag/clients/user_oracle/host_2585172500_11 diag/clients/user_oracle/host_2585172500_80 diag/diagtool/user_oracle/host_2585172500_11 diag/rdbms/orcl/ORCL1 diag/tnslsnr/oradb1/listener ADR Home = /u01/app/oracle/diag/asm/+asm/+ASM1: ************************************************************************* INCIDENT_ID PROBLEM_KEY CREATE_TIME -------------------- ----------------------------------------------------------- ---------------------------------------- 208001 ORA 445 2016-09-26 14:27:06.598000 +03:00 ADR Home = /u01/app/oracle/diag/clients/user_oracle/host_2585172500_11: ************************************************************************* 0 rows fetched ADR Home = /u01/app/oracle/diag/clients/user_oracle/host_2585172500_80: ************************************************************************* 0 rows fetched ADR Home = /u01/app/oracle/diag/diagtool/user_oracle/host_2585172500_11: ************************************************************************* 0 rows fetched ADR Home = /u01/app/oracle/diag/rdbms/orcl/ORCL1: ************************************************************************* INCIDENT_ID PROBLEM_KEY CREATE_TIME -------------------- ----------------------------------------------------------- ---------------------------------------- 36425 ORA 603 2016-08-27 02:44:06.781000 +03:00 36649 ORA 603 2016-08-27 13:38:05.170000 +03:00 36481 ORA 603 2016-09-20 17:20:22.191000 +03:00 108476 ORA 603 2016-10-06 20:11:17.110000 +03:00 300829 ORA 603 2016-12-16 21:02:09.763000 +03:00 300861 ORA 603 2016-12-17 22:28:50.895000 +03:00 ADR Home = /u01/app/oracle/diag/tnslsnr/oradb1/listener: ************************************************************************* First 0 rows fetched (*** more available ***)