本文介绍关于oracle stream的监控工具(STRMMON),版本9.2.0.1-10.2.0.4,文档使用各个平台。在oracle11g后strmmon已经替代 流性能管理顾问(Streams Performance Advisor)
,由于stream性能顾问分布在stream的产品,而且通过DBMS_STREAMS_ADVISOR_ADM PL / SQL包来实现。
书写本文的目的是来接如何安装,使用,和了解strmmon工具的输入输出。
Strrmon是一个专门监测stream的工具,DBA使用这个工具可以快速的对数据库内stream的状况进行查看。也可以用于查看两个数据库同一时间的会话信息。在9i和10gr1 版本中 STRMMON还不被支持在10gr2版本中才初出茅庐。但在新的PDA版本中,你可以用strmmon检索使用stream监测STM。所以你可以运行一下的信息:./rda.sh -vCRP STM 或 ./rda.sh -vCRP OS DB DBA NET D2PC STC STM。
安装strmmon。
Strmmon是一个zip文件,包括OCI使用的文件,首先下载strmmon ZIP文件,然后解压。对于oracle10 R2之前的版本还要创建一个目录,之后从strmmon.zip中提取文件,在编译之前,首先要确定PATH中ORACLE_HOME和LD_LIBRARY_PATH正确的设置。然后使用-F strmmon.mk strmmon编译和链接,之后就可使用
(注:strmmon oci程序,如果您编译和link有问题,编译和链接OCI为您的平台提供方案,您可以参考建议的程序。Strmmon.mk是确定从oracle 9i数据库版本中复制的demo_rdbms.mk文件,平台为Solaris 32位。针对ORACLE10r2strmmon分布在RDBMS/demo目录下)
以下是安装oracle10g产品的随附CD,存档有strmmon.c,strmmon.o然后去相应目录make且生成可执行的文件。
使用strmmon。
一共有7个输入参数,interval,count,user,passwd,dbname,sysdba,long
Interval控制sample率和输出量,接下来的四个参数指的是链接信息。
下面是命令的用法
strmmon -interval -count [-user ][-passwd] [-dbname ] [-sysdba]
1、-interval number 监测数据库的时间间隔 例如-interval 3,即时间间隔是3秒
2、-count 4指的是迭代4次
(一下是可选参数)
3、-user system 就是登陆的用户名是system
4、-passwd是用户的密码
5、-dbname是数据库名
6、-sysdba就是使用dba身份登陆,次选项登陆时用户名密码就不需要
现在我们就可以进入strmmon工具,它有一下功能
1、 显示:strmmon编译或者link可以连接到不同的数据库版本,通过dbname参数确定使用的oracle版本
2、 输出:strmmon输出有两种格式:default和long,deault是stream 进程活动率,long显示的strmmon以前版本提供的一些详情信息,报告时间间隔迭代次数等等。Strmmon输出的计划是strmmon产生一个单一的输出线后,要求每个迭代间隔为oracle stream的当前状态。
例如,每一行都是由多个块组成,这些块显示关键字,以确定对组件的统计,组件时间使用“|”分隔符,
strmmon共有7个组件,log,net,cxxx,qx,prxx,psxx,和axxx。
除了log和NET外,每个组件的多个实例可以依赖于数据库中stream的配置过程。
Arxx和asxx是每个axxx中关键的子组件。
其作用分别为
Log:日志是记录strmmon的一些工作记录
Net:为默认输出,每第二字节由客户端和dblinks网络产生的平均数量
Cxxx:对于数据库捕捉过程中,将显示一个单独块,每块显示是没秒捕获的LCRS数,以及每秒排队的LCRS数量和捕获延迟,如果指定long,然后每块的logminer读取SCN,总数是从redo近期捕获的scn进行显示。
Qx:对于每个stram队列中,它是一个单独块显示的队列的标示符,劣迹的信息传输速率和泄露率。如果指定long,那么数据库中每个stream队列,将显示一些未处理的信息。
Psxx:对于每一个传播的人的LCRS的每秒显示。如果long指定,每个传播信息到达目标site的总字节数,并将这些所需用时间显示。
Axxx对于每一个申请过程,每秒应用LCRS数量,如果long指定,那么最近SCN出队和入队的总数,以及延迟数都会标记到目标site的最新scn上
下面介绍一些错误,错误原因以及解决方案。
1、错误:SH:CC未找到
原因:C编译器不能找到相应的路径
解决方案:在PATH中设置c编译器的路径
2、错误OCIEnvCreate() failed
原因:strmmon已编译或者现在正在使用
解决方案:用system的用户和passwd
3、错误:错误而载入共享库
原因:没有定义LD_LIBRARY_PATH
解决方案:定义LD_LIBRARY_PATH