如果系统出现了异常需要取得Oracle支持人员协助处理时,以往通常需要手工准备很多的报告文件,然后手工打包后发给Oracle support。从11g开始这个过程将大大的简化,可以使用ADRCI命令打包数据库中出现的异常事件,然后将打包后的文件发送到Oracle Support,由Oracle的支持人员做进一步的分析和处理。
1.IPS名词解释
是Incident Packaging Service的缩写,事件打包服务是FDI(Fault Diagnosability Infrastructure)故障诊断基础架构中的一项技术。可以对同一次错误或故障相关的数据进行打包,如traces,dumps,health check reports等。
使用Oracle在11g版本中提供的ADRCI工具可以非常便利的提供IPS,在之前的版本中如果要完成这个工具基本上是通过手工的方式来完成的。
通过这个小文儿给大家展示一下ADRCI命令的IPS打包过程,供参考。
1.使用“ips create package”创建一个新的逻辑包
1)进入到adrci命令行界面
secooler@secDB /home/oracle$ adrci
ADRCI: Release 11.2.0.1.0 - Production on Sat Dec 18 22:57:31 2009
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
ADR base = "/oracle/ora11gR2"
adrci>
2)尝试创建逻辑包
adrci> ips create package;
DIA-48448: This command does not support multiple ADR homes
3)处理报错
错误提示创建逻辑包命令不支持多个ADR homes,修改之。
(1)查看当前有的homes情况
adrci> show homes
ADR Homes:
diag/rdbms/secooler/secooler
diag/tnslsnr/secDB/listener
(2)这里我们选择第一个home
adrci> set homepath diag/rdbms/secooler/secooler
(3)确认只有一个home
adrci> show homes
ADR Homes:
diag/rdbms/secooler/secooler
4)再次尝试创建逻辑包,成功。
adrci> ips create package;
Created package 1 without any contents, correlation level typical
2.将诊断数据添加到刚刚创建的逻辑包中
将系统中出现的112321事件添加到逻辑包1中,在系统中可以使用show incident命令获得incident号。adrci> ips add incident 112321 package 1;
3.生成物理包
adrci> ips generate package 1 in /tmp
Generated package 1 in file /tmp/IPSPKG_20091218230524_COM_1.zip, mode complete
4.简单查看一下解压后的文件目录。可见Oracle在压缩包中自动采集了很多相关信息。
secooler@secDB /tmp$ unzip IPSPKG_20091218230524_COM_1.zip
Archive: IPSPKG_20091218230524_COM_1.zip
inflating: diag/rdbms/secooler/secooler/incpkg/pkg_1/seq_1/export/IPS_CONFIGURATION.dmp
inflating: diag/rdbms/secooler/secooler/incpkg/pkg_1/seq_1/export/IPS_PACKAGE.dmp
inflating: diag/rdbms/secooler/secooler/incpkg/pkg_1/seq_1/export/IPS_PACKAGE_INCIDENT.dmp
inflating: diag/rdbms/secooler/secooler/incpkg/pkg_1/seq_1/export/IPS_PACKAGE_FILE.dmp
inflating: diag/rdbms/secooler/secooler/incpkg/pkg_1/seq_1/export/IPS_PACKAGE_HISTORY.dmp
inflating: diag/rdbms/secooler/secooler/incpkg/pkg_1/seq_1/export/IPS_FILE_METADATA.dmp
inflating: diag/rdbms/secooler/secooler/incpkg/pkg_1/seq_1/export/IPS_FILE_COPY_LOG.dmp
inflating: diag/rdbms/secooler/secooler/incpkg/pkg_1/seq_1/export/DDE_USER_ACTION_DEF.dmp
inflating: diag/rdbms/secooler/secooler/incpkg/pkg_1/seq_1/export/DDE_USER_ACTION_PARAMETER_DEF.dmp
inflating: diag/rdbms/secooler/secooler/incpkg/pkg_1/seq_1/export/DDE_USER_ACTION.dmp
inflating: diag/rdbms/secooler/secooler/incpkg/pkg_1/seq_1/export/DDE_USER_ACTION_PARAMETER.dmp
inflating: diag/rdbms/secooler/secooler/incpkg/pkg_1/seq_1/export/DDE_USER_INCIDENT_TYPE.dmp
inflating: diag/rdbms/secooler/secooler/incpkg/pkg_1/seq_1/export/DDE_USER_INCIDENT_ACTION_MAP.dmp
inflating: diag/rdbms/secooler/secooler/incpkg/pkg_1/seq_1/export/INCIDENT.dmp
inflating: diag/rdbms/secooler/secooler/incpkg/pkg_1/seq_1/export/INCCKEY.dmp
inflating: diag/rdbms/secooler/secooler/incpkg/pkg_1/seq_1/export/INCIDENT_FILE.dmp
inflating: diag/rdbms/secooler/secooler/incpkg/pkg_1/seq_1/export/PROBLEM.dmp
inflating: diag/rdbms/secooler/secooler/incpkg/pkg_1/seq_1/export/HM_RUN.dmp
inflating: diag/rdbms/secooler/secooler/incpkg/pkg_1/seq_1/export/EM_USER_ACTIVITY.dmp
inflating: diag/rdbms/secooler/secooler/alert/log.xml
inflating: diag/rdbms/secooler/secooler/trace/alert_secooler.log
inflating: diag/rdbms/secooler/secooler/hm/HMREPORT_HM_RUN_41.hm
inflating: diag/rdbms/secooler/secooler/incpkg/pkg_1/seq_1/crs/crsdiag.log
inflating: diag/rdbms/secooler/secooler/incpkg/pkg_1/seq_1/metadata.xml
inflating: diag/rdbms/secooler/secooler/incpkg/pkg_1/seq_1/manifest_1_1.xml
inflating: diag/rdbms/secooler/secooler/incpkg/pkg_1/seq_1/manifest_1_1.html
inflating: diag/rdbms/secooler/secooler/incpkg/pkg_1/seq_1/manifest_1_1.txt
inflating: metadata.xml
secooler@secDB /tmp$ tree diag
diag
`-- rdbms
`-- secooler
`-- secooler
|-- alert
| `-- log.xml
|-- hm
| `-- HMREPORT_HM_RUN_41.hm
|-- incpkg
| `-- pkg_1
| `-- seq_1
| |-- crs
| | `-- crsdiag.log
| |-- export
| | |-- DDE_USER_ACTION.dmp
| | |-- DDE_USER_ACTION_DEF.dmp
| | |-- DDE_USER_ACTION_PARAMETER.dmp
| | |-- DDE_USER_ACTION_PARAMETER_DEF.dmp
| | |-- DDE_USER_INCIDENT_ACTION_MAP.dmp
| | |-- DDE_USER_INCIDENT_TYPE.dmp
| | |-- EM_USER_ACTIVITY.dmp
| | |-- HM_RUN.dmp
| | |-- INCCKEY.dmp
| | |-- INCIDENT.dmp
| | |-- INCIDENT_FILE.dmp
| | |-- IPS_CONFIGURATION.dmp
| | |-- IPS_FILE_COPY_LOG.dmp
| | |-- IPS_FILE_METADATA.dmp
| | |-- IPS_PACKAGE.dmp
| | |-- IPS_PACKAGE_FILE.dmp
| | |-- IPS_PACKAGE_HISTORY.dmp
| | |-- IPS_PACKAGE_INCIDENT.dmp
| | `-- PROBLEM.dmp
| |-- manifest_1_1.html
| |-- manifest_1_1.txt
| |-- manifest_1_1.xml
| `-- metadata.xml
`-- trace
`-- alert_secooler.log
11 directories, 27 files
5.小结
使用ADRCI (ADR Command Interface)完成整个故障打包的过程是很便利的。这既方便了自己也方便了Oracle的support人员,利己利人,好事两桩。
Good luck.
secooler
09.12.18
-- The End --
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70034820/viewspace-2994334/
,如需转载,请注明出处,否则将追究法律责任。