温馨提示×

Linux Oracle如何监控与维护

小樊
42
2025-12-08 14:55:51
栏目: 云计算

Linux 上 Oracle 的监控与维护实操指南

一 监控体系与工具

  • 数据库层监控
    • 使用 Oracle Enterprise Manager(OEM) 做集中监控、告警与性能诊断;结合 AWR/ASH 做历史与实时性能分析。
    • 使用 oratop 观察会话、SQL、等待事件与 ADG 状态,适合命令行快速排障。
    • 使用 Prometheus + oracle_exporter + Grafana 搭建时序监控与可视化,oracle_exporter 通过查询 Oracle 暴露指标供 Prometheus 抓取。
  • 操作系统层监控
    • 资源类:top/htop、vmstat、iostat、sar、dstat、nmon 覆盖 CPU、内存、I/O、网络。
    • 连接与端口:netstat -tlnp | grep <端口>ss -lntp | grep <端口> 检查监听端口连通性。
  • 日志与告警
    • 数据库告警日志 alert_SID.log 记录启停、参数变更、日志切换、错误(如 ORA-)等关键信息,需纳入日常巡检与告警。

二 日常巡检清单

  • 主机与资源
    • 检查系统版本与内核、资源使用:cat /etc/system-release、top、free -m、df -Th、lsblk
    • 关注 CPU 负载、内存与 Swap、磁盘使用率 的异常波动。
  • Oracle 实例与监听
    • 后台进程:ps -ef | grep “ora_” | grep -v grep,关注 ora_pmon、ora_smon、ora_dbw0、ora_lgwr、ora_ckpt、ora_reco 等是否正常。
    • 实例状态:SQL> select instance_name,status,version,database_status from v$instance; 期望 STATUS=OPEN、DATABASE_STATUS=ACTIVE
    • 归档与打开模式:SQL> select name,log_mode,open_mode from v$database; 生产建议 ARCHIVELOG、READ WRITE
    • 监听状态:lsnrctl status,确认监听端口与服务映射正常。
  • 日志与空间
    • 告警日志:tail -n 200 alert_SID.log | egrep -i “ORA-|err|fail”;告警日志路径可通过 show parameter background_dump_dest 获取。
    • 表空间使用:定期检查 dba_data_files、dba_free_space,关注使用率与最大连续空闲块,预防 tablespace full
    • 数据文件与重做日志:v$datafile、v$logfile 状态应为 ONLINE/ACTIVE,无损坏与缺失。

三 备份恢复与自动化

  • RMAN 备份策略
    • 全备+归档日志:示例(在 sqlplus / as sysdba 中执行)
      • RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG DELETE INPUT;
      • RMAN> BACKUP CURRENT CONTROLFILE;
    • 定期做 恢复验证(如还原到时间点/SCN 的演练),确保备份可用。
  • 自动化与调度
    • 将备份与巡检脚本化,使用 cron 定时执行,例如每天 01:00 备份:
      • 0 1 * * * /opt/scripts/backup_rman.sh >> /var/log/rman_backup.log 2>&1
    • 结合 Zabbix/Prometheus 配置阈值告警(如表空间 > 80%、备份失败、会话数异常、I/O 延迟升高)。

四 性能与健康检查

  • 性能观测
    • 实时等待与 SQL:V$SESSION、V$SESSION_WAIT、V$SQL 定位 Top SQL 与等待事件(如 db file sequential read、log file sync)。
    • 历史分析:AWR/ASH 报告识别负载特征与瓶颈(CPU、I/O、锁、绑定变量缺失等)。
  • 空间与对象
    • 表空间碎片与扩展:对字典管理表空间可用空闲块分布评估是否需 coalesce增加数据文件;监控对象增长趋势,提前扩容或归档历史数据。
  • 系统资源
    • 结合 iostat -xz 1、vmstat 1、nmon 判断 I/O 瓶颈、内存压力与 CPU 饱和,必要时调整 SGA/PGA、I/O 调度策略或 SQL 执行计划。

五 安全与变更管理

  • 账号与权限
    • 执行 最小权限 原则,定期审计 DBA/高权限 账户与角色变更;对敏感操作启用 审计
  • 补丁与版本
    • 定期执行 opatch lspatches 查看补丁状态,规划 季度/关键安全补丁 升级窗口,先在测试环境验证。
  • 系统与内核参数
    • 复核 /etc/sysctl.conf、/etc/security/limits.conf 等关键参数与资源限制,确保与 Oracle 推荐值一致;变更留痕并回滚预案完备。

0