返回顶部
首页 > 资讯 > 数据库 >adrci命令怎么用
  • 385
分享到

adrci命令怎么用

2024-04-02 19:04:59 385人浏览 独家记忆
摘要

这篇文章给大家分享的是有关adrci命令怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 一、adrci说明      在orac

这篇文章给大家分享的是有关adrci命令怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

一、adrci说明 


    在oracle11g中,dump file的目录已经有所改变,bdump和udump整合到trace中,cdump独立出一个。 
oracle新增了一个ADRCI(Automatic Diagnostic Repository Command Interpreter)的工具, 
统一管理ASM实例和多个数据库实例的alert文件、后台trace文件、用户trace文件,dump文件等等。 
而且这个工具可以快速查询错误相关的所有trace文件,并将这些文件打包到一个zip文件,以便将问题 
相关的信息提供给Oracle的技术支持。 

二、查看文件 
1)进入、退出adrci 
--显示帮助 
[root@oratest ~]# su - oracle 
[oracle@oratest ~]$ which adrci 
~/bin/adrci 

[oracle@oratest trace]$ adrci 
ADRCI: Release 11.2.0.3.0 - Production on Wed Dec 23 10:30:26 2015 
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的主目录: 
adrci> show home           ---若非我们想要的目录,可以指定  set home diag/rdbms/tinadb/tinadb 
ADR Homes: 
diag/rdbms/tinadb/tinadb 

--退出ADRCI: 
adrci>>exit或者quit  回车 
    
--备注 
1.在adrci中命令大小写不敏感 但使用搜索串的时候是敏感的,比如:show tracefile %mmon% 

2.在adrci中不能使用退格(backspace)怎么办 
sqlplus一样,有下面几种选择: 
用del键; 
使用Ctrl+backspace; 
使用Ctrl+u删除整行(bash下); 
在os命令行下stty erase ^h  (可以直接写到oracle的.profile/.bash_profile下面) 

2)查看alert日志 
1.show alert -tail (默认是10条条目) 
2.show alert -tail -f(类似tail -f alertlog一样) 
3.show alert 
4.show alert -p "MESSAGE_TEXT like '%ORA-%'" 
更多可见 help show alert 
注意,show alert的起始点是在control中设置的保留时间之后的日志,或者说是purge之后的日志,之前的日志无法显示。 

举例: 
adrci> show alert -tail -f 
2015-12-23 08:35:13.712000 +08:00 
  Current log# 2 seq# 191 mem# 0: /u01/oradata/tinadb/redo02.log 
ArcHived Log entry 296 added for thread 1 sequence 190 ID 0x637eb2fb dest 1: 
2015-12-23 08:50:18.242000 +08:00 
Thread 1 advanced to log sequence 192 (LGWR switch) 
  Current log# 3 seq# 192 mem# 0: /u01/oradata/tinadb/redo03.log 
Archived Log entry 297 added for thread 1 sequence 191 ID 0x637eb2fb dest 1: 
2015-12-23 09:05:17.755000 +08:00 
Thread 1 advanced to log sequence 193 (LGWR switch) 
  Current log# 1 seq# 193 mem# 0: /u01/oradata/tinadb/redo01.log 
Archived Log entry 298 added for thread 1 sequence 192 ID 0x637eb2fb dest 1: 
2015-12-23 09:20:20.346000 +08:00 
Thread 1 advanced to log sequence 194 (LGWR switch) 
  Current log# 2 seq# 194 mem# 0: /u01/oradata/tinadb/redo02.log 
Archived Log entry 299 added for thread 1 sequence 193 ID 0x637eb2fb dest 1: 

3)查看control 
adrci> show control 
ADR Home = /u01/diag/rdbms/tinadb/tinadb: 
************************************************************************* 
ADRID                SHORTP_POLICY        LONGP_POLICY         LAST_MOD_TIME                            LAST_AUTOPRG_TIME                        LAST_MANUPRG_TIME                        ADRDIR_VERSION       ADRSCHM_VERSION      ADRSCHMV_SUMMARY     ADRALERT_VERSION     CREATE_TIME                              
-------------------- -------------------- -------------------- ---------------------------------------- ---------------------------------------- ---------------------------------------- -------------------- -------------------- -------------------- -------------------- ---------------------------------------- 
2092229604           720                  8760                 2015-12-09 17:41:58.349021 +08:00        2015-12-23 10:05:32.222256 +08:00                                                 1                    2                    80                   1                    2015-12-09 17:41:58.349021 +08:00       
1 rows fetched 
关于control的设置,除了默认的SHORTP_POLICY为720小时,LONGP_POLICY为8760小时外,我们可以修改这2个时间: 

