溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

ADRCI

發(fā)布時(shí)間:2020-05-19 14:28:56 來源:網(wǎng)絡(luò) 閱讀:290 作者:東方之子7366 欄目:關(guān)系型數(shù)據(jù)庫(kù)

ADRCI工具是Oracle11g才推出的新工具,主要用來管理alert文件、trace文件、dump文件、健康監(jiān)事報(bào)告等。

這一篇簡(jiǎn)單介紹ADRCI工具。



用過11g的人都會(huì)發(fā)現(xiàn),11g中alert文件以及trace文件的存放位置都發(fā)生了變化。從原來的ORACLE_BASE/admin/INSTANCE_NAME目錄變成了ORACLE_BASE/diag/rdbms/DBNAME/INSTANCE_NAME目錄。

Oracle之所以修改了這個(gè)跨越多個(gè)版本都沒有修改過的參數(shù)設(shè)置,就是因?yàn)?span lang="en-us" xml:lang="en-us">Oracle在11g中推出了ADRCI。這個(gè)工具可以統(tǒng)一管理ASM實(shí)例和多個(gè)數(shù)據(jù)庫(kù)實(shí)例的alert文件、后臺(tái)trace文件、用戶trace文件,dump文件等等。

而且這個(gè)工具可以快速查詢錯(cuò)誤相關(guān)的所有trace文件,并將這些文件打包到一個(gè)zip文件,以便將問題相關(guān)的信息提供給Oracle的技術(shù)支持。

看一下ADRCI工具的簡(jiǎn)單命令:

C:Documents and Settingsytk>adrci

ADRCI: Release 11.1.0.6.0 - Beta on 星期日 3 29 21:23:57 2009

Copyright (c) 1982, 2007, Oracle. All rights reserved.

ADR base = "e:oracle"
adrci> help

HELP [topic]
Available Topics:
CREATE REPORT
ECHO
EXIT
HELP
HOST
IPS
PURGE
RUN
SET BASE
SET BROWSER
SET CONTROL
SET ECHO
SET EDITOR
SET HOMES | HOME | HOMEPATH
SET TERMOUT
SHOW ALERT
SHOW BASE
SHOW CONTROL
SHOW HM_RUN
SHOW HOMES | HOME | HOMEPATH
SHOW INCDIR
SHOW INCIDENT
SHOW PROBLEM
SHOW REPORT
SHOW TRACEFILE
SPOOL

There are other commands intended to be used directly by Oracle, type
"HELP EXTENDED" to see the list

HELP列出了ADRCI工具的所有命令,還可以通過HELP加個(gè)別命令的方式來列出這個(gè)命令的具體語法,比如:

adrci> HELP IPS

HELP IPS [topic]
Available Topics:
ADD
ADD FILE
ADD NEW INCIDENTS
CHECK REMOTE KEYS
COPY IN FILE
COPY OUT FILE
CREATE PACKAGE
DELETE PACKAGE
FINALIZE PACKAGE
GENERATE PACKAGE
GET MANIFEST
GET METADATA
GET REMOTE KEYS
PACK
REMOVE
REMOVE FILE
SET CONFIGURATION
SHOW CONFIGURATION
SHOW FILES
SHOW INCIDENTS
UNPACK FILE
USE REMOTE KEYS
adrci> HELP IPS ADD

Usage: IPS ADD
[INCIDENT <incid> | PROBLEM <prob_id> | PROBLEMKEY <prob_key> |
SECONDS <seconds> | TIME <start_time> TO <end_time>]
PACKAGE <package_id>

Purpose: Add incidents to an existing package.

Arguments:
<incid>: ID of incident to add to package contents.
<prob_id>: ID of problem to add to package contents.
<prob_key>: Problem key to add to package contents.
<seconds>: Number of seconds before now for adding package contents .
<start_time>: Start of time range to look for incidents in.
<end_time>: End of time range to look for incidents in.
Example:
ips add incident 22 package 12

adrci> HELP SHOW PROBLEM

Usage: SHOW PROBLEM [-p <predicate_string>]
[-last <num> | -all]
[-orderby (field1, field2, ...) [ASC|DSC]]

