系统级alias vs Oracle ADR功能(r5笔记第35天)
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
--
所以综上所述,其实很多功能我们也可以自己试一试,没准也能更加方便我们的工作,不管怎么样,使用方便和快捷是我们的目标。
- AngularJS中的按需加载ocLazyLoad
- AngularJS driective 封装 自动滚动插件
- java类过滤器,防止页面SQL注入
- Web项目添加Maven支持
- Jquery 获取第一个子元素
- Dropwizard框架入门
- Java 解析Excel文件为JSON
- SQL语句大小写是否区分的问题,批量修改整个数据库所有表所有字段大小写
- CentOS 6.5 安装nginx 1.6.3
- C#创建数字证书并导出为pfx,并使用pfx进行非对称加解密
- MyBatis两张表字段名相同产生的问题
- mongo 3.0 备份和还原数据库 ,及too many positional arguments错误
- AngularJs HTTP响应拦截器实现登陆、权限校验
- C# 读写App.config配置文件的方法
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- mac苹果 配置maven settings文件【注意,与win环境不一样!!!】
- mac小程序开发 本地调试 安装 npm modules
- Deeplearning.ai 课程笔记第一部分:神经网络与深度学习
- 如何从Node.js开始-Visual Studio2017
- Rust竟然没有异常处理?
- MAC系统 JDK 卸载及彻底删除
- 轻松学Pytorch –Mask-RCNN图像实例分割
- docker安装awvs13
- 远程连接kail Permission denied或者refused【已解决】
- 设计模式~原始模型模式(二)
- 面向对象的7种设计原则(6)-迪米特原则
- LeetCode 刷题记录 1-5
- 你掉的是这个免费服务器,还是这个 Docker 实验平台
- 我能赢吗
- 最长公共子串/序列问题