adrci> set control (SHORTP_POLICY = 360) 
adrci> set control (LONGP_POLICY = 2160) 
adrci> show control 
ADR Home = /u01/diag/rdbms/tinadb/tinadb: 
************************************************************************* 
ADRID                SHORTP_POLICY        LONGP_POLICY         LAST_MOD_TIME                            LAST_AUTOPRG_TIME                        LAST_MANUPRG_TIME                        ADRDIR_VERSION       ADRSCHM_VERSION      ADRSCHMV_SUMMARY     ADRALERT_VERSION     CREATE_TIME                              
-------------------- -------------------- -------------------- ---------------------------------------- ---------------------------------------- ---------------------------------------- -------------------- -------------------- -------------------- -------------------- ---------------------------------------- 
2092229604           360                  2160                 2015-12-09 17:41:58.349021 +08:00        2015-12-23 10:05:32.222256 +08:00                                                 1                    2                    80                   1                    2015-12-09 17:41:58.349021 +08:00       

这样就改成了tracefiles保留360小时,即15天,incident file保留2160小时,即90天。 
上述就是oracle自己保留日志的期限,我们也可以通过purge这个命令来手工的清空。 


4)快速定位tracefile 
(1)列出所有跟踪文件:            show tracefile 
(2)模糊查询跟踪文件,比如某个进程的,注意这里区分大小写        show tracefile %mmon% 
(3)可以指定某个路径              show tracefile %mmon% -path /home/steve/temp 
(4)按时间排序                    show tracefile -rt 

举例: 
adrci> show tracefile %mmon% 
     diag/rdbms/tinadb/tinadb/trace/tinadb_mmon_7202.trc 
     diag/rdbms/tinadb/tinadb/trace/tinadb_mmon_21083.trc 
     diag/rdbms/tinadb/tinadb/trace/tinadb_mmon_8320.trc 
     diag/rdbms/tinadb/tinadb/trace/tinadb_mmon_4137.trc 

三、定位incident和problem 
常用: 
show incident 
show incident -mode detail -p "incident_id=1" 
show problem 
show problem -p "problem_id=2" 
更多信息见help show incident或help show problem。 

举例: 
adrci> show incident 
ADR Home = /u01/diag/rdbms/tinadb/tinadb: 
************************************************************************* 
INCIDENT_ID          PROBLEM_KEY                                                 CREATE_TIME                              
-------------------- ----------------------------------------------------------- ---------------------------------------- 
53353                ORA 600 [krbnpdf_wrngdbid_3]                                2015-12-17 10:09:33.291000 +08:00       
53354                ORA 600 [krbnbeg_norestart]                                 2015-12-17 10:24:52.395000 +08:00       
53355                ORA 600 [krbnpdf_nonid]                                     2015-12-17 10:28:17.766000 +08:00       
53417                ORA 600 [krbnbeg_norestart]                                 2015-12-17 10:32:58.256000 +08:00       
53418                ORA 600 [krbnpdf_nonid]                                     2015-12-17 10:34:22.881000 +08:00       
5 rows fetched 

adrci> show problem 
ADR Home = /u01/diag/rdbms/tinadb/tinadb: 
************************************************************************* 
PROBLEM_ID           PROBLEM_KEY                                                 LAST_INCIDENT        LASTINC_TIME                             
-------------------- ----------------------------------------------------------- -------------------- ---------------------------------------- 
1                    ORA 600 [krbnpdf_wrngdbid_3]                                53353                2015-12-17 10:09:33.291000 +08:00       
2                    ORA 600 [krbnbeg_norestart]                                 53417                2015-12-17 10:32:58.256000 +08:00       
3                    ORA 600 [krbnpdf_nonid]                                     53418                2015-12-17 10:34:22.881000 +08:00       
3 rows fetched 

我们看到有5个incident和3个problem 
problem指的是大的问题,叫criticial error, 一个大问题会由很多小的incidents所导致。所以他们是1:n的关系. 

查看细节: 
adrci> show incident -mode detail -p "incident_id=53353" 
ADR Home = /u01/diag/rdbms/tinadb/tinadb: 
************************************************************************* 