Purpose: Show the problem information. By default, this command will
only show the last 50 problems.

Options:
[-p <predicate_string>]: The predicate string must be double-quoted.
The field names that users can specify in the predicate are:
PROBLEM_ID number
PROBLEM_KEY text(550)
FIRST_INCIDENT number
FIRSTINC_TIME timestamp
LAST_INCIDENT number
LASTINC_TIME timestamp
IMPACT1 number
IMPACT2 number
IMPACT3 number
IMPACT4 number
SERVICE_REQUEST text(64)
BUG_NUMBER text(64)

[-last <num> | -all]: This option allows users to either select
the last <num> of qualified problems to show or to show all the
qualified problems. If this option is not specified, this command
will only show 50 incidents.

[-orderby (field1, field2, ...) [ASC|DSC]]: If specified, the results
will be ordered by the specified fields' values. By default, it will be
in the ascending order unless "DSC" is specified. Note that the field
names that can be specified here are from the "PROBLEM" relation.

Examples:
show problem
show problem -p "problem_id>123"

下面是查詢數(shù)據(jù)庫(kù)中錯(cuò)誤的幾個(gè)小例子:

adrci> show base
ADR base is "e:oracle"
adrci> show home
ADR Homes:
diagclientsuser_systemhost_3414944083_11
diagclientsuser_unknownhost_3414944083_11
diagclientsuser_unknownhost_411310321_11
diagclientsuser_ytkhost_3414944083_11
diagrdbmsytk1110ytk1110
diagtnslsnrytk-thinkpadlistener
adrci> set home diagrdbmsytk1110ytk1110
adrci> show alert -tail 5
2009-02-25 22:51:17.640000 +08:00
Completed: alter database open
2009-02-25 22:55:26.171000 +08:00
Starting background process CJQ0
CJQ0 started with pid=7, OS id=14428
2009-02-25 22:55:49.796000 +08:00
Errors in file e:oraclediagrdbmsytk1110ytk1110traceytk1110_j008_15220.trc
:
ORA-12012: 
自動(dòng)執(zhí)行作業(yè) 11689 出錯(cuò)
ORA-01403: 
未找到任何數(shù)據(jù)
2009-02-25 23:20:39.828000 +08:00
Thread 1 advanced to log sequence 75
Current log# 3 seq# 75 mem# 0: E:ORACLEORADATAYTK111REDO03.LOG
2009-02-26 08:31:51.296000 +08:00


***********************************************************************

