您好,登錄后才能下訂單哦!
ADR是11g引用入的基于文件的數據庫診斷數據存儲庫,用于存儲例如跟蹤、轉儲、警報日志、運行狀況監視器報告等。它具有跨多個實例和多個產品的統一目錄結構。10g中的初始化參數BACKGROUND_DUMP_DEST和USER_DUMP_DEST已被棄用。具體的位置已設置為DIAGNOSTIC_DEST標識ADR的位置。
診斷數據 | 以前的位置 | ADR位置 |
意外事件轉儲 | USER|BACKGROUND_DUMP_DEST | $ADR_HOME/incident/incdir_n????????????????????????????? |
核心轉儲 | CORE_DUMP_DEST | $ADR_HOME/cdump |
預警日志數據 | BACKGROUND_DUMP_DEST | $ADR_HOME/alert&trace |
后臺進程跟蹤 | BACKGROUND_DUMP_DEST | $ADR_HOME/trace |
前臺進程跟蹤 | USER_DUMP_DEST | $ADR_HOME/trace |
如果省略DIAGNOSTIC_DEST參數或保留為null,則數據庫DIAGNOSTIC_DEST在啟動時設置如下:
如果ORACLE_BASE設置了環境變量,DIAGNOSTIC_DEST則設置為指定的目錄ORACLE_BASE。
如果ORACLE_BASE未設置環境變量,DIAGNOSTIC_DEST則設置為ORACLE_HOME / log。
ADR子目錄根據安裝產品的不同會生成不同的產品或組件的診斷日志,如安裝了db各gi的操作系統上通常有以下目錄結構:
??? 數據庫實例的ADR目錄結構如下:
包含以下部分:
子目錄名稱 | 內容 |
Alert | XML格式的警報日志 |
cdump | 核心文件 |
Incident | 多個子目錄,其中每個子目錄都針對特定事件命名,每個子目錄包含僅與該事件有關的轉儲 |
trace | 后臺和服務器進程跟蹤文件,SQL跟蹤文件和文本格式的警報日志 |
(其他) | ADR home的其他子目錄,用于存儲事件包,運行狀況監視器報告,警報日志以外的日志(如DDL日志和調試日志)等信息 |
數據庫具體的ADR目錄可查看視圖得到:
SELECT?*?FROM?V$DIAG_INFO; ? INST_ID?NAME??????????????????VALUE -------?---------------------?------------------------------------------------------------- ??????1?Diag?Enabled??????????TRUE ??????1?ADR?Base??????????????/u01/oracle ??????1?ADR?Home??????????????/u01/oracle/diag/rdbms/orclbi/orclbi ??????1?Diag?Trace????????????/u01/oracle/diag/rdbms/orclbi/orclbi/trace ??????1?Diag?Alert????????????/u01/oracle/diag/rdbms/orclbi/orclbi/alert ??????1?Diag?Incident?????????/u01/oracle/diag/rdbms/orclbi/orclbi/incident ??????1?Diag?Cdump????????????/u01/oracle/diag/rdbms/orclbi/orclbi/cdump ??????1?Health?Monitor????????/u01/oracle/diag/rdbms/orclbi/orclbi/hm ??????1?Default?Trace?File????/u01/oracle/diag/rdbms/orclbi/orclbi/trace/orcl_ora_22769.trc ??????1?Active?Problem?Count??8 ??????1?Active?Incident?Count?20
V$DIAG_INFO 視圖列出了所有重要的 ADR 位置,包括:
??ADR?Base:ADR?基目錄的路徑。 ??ADR?Home:當前數據庫實例的?ADR?主目錄的路徑。 ??Diag?Trace:文本預警日志和后臺/前臺進程跟蹤文件的位置。 ??Diag?Alert:XML?版本的預警日志的位置。 ??Default?Trace?File:會話的跟蹤文件的路徑。SQL?跟蹤文件將寫入到這里。
Adrci命令行工具
adrci是oracle 11g中用來管理日志文件的一個命令行工具。
[oracle@prodb?~]$?adrci?-help Syntax: ???adrci?[-help]?[script=script_filename]?[exec?=?"one_command?[;one_command;...]"] ??? [oracle@prodb?~]$?adrci ? ADRCI:?Release?11.2.0.4.0?-?Production?on?Thu?May?31?14:32:48?2018 ? Copyright?(c)?1982,?2011,?Oracle?and/or?its?affiliates.??All?rights?reserved. ? ADR?base?=?"/u01" 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 ? adrci>
adrci支持腳本方式和exec的命令集方式。
?
腳本方式:
該腳本為修改trc\trm日志保留天數為5-7天。 [oracle@prodb?~]$?cat?adrci_script.txt show?homes; set?home?diag/rdbms/prodb/prodb; set?control?(SHORTP_POLICY?=?120); set?control?(LONGP_POLICY?=?168); show?control; [oracle@prodb?~]$?adrci?script=adrci_script.txt
exec命令集方式:
[oracle@prodb?~]$?adrci?exec="show?homes;set?home?diag/rdbms/prodb/prodb;set?control?\(SHORTP_POLICY=120\);set?control?\(LONGP_POLICY=168\);show?control"
常見的adrci命令:
???? 1.顯示adr_home
adrci>?show?homes ADR?Homes: diag/tnslsnr/prodb/listener diag/rdbms/prodb/prodb diag/clients/user_oracle/host_3001804591_80
2.指定adr_home
adrci>?set?home?diag/rdbms/prodb/prodb adrci>?show?homes ADR?Homes: diag/rdbms/prodb/prodb
?
3.顯示alter文件
adrci>?show?alert??#按q退出 adrci>?show?alert?-tail?50???#顯示最后50行 adrci>?show?alert?-tail?50???#tail?-f?alert_sid.log adrci>?show?alert?-p?"message_text?like?'%ORA%'"
?
4.顯示告警事件
adrci>?show?incident adrci>?show?incident?-mode?detail adrci>?show?incident?-mode?detail?-p?"incident_id=123"
?
4.顯示問題
adrci>?show?problem
?
5.刪除10天前的incident 14400=60min*24*10
adrci>?purge?-age?14400?-type?incident
?
生成診斷package
1)意外事件程序包是?ADR?中的一個邏輯結構,用于描述一個或多個問題。 2)程序包是一個?zip?文件,其中包含與某個意外事件程序包有關的轉儲信息。 3)默認情況下,一個意外事件程序包中只包含每個問題的前三個意外事件和后三個意外事件。 4)可以生成完整的?zip?文件,也可以生成增量?zip?文件。
1.創建邏輯包
adrci>?ips?create?package?incident?373 adrci>?ips?add?incident?168?package?1
2.輸出物理包
adrci>ips?generate?package?1?in?/home/oracle
其他的打包命令:
??IPS?CREATE?PACKAGE?用于創建空的程序包。 ??IPS?CREATE?PACKAGE?PROBLEMKEY?用于創建基于問題關鍵字的程序包。 ??IPS?CREATE?PACKAGE?PROBLEM?用于創建基于問題?ID?的程序包。 ??IPS?CREATE?PACKAGE?INCIDENT?用于創建基于意外事件?ID?的程序包。 ??IPS?CREATE?PACKAGE?SECONDS?用于創建包含從數秒前到現在為止這個時間間隔內生成的所有意外事件的程序包。 ??IPS?CREATE?PACKAGE?TIME?用于創建基于指定時間范圍的程序包。也可以向現有程序包添加內容。例如: ??IPS?ADD?INCIDENT?PACKAGE?用于將意外事件添加到現有程序包。 ??IPS?ADD?FILE?PACKAGE?用于將?ADR?中的文件添加到現有程序包。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。