********************************************************** 
INCIDENT INFO RECORD 1 
********************************************************** 
   INCIDENT_ID                   53353 
   STATUS                        ready 
   CREATE_TIME                   2015-12-17 10:09:33.291000 +08:00 
   PROBLEM_ID                    1 
   CLOSE_TIME                    <NULL> 
   FLOOD_CONTROLLED              none 
   ERROR_FACILITY                ORA 
   ERROR_NUMBER                  600 
   ERROR_ARG1                    krbnpdf_wrngdbid_3 
   ERROR_ARG2                    /u01/oradata/tinadb/system01.dbf 
   ERROR_ARG3                    1669126943 
   ERROR_ARG4                    1668473151 
   ERROR_ARG5                    1669126943 
   ERROR_ARG6                    <NULL> 


四、ips打包 
   将相关的incident的文件打包给oracle,上传到SR上。我们这里用到一个IPS(incident package service)服务。 
我们先创建一个逻辑的package,有以下几种方式: 

1.什么参数都不带,表示以默认的level typical, 里面无任何内容。 
adrci> ips create package 
Created package 1 without any contents, correlation level typical 

2.加incident参数,指明某个incident。默认level还是typical。 
adrci> ips create package incident 53353 
Created package 2 based on incident id 53353, correlation level typical 

3.加incident参数,指定某个incident,设置level为all。 
adrci> ips create package incident 53354 correlate all 
Created package 3 based on incident id 53354, correlation level al 

4.加problem参数,指定某个problem。默认level还是typical。 
adrci> ips create package problem 2 
Created package 4 based on problem id 2, correlation level typical 

5.加problem参数,指定某个problem,设置level为basic。 
adrci> ips create package problem 1 correlate basic 
Created package 5 based on problem id 1, correlation level basic 

6.加time参数,设置开始时间to结束时间,后面的+8:00表示东八区。 
adrci> ips create package time '2015-12-22 00:00:00' to '2015-12-23 00:00:00' 
Created package 6 based on time range 2015-12-22 00:00:00.000000 +08:00 to 2015-12-23 00:00:00.000000 +08:00, correlation level typical 


还可以追加文件到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 package 3 in file /u01/diag/rdbms/tinadb/tinadb/trace/ORA600krb_20151223104459_COM_1.zip, mode complete 

自定义路径,加in参数即可: 
adrci>  ips GENERATE PACKAGE 3 in /tmp 
Generated package 3 in file /tmp/ORA600krb_20151223104459_COM_2.zip, mode complete 

注意:ips的调用和perl有关。需要预先在os安装 yum install -y perl 否则这里会报错 

有了这个zip包,我们可以直接发送给oracle技术支持了。 


六、解压 
最后简单介绍一下UNPACK命令,这个命令可以将得到的zip文件解压到指定目录: 

adrci> ips get metadata from file /tmp/ORA600krb_20151223104459_COM_2.zip 
IPS metadata from file /tmp/ORA600krb_20151223104459_COM_2.zip: 
---------------------------------------------------------- 
<?xml version="1.0" encoding="US-ASCII"?> 
<PACKAGE> 
    <PACKAGE_ID>3</PACKAGE_ID> 
    <PACKAGE_NAME>ORA600krb_20151223104459</PACKAGE_NAME> 
    <MODE>Complete</MODE> 
    <SEQUENCE>2</SEQUENCE> 
    <LAST_COMPLETE>2</LAST_COMPLETE> 
    <DATE>2015-12-23 11:33:51.703402 +08:00</DATE> 
    <ADR_BASE>/u01</ADR_BASE> 
    <ADR_HOME>/u01/diag/rdbms/tinadb/tinadb</ADR_HOME> 
    <PROD_NAME>rdbms</PROD_NAME> 
    <PROD_ID>tinadb</PROD_ID> 
    <INST_ID>tinadb</INST_ID> 
    <OCM_GUID/> 
    <OCM_ANNOTATION/> 
    <FINALIZED>1</FINALIZED> 
</PACKAGE> 

---------------------------------------------------------- 
adrci> ips unpack file /tmp/ORA600krb_20151223104459_COM_2.zip into /tmp 
Unpacking file /tmp/ORA600krb_20151223104459_COM_2.zip into target /tmp 

七、清除purge 
(1)清除incident,我们可以用purge命令: 
adrci> purge -age 2 

(2)清除problem,我们可以用delete命令: 
adrci> delete from problem where problem_id=1 

(3)清除trace 
adrci> purge -age 1440 -type trace --可以删除24h以前的trace 

八、命令行执行adrci命令 
[oracle@oratest ~]$ adrci exec="show homes;echo '20070712';echo '';show base; " 

感谢各位的阅读!关于“adrci命令怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

您可能感兴趣的文档:

--结束END--

本文标题: adrci命令怎么用

本文链接: https://lsjlt.com/news/65240.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • adrci命令怎么用
    这篇文章给大家分享的是有关adrci命令怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 一、adrci说明      在orac...
    99+
    2024-04-02
  • oracle中怎么使用adrci命令来管理ADR下相关日志
    本篇内容主要讲解“oracle中怎么使用adrci命令来管理ADR下相关日志”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“oracle中怎么使用adrci命令来...
    99+
    2024-04-02
  • Linux常用命令bzless命令怎么用
    这篇文章主要介绍Linux常用命令bzless命令怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Linux常用命令bzless命令是增强 .bz2 压缩包查看器,bzless比bzmore命令功能更加强大语法&...
    99+
    2023-06-28
  • Linux常用命令groupdel命令怎么用
    这篇文章主要介绍Linux常用命令groupdel命令怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Linux常用命令groupdel命令用于删除群组需要从系统上删除群组时,可用groupdel(group d...
    99+
    2023-06-28
  • Linux复制命令cp命令怎么用
    小编给大家分享一下Linux复制命令cp命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux系统cp命令主要用于复制文件,可以复制指定目录下的全部文...
    99+
    2023-06-28
  • Linux命令中的rpm命令怎么用
    这篇文章的内容主要围绕Linux命令中的rpm命令怎么用进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!在Linux中,RPM是进行软件得安装、卸载、...
    99+
    2023-06-28
  • Linux的blkid命令命令怎么使用
    这篇文章主要介绍“Linux的blkid命令命令怎么使用”,在日常操作中,相信很多人在Linux的blkid命令命令怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux的blkid命令命令怎么使用...
    99+
    2023-06-28
  • dos命令行choice命令怎么使用
    在Windows系统中,choice命令用于让用户在几个选项中做出选择。下面是choice命令的基本语法和用法: choice [/...
    99+
    2024-03-01
    dos
  • lsof命令怎么用
    这篇文章将为大家详细讲解有关lsof命令怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 一:lsof介绍lsof 是 linux 下的一...
    99+
    2024-04-02
  • telnet命令怎么用
    这篇文章主要介绍了telnet命令怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是Telnet?  对于Telnet的认识,不同的人持有不同的观点,可以把Telne...
    99+
    2023-06-09
  • yum命令怎么用
    这篇文章将为大家详细讲解有关yum命令怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。列出所有可更新的软件清单命令:yum check-update安装所有更新软件命令:yum update仅安装指定...
    99+
    2023-06-13
  • chcon命令怎么用
    这篇文章主要介绍了chcon命令怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。chcon命令是修改对象(文件)的安全上下文,比如:用户、角色、类型、安全级别。也就是将每...
    99+
    2023-06-27
  • vmstat命令怎么用
    这篇文章主要介绍vmstat命令怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚...
    99+
    2023-06-27
  • uname命令怎么用
    这篇文章主要介绍了uname命令怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。uname命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)。...
    99+
    2023-06-27
  • screen命令怎么用
    小编给大家分享一下screen命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通...
    99+
    2023-06-27
  • restorecon命令怎么用
    这篇文章主要介绍“restorecon命令怎么用”,在日常操作中,相信很多人在restorecon命令怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”restorecon命令怎么用”的疑惑有所帮助!接下来...
    99+
    2023-06-27
  • expand命令怎么用
    这篇文章主要介绍了expand命令怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇expand命令怎么用文章都会有所收获,下面我们一起来看看吧。expand命令 用于将文件的制表符(TAB)转换为空白字符(...
    99+
    2023-06-27
  • xargs命令怎么用
    这篇文章主要介绍了xargs命令怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。它把一个数据流分割为一...
    99+
    2023-06-28
  • JavaDoc命令怎么用
    这篇文章将为大家详细讲解有关JavaDoc命令怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。javadoc的命令行语法如下:javadoc [ options ] [ packagenames ] ...
    99+
    2023-06-03
  • sed命令怎么用
    这篇文章给大家分享的是有关sed命令怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用Sed进行文本文件更改的示例假设您有一个名为linuxidc.com.txt的文件,其中包含以下行:1, linux i...
    99+
    2023-06-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作