Fatal NI connect error 12638, connecting to:
(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

VERSION INFORMATION:
TNS for 32-bit Windows: Version 11.1.0.6.0 - Production
Oracle Bequeath NT Protocol Adapter for 32-bit Windows: Version 11.1.0.6.0 - Pro
duction
Time: 26-2
 -2009 08:31:51
Tracing not turned on.
Tns error struct:
ns main err code: 12638

TNS-12638: ***明檢索失敗
ns secondary err code: 0
nt main err code: 0
nt secondary err code: 0
nt OS err code: 0

除了上面交互式的方式外,還可以調(diào)用腳本,或者指定一系列命令來批量執(zhí)行命令:

C:Documents and Settingsytk>adrci -help
Syntax:
adrci [-help] [script=script_filename]
[exec = "one_command [;one_command;...]"]

Options Description (Default)
-----------------------------------------------------------------
script script file name (None)
help help on the command options (None)
exec exec a set of commands (None)
-----------------------------------------------------------------

比如:

C:Documents and Settingsytk>adrci exec="show base;show home;set home diagrdb
msytk1110ytk1110;show home"
ADR base is "e:oracle"
ADR Homes:
diagclientsuser_systemhost_3414944083_11
diagclientsuser_unknownhost_3414944083_11
diagclientsuser_unknownhost_411310321_11
diagclientsuser_ytkhost_3414944083_11
diagrdbmsytk1110ytk1110
diagtnslsnrytk-thinkpadlistener
ADR Homes:
diagrdbmsytk1110ytk1110



ADRCI眾多命令中,比較常用的命令包括SHOW INCIDENTSHOW PROBLEM。

看看這兩個(gè)命令的使用:

[oracle@yangtk ~]$ adrci

ADRCI: Release 11.1.0.6.0 - Beta on Sat Feb 14 07:40:14 2009

Copyright (c) 1982, 2007, Oracle. All rights reserved.

ADR base = "/data/oracle"
adrci> show home
ADR Homes: 
diag/tnslsnr/yangtk/listener
diag/clients/user_oracle/host_1761010651_11
diag/rdbms/ora11g_p/ora11g
diag/rdbms/ora11g/ora11g
adrci> set home diag/rdbms/ora11g_p/ora11g
adrci> show incident

ADR Home = /data/oracle/diag/rdbms/ora11g_p/ora11g:
*************************************************************************
INCIDENT_ID PROBLEM_KEY CREATE_TIME 
------------ ----------------------------- ---------------------------------- 
178263 ORA 4031 2008-08-06 07:18:22.545029 +08:00 
178247 ORA 4031 2008-08-06 07:18:34.820273 +08:00 
178239 ORA 4031 2008-08-06 07:18:22.504526 +08:00 
178223 ORA 4031 2008-08-06 07:18:24.815544 +08:00 
178143 ORA 4031 2008-08-06 07:18:35.246630 +08:00 
177075 ORA 4031 2008-08-05 14:58:35.377256 +08:00 
177067 ORA 4031 2008-08-05 14:58:58.782595 +08:00 
177051 ORA 4031 2008-08-05 14:58:35.422671 +08:00 
177043 ORA 4031 2008-08-05 14:58:35.402265 +08:00 
176939 ORA 4031 2008-08-05 14:58:54.864399 +08:00 
175859 ORA 4031 2008-08-05 13:58:50.980910 +08:00 
175858 ORA 4031 2008-08-05 13:58:41.125870 +08:00 
175826 ORA 4031 2008-08-05 13:58:42.802084 +08:00 
175738 ORA 4031 2008-08-05 13:58:44.351160 +08:00 
174657 ORA 4031 2008-08-05 13:46:41.399981 +08:00 
174656 ORA 4031 2008-08-05 13:46:38.378564 +08:00 
172231 ORA 7445 [ksldclt_cln()+264] 2008-08-04 22:07:06.387781 +08:00 
172212 ORA 4031 2008-08-04 22:03:46.338443 +08:00 
172211 ORA 4031 2008-08-04 22:03:40.771874 +08:00 
172204 ORA 4031 2008-08-04 22:03:46.546782 +08:00 
172203 ORA 4031 2008-08-04 22:03:38.053562 +08:00 
172187 ORA 4031 2008-08-04 22:03:42.360428 +08:00 
169786 ORA 4031 2008-07-30 02:36:18.482753 +08:00 
169785 ORA 4031 2008-07-30 02:36:15.666044 +08:00 
166151 ORA 603 2008-07-27 17:21:42.556972 +08:00 
166129 ORA 603 2008-07-27 15:35:11.931255 +08:00 
166039 ORA 4031 2008-07-27 15:21:42.574517 +08:00 
166011 ORA 600 [kebm_mmon_main_1] 2008-07-27 17:52:24.860044 +08:00 
166009 ORA 4031 2008-07-27 15:21:51.290947 +08:00 
166008 ORA 4031 2008-07-27 15:21:45.393293 +08:00 
166007 ORA 4031 2008-07-27 15:21:42.666587 +08:00 
165999 ORA 4031 2008-07-27 15:21:52.049840 +08:00 
161323 ORA 4031 2008-07-01 15:20:51.038193 +08:00 
161322 ORA 4031 2008-07-01 15:20:50.132755 +08:00 
161321 ORA 4031 2008-07-01 15:20:44.286697 +08:00 
161257 ORA 4031 2008-07-01 15:20:48.717581 +08:00 
161185 ORA 4031 2008-07-01 15:20:44.285834 +08:00 
160110 ORA 4031 2008-06-26 04:15:27.704828 +08:00 
160102 ORA 4031 2008-06-26 04:15:25.346548 +08:00 
160086 ORA 4031 2008-06-26 04:15:28.601534 +08:00 
160070 ORA 4031 2008-06-26 04:15:26.756150 +08:00 
159974 ORA 4031 2008-06-26 04:15:24.147550 +08:00 
156469 ORA 4031 2008-05-17 05:55:11.601467 +08:00 
156453 ORA 4031 2008-05-17 05:55:21.028975 +08:00 
156366 ORA 600 [qerghFetch:inc] 2008-05-17 08:10:01.178942 +08:00 
156365 ORA 600 [qerghFetch:inc] 2008-05-17 05:02:50.616159 +08:00 
156334 ORA 4031 2008-05-17 05:55:15.819541 +08:00 
156333 ORA 4031 2008-05-17 05:55:14.628802 +08:00 
156317 ORA 4031 2008-05-17 05:55:11.642549 +08:00 
153748 ORA 7445 [kokacau()+683] 2008-02-28 05:10:44.389655 +08:00 
50 rows fetched

adrci> show problem

ADR Home = /data/oracle/diag/rdbms/ora11g_p/ora11g:
*************************************************************************
PROBLEM_ID PROBLEM_KEY LAST_INCIDENT LASTINC_TIME 
----------- ----------------------------- -------------- ---------------------------------- 
7 ORA 4031 178240 2008-08-06 07:18:43.590263 +08:00 
12 ORA 7445 [ksldclt_cln()+264] 172231 2008-08-04 22:07:06.387781 +08:00 
11 ORA 600 [kebm_mmon_main_1] 166011 2008-07-27 17:52:24.860044 +08:00 
5 ORA 603 166151 2008-07-27 17:21:42.556972 +08:00 
10 ORA 600 [qerghFetch:inc] 156366 2008-05-17 08:10:01.178942 +08:00 
9 ORA 600 [qmxiUnpPacked2] 152793 2008-02-28 06:08:31.659320 +08:00 
8 ORA 7445 [kokacau()+683] 153748 2008-02-28 05:10:44.389655 +08:00 
6 ORA 1578 123833 2007-11-24 02:49:43.837675 +08:00 
4 ORA 600 [krhpfh_03-1208] 117944 2007-11-09 00:48:49.678494 +08:00 
3 ORA 600 [prssptoa2] 96380 2007-10-18 00:53:25.480274 +08:00 
2 ORA 600 [kkdcacr: ptn_kxcp] 85602 2007-10-11 22:01:08.539854 +08:00 
1 ORA 7445 [koioapm()+254] 14503 2007-09-06 02:50:52.122404 +08:00 
12 rows fetched

Oracle將每次錯(cuò)誤信息作為一個(gè)INCIDENT,通過SHOW INCIDENT可以很方便的了解alert文件中包含所有的錯(cuò)誤信息,以及發(fā)生的時(shí)間點(diǎn)。

SHOW PROBLEM的結(jié)果更加清晰,它會(huì)根據(jù)Oracle的錯(cuò)誤號(hào),將相同的錯(cuò)誤信息合并到一起。通過這個(gè)結(jié)果,可以了解數(shù)據(jù)庫(kù)出現(xiàn)了哪些不同的錯(cuò)誤信息。

無論是SHOW PROBLEM、SHOW INCIDENT還是SHOW ALERT命令,Oracle都支持定制查詢結(jié)果,比如只返回ORA-600錯(cuò)誤的PROBLEM

adrci> show problem -p "problem_key like '%600%'"

ADR Home = /data/oracle/diag/rdbms/ora11g_p/ora11g:
*************************************************************************
PROBLEM_ID PROBLEM_KEY LAST_INCIDENT LASTINC_TIME 
----------- ---------------------------- -------------- ---------------------------------- 
11 ORA 600 [kebm_mmon_main_1] 166011 2008-07-27 17:52:24.860044 +08:00 
10 ORA 600 [qerghFetch:inc] 156366 2008-05-17 08:10:01.178942 +08:00 
9 ORA 600 [qmxiUnpPacked2] 152793 2008-02-28 06:08:31.659320 +08:00 
4 ORA 600 [krhpfh_03-1208] 117944 2007-11-09 00:48:49.678494 +08:00 
3 ORA 600 [prssptoa2] 96380 2007-10-18 00:53:25.480274 +08:00 
2 ORA 600 [kkdcacr: ptn_kxcp] 85602 2007-10-11 22:01:08.539854 +08:00 
6 rows fetched

SHOW INCIDENT還支持更詳細(xì)的顯示,比如:

adrci> show incident -mode detail -p "incident_id=166011"

ADR Home = /data/oracle/diag/rdbms/ora11g_p/ora11g:
*************************************************************************

**********************************************************
INCIDENT INFO RECORD 1
**********************************************************
INCIDENT_ID 166011
STATUS ready
CREATE_TIME 2008-07-27 17:52:24.860044 +08:00
PROBLEM_ID 11
CLOSE_TIME <NULL>
FLOOD_CONTROLLED none
ERROR_FACILITY ORA
ERROR_NUMBER 600
ERROR_ARG1 kebm_mmon_main_1
ERROR_ARG2 36
ERROR_ARG3 <NULL>
ERROR_ARG4 <NULL>
ERROR_ARG5 <NULL>
ERROR_ARG6 <NULL>
ERROR_ARG7 <NULL>
ERROR_ARG8 <NULL>
SIGNALLING_COMPONENT <NULL>
SIGNALLING_SUBCOMPONENT <NULL>
SUSPECT_COMPONENT <NULL>
SUSPECT_SUBCOMPONENT <NULL>
ECID <NULL>
IMPACTS 0
PROBLEM_KEY ORA 600 [kebm_mmon_main_1]
FIRST_INCIDENT 166011
FIRSTINC_TIME 2008-07-27 17:52:24.860044 +08:00
LAST_INCIDENT 166011
LASTINC_TIME 2008-07-27 17:52:24.860044 +08:00
IMPACT1 0
IMPACT2 0
IMPACT3 0
IMPACT4 0
KEY_NAME SID
KEY_VALUE 157.1
KEY_NAME Client ProcId
KEY_VALUE oracle@yangtk.ytk-thinkpad (MMON).2774_13056208
KEY_NAME ProcId
KEY_VALUE 14.1
OWNER_ID 1
INCIDENT_FILE /data/oracle/diag/rdbms/ora11g_p/ora11g/trace/ora11g_mmon_2774.trc
OWNER_ID 1
INCIDENT_FILE /data/oracle/diag/rdbms/ora11g_p/ora11g/incident/incdir_166011/ora11g_mmon_2774_i166011.trc
1 rows fetched

利用ADRCI的IPS命令,可以將問題相關(guān)的trace文件,打包為一個(gè)zip文件,以提供給Oracle的支持人員。

adrci> help ips

 HELP IPS [topic]
   Available Topics:
        ADD
        ADD FILE
        ADD NEW INCIDENTS
        CHECK REMOTE KEYS
        COPY IN FILE
        COPY OUT FILE
        CREATE PACKAGE
        DELETE PACKAGE
        FINALIZE PACKAGE
        GENERATE PACKAGE
        GET MANIFEST
        GET METADATA
        GET REMOTE KEYS
        PACK
        REMOVE
        REMOVE FILE
        SET CONFIGURATION
        SHOW CONFIGURATION
        SHOW FILES
        SHOW INCIDENTS
        UNPACK FILE
        USE REMOTE KEYS

IPS包括的命令很多,介紹兩種常用的打包方法。

最簡(jiǎn)單的方法莫過于直接使用PACK命令:

adrci> set home diag/rdbms/ora11g_p/ora11g
adrci> show problem -p "problem_id = 1"

ADR Home = /data/oracle/diag/rdbms/ora11g_p/ora11g:
*************************************************************************
PROBLEM_ID PROBLEM_KEY                LAST_INCIDENT LASTINC_TIME                      
---------- -------------------------- ------------- ----------------------------------
1          ORA 7445 [koioapm()+254]   14503         2007-09-06 02:50:52.122404 +08:00 
1 rows fetched

adrci> ips pack problem 1
Generated package1 infile /home/oracle/IPSPKG_20090215012523_COM_1.zip, mode complete

另一種方法是利用CREATE PACKAGE命令,然后添加相關(guān)的INCIDENT,最后通過GENERATE PACKAGE命令來生成PACKAGE。

adrci> ips create package
Created package 2 without any contents, correlation level typical
adrci> ips create package problemkey "ORA 7445 [koioapm()+254]"
Created package 3 based on problem key ORA 7445 [koioapm()+254], correlation level typical
adrci> ips add incident 172231 package 3
Added incident 172231 to package 3
adrci> ips add file <ADR_HOME>/trace/ora11g_ora_4582.trc package 3
Added file <ADR_HOME>/trace/ora11g_ora_4582.trc to package 3
adrci> ips generate package 3
Generated package3 infile /home/oracle/IPSPKG_20090215013006_COM_1.zip, mode complete

還可以追加文件到PACKAGE 3:

adrci> ips add new incidents package 3
Added new incidents to package 3
adrci> ips add problem 12 package 3
Added problem 12 to package 3
adrci> ips generate package 3
Generated package3 infile /home/oracle/IPSPKG_20090215013006_COM_2.zip, mode complete

最后簡(jiǎn)單介紹一下UNPACK命令,這個(gè)命令可以將得到的zip文件解壓到指定目錄:

adrci> ips get metadata from file /home/oracle/IPSPKG_20090215012523_COM_1.zip
IPS metadata from file /home/oracle/IPSPKG_20090215012523_COM_1.zip:
----------------------------------------------------------
<?xml version="1.0" encoding="US-ASCII"?>
<PACKAGE>
    <PACKAGE_ID>1</PACKAGE_ID>
    <PACKAGE_NAME>IPSPKG_20090215012523</PACKAGE_NAME>
    <MODE>Complete</MODE>
    <SEQUENCE>1</SEQUENCE>
    <LAST_COMPLETE>1</LAST_COMPLETE>
    <DATE>2009-02-15 01:25:27.179103 +08:00</DATE>
    <ADR_BASE>/data/oracle</ADR_BASE>
    <ADR_HOME>/data/oracle/diag/rdbms/ora11g_p/ora11g</ADR_HOME>
    <PROD_NAME>rdbms</PROD_NAME>
    <PROD_ID>ora11g_p</PROD_ID>
    <INST_ID>ora11g</INST_ID>
    <OCM_GUID/>
</PACKAGE>

----------------------------------------------------------
adrci> ips unpack file /home/oracle/IPSPKG_20090215012523_COM_1.zip into /home/oracle
Unpacking file /home/oracle/IPSPKG_20090215012523_COM_1.zip into target /home/oracle
adrci> host
[oracle@yangtk ~]$ cd /home/oracle/diag/rdbms/ora11g_p/ora11g/
[oracle@yangtk ora11g]$ ls -l
total 44
drwxr-xr-x 2 oracle oinstall 4096 Feb 15 02:21 alert
drwxr-xr-x 2 oracle oinstall 4096 Feb 15 02:21 cdump
drwxr-xr-x 2 oracle oinstall 4096 Feb 15 02:21 hm
drwxr-xr-x 2 oracle oinstall 4096 Feb 15 02:21 incident
drwxr-xr-x 3 oracle oinstall 4096 Feb 15 02:21 incpkg
drwxr-xr-x 2 oracle oinstall 4096 Feb 15 02:21 ir
drwxr-xr-x 2 oracle oinstall 4096 Feb 15 02:21 lck
drwxr-xr-x 2 oracle oinstall 4096 Feb 15 02:21 metadata
drwxr-xr-x 2 oracle oinstall 4096 Feb 15 02:21 stage
drwxr-xr-x 2 oracle oinstall 4096 Feb 15 02:21 sweep
drwxr-xr-x 2 oracle oinstall 4096 Feb 15 02:21 trace
[oracle@yangtk ora11g]$ ls trace/
alert_ora11g.log
[oracle@yangtk ora11g]$ ls alert
log.xml


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI