linux

如何利用Linux工具监控Oracle运行状态

小樊
45
2026-01-07 00:49:13
栏目: 云计算

Linux下监控Oracle运行状态的实用方案

一 快速健康检查

二 系统资源监控

三 数据库性能与等待事件

四 一键巡检脚本示例

#!/usr/bin/env bash
# 用法:./check_oracle.sh ORACLE_SID

SID=${1:?"Usage: $0 <ORACLE_SID>"}
export ORACLE_SID=$SID
export ORAENV_ASK=NO
. /usr/local/bin/oraenv >/dev/null 2>&1

echo "=== Instance & Listener ==="
ps -ef | grep "ora_pmon_${SID}" | grep -v grep && echo "PMON found." || echo "PMON not found!"
lsnrctl status | egrep 'STATUS|TNS'

echo -e "\n=== Database Status ==="
sqlplus -S / as sysdba <<'SQL'
set lines 200
col status for a10
col database_status for a12
select instance_name, status, database_status from v$instance;
select name, open_mode, log_mode from v$database;
SQL

echo -e "\n=== Top 5 Wait Events ==="
sqlplus -S / as sysdba <<'SQL'
set lines 200 pages 1000
col event for a40
select event, count(*), round(time_waited/100,2) sec
from v$session_event
group by event
order by time_waited desc
fetch first 5 rows only;
SQL

echo -e "\n=== System Resources ==="
echo "CPU/IO Load:"
vmstat 1 5 | tail -n 3
echo -e "\nDisk Utilization:"
iostat -x 1 3 | egrep '^Device|^sd'

0
看了该问题的人还看了