你好,游客 登录 注册 搜索
背景:
阅读新闻

系统级alias vs Oracle ADR功能

[日期:2015-05-14] 来源:Linux社区  作者:杨建荣 [字体: ]

Oracle在11g中推出的新特性ADR,即Automatic Diagnostic Repository
个人理解这个工具就是能够高效的把一些日志文件轻松管理起来。比如查看数据库alert日志就不必麻烦去到对应的路径下去找一圈,直接使用show alert即可,比如查看现在数据库中出现了哪些错误,直接通过show problem命令即可。
 命令的使用也很方便。直接输入adrci就开启了专门的窗口来使用。如果不知道该使用哪些命令,直接使用help即可。
$ adrci
 ADRCI: Release 11.2.0.1.0 - Production on Wed May 13 22:10:14 2015
 Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
 ADR base = "/u02/dg11g"
 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
不过在使用之余,发现其实也可以有有更简洁的方式。
 在这几天搭建data guard环境时,总是需要不断地在多个路径之间切换,如果使用adrci的时候就得先启用adrci命令界面,然后使用指定的命令去查看,感觉还是不够自主和方便。我们可以这么来玩。
 首先来说一下需要使用的一个脚本。这个脚本可以显示出对应的诊断路径。
 为了求得10g以后的兼容性,使用background_dump_dest这个参数也可以完全对应到对应的诊断路径。
 假设脚本名为cdt.sh

 TAB_OWNER=`sqlplus -silent / as sysdba <<END
 set pagesize 0 feedback off verify off heading on echo off
 col owner_name format a20
 col table_name format a30
 select value from v\\$parameter where name='background_dump_dest';
 exit;
 END`

 if [ -z "$TAB_OWNER" ]; then
  echo "no object exists, please check again"
  exit 0
 else
    echo $TAB_OWNER
 fi

我们先来实现show alert的类似功能。
 我们可以在系统级定义一个别名
alias cdt='cd  `ksh ~/cdt.sh` '

 $ pwd
 /home/ora11g
 $ cdt
 $ pwd
 /u02/dg11g/diag/rdbms/dg11g/DG11G/trace

这个时候可以查看相关的trace日志,alert日志
 再来几个使用的别名,
 比如需要到参数文件的路径下。我们可以这么定义别名。
alias cdp='cd $ORACLE_HOME/dbs'

 $ pwd
 /home/ora11g
 $ cdp
 $ pwd
 /u01/app/ora11g/product/11.2.0/dbhome_1/dbs

比如查看数据库错误,可以这么定义,我们可以更加灵活地把指定错误日志的前后几行内容。
alias showerr='grep -A3 -B3  ORA- `ksh ~/cdt.sh`/alert*|tail -50 '

显示内容如下,这样是不是也显示得挺清晰的。
[ora11g@oel1 ~]$ showerr
 License high water mark = 2
 All dispatchers and shared servers shutdown
 ALTER DATABASE CLOSE NORMAL
 ORA-1507 signalled during: ALTER DATABASE CLOSE NORMAL...
 ARCH: Archival disabled due to shutdown: 1089
 Shutting down archive processes
 Archiving is disabled
 --
 space available in the underlying filesystem or ASM diskgroup.
 Error 1034 received logging on to the standby
 Errors in file /u02/ora11g/diag/rdbms/test11g/TEST11G/trace/TEST11G_arc1_31285.trc:
 ORA-01034: ORACLE not available
 PING[ARC1]: Heartbeat failed to connect to standby 'DG11G'. Error is 1034.
 Wed May 13 15:06:01 2015
 Starting background process CJQ0
 --
所以综上所述,其实很多功能我们也可以自己试一试,没准也能更加方便我们的工作,不管怎么样,使用方便和快捷是我们的目标。

更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址http://www.linuxidc.com/Linux/2015-05/117520.htm

linux
相关资讯       Oracle ADR 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款