WEB开发网
开发学院数据库Oracle 用Oracle存储来分析Unix系统的性能 阅读

用Oracle存储来分析Unix系统的性能

 2007-05-12 12:27:31 来源:WEB开发网   
核心提示: 3. 创建vmstat目录在oracle用户主目录下创建用于存放所有相关脚本的vmstat目录,$ cd$ mkdir vmstat4. 创建get_vmstat.ksh脚本改脚本用于定时执行vmstat命令并且将结果存入数据库,用Oracle存储来分析Unix系统的性能(3),# get

3. 创建vmstat目录

在oracle用户主目录下创建用于存放所有相关脚本的vmstat目录。

$ cd
$ mkdir vmstat

4. 创建get_vmstat.ksh脚本

改脚本用于定时执行vmstat命令并且将结果存入数据库。

# get_vmstat.ksh
#!/bin/ksh
#----------------------------------------
# 首先设定环境变量,根据实际环境修改. . . .
#----------------------------------------
ORACLE_SID=kamusdb
export ORACLE_SID
ORACLE_HOME=`cat /var/opt/oracle/oratab|grep
^$ORACLE_SID:|cut -f2 -d':'`
export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$PATH
export PATH
SERVER_NAME=`uname -a|awk '{print $2}'`
typeset -u SERVER_NAME
export SERVER_NAME
#----------------------------------------
# 每5分钟运行一次vmstat(300秒),可以根据实际情况修改 . . . .
#----------------------------------------
SAMPLE_TIME=300
#----------------------------------------
# 脚本一旦运行将不会停止,除非关闭操作系统 . . . .
# -S参数表示监控swap空间的情况,报告si,so列
# msg$$中的$$表示一个任意2位数字,系统自动生成
#----------------------------------------
while true
do
vmstat –S ${SAMPLE_TIME} 2 > /tmp/msg$$
#----------------------------------------
# Solaris系统的vmstat没有wait CPU统计,所以我们在那一列中存入0
# $1, $2, $6, $7等数字分别表示vmstat输出中的第几列,
# 每个Unix系统中的vmstat输出可能都不一样,
# 所以修改这些列号,就可以应对不同的操作系统。
#----------------------------------------
cat /tmp/msg$$|sed 1,3d | awk '
{ printf("%s %s %s %s %s %s %s %s %s %s n",
$1, $2, $6, $7, $8, $9, $12, $20, $21, $22) }'
| while read RUNQUE WAITQUE SWAPIN SWAPOUT
PAGE_IN PAGE_OUT PAGE_SCAN USER_CPU SYSTEM_CPU IDLE_CPU
do
$ORACLE_HOME/bin/sqlplus perfstat/perfstat <<EOF
insert into perfstat.stats$vmstat
values (
SYSDATE,
$SAMPLE_TIME,
'$SERVER_NAME',
$RUNQUE,
$WAITQUE,
$SWAPIN,
$SWAPOUT,
$PAGE_IN,
$PAGE_OUT,
$PAGE_SCAN,
$USER_CPU,
$SYSTEM_CPU,
$IDLE_CPU,
0
);
commit;
EXIT
EOF
done
done
#----------------------------------------
#删除临时文件
#----------------------------------------
rm /tmp/msg$$

上一页  1 2 3 4 5 6  下一页

Tags:Oracle 存储 分析

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接