温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何监控DB Link

发布时间:2026-10-19 21:00:33 来源:亿速云 阅读:86 作者:小樊 栏目:数据库

监控 Oracle DB Link(数据库链接) 通常从连通性、性能、使用情况和安全性几个维度入手。下面按「可落地做法 + 常用脚本」来说明。


一、监控 DB Link 连通性(最基础)

1. 定期测试 DB Link 是否可用

SELECT * FROM dual@db_link_name;

或

SELECT SYSDATE FROM dual@db_link_name;

✅ 建议:

  • 用 定时 job(DBMS_SCHEDULULER) 每 5–10 分钟测试一次
  • 失败则告警(邮件 / 钉钉 / 监控平台)

二、监控 DB Link 使用情况

1. 查看当前正在使用 DB Link 的会话

SELECT
  s.sid,
  s.serial#,
  s.username,
  s.machine,
  s.program,
  d.owner,
  d.db_link,
  d.query
FROM gv$session s
JOIN gv$db_link d
  ON s.saddr = d.saddr
WHERE d.db_link IS NOT NULL;

2. 查看 DB Link 上的 SQL 执行

SELECT
  sql_id,
  sql_text,
  executions,
  elapsed_time/1e6 AS elapsed_sec
FROM gv$sql
WHERE sql_text LIKE '%@db_link_name%';

三、监控 DB Link 性能

1. 通过 AWR / ASH 分析

SELECT
  sql_id,
  db_link,
  elapsed_time_total/1e6 AS elapsed_sec,
  executions_total
FROM dba_hist_sqlstat
WHERE db_link IS NOT NULL;

关注:

  • 跨库 SQL 执行时间
  • 网络往返次数(fetch 次数)
  • 大表全表扫描 @dblink

2. 网络层面监控(常被忽略)

DB Link 慢,往往是:

  • 网络延迟高
  • 带宽不足
  • 防火墙策略

✅ 建议:

  • ping / traceroute
  • 抓包(tcpdump)
  • 监控网卡流量

四、监控 DB Link 安全性(非常重要)

1. 查看所有 DB Link

SELECT owner, db_link, username, host
FROM dba_db_links;

重点检查:

  • 是否使用 高权限账号
  • 是否明文密码
  • 是否公共同步(PUBLIC DB LINK)

2. 审计 DB Link 使用(推荐)

AUDIT SELECT TABLE BY db_link_user;

或开启统一审计(12c+):

CREATE AUDIT POLICY dblink_audit
ACTIONS SELECT, INSERT, UPDATE, DELETE ON SCHEMA;

五、常见监控方案组合

企业常见做法

层 工具
连通性 DBMS_SCHEDULER + 告警
性能 AWR / ASH / Grafana
安全 审计 + 权限审查
网络 Zabbix / Prometheus
日志 ELK / Splunk

六、最佳实践建议(经验)

✅ 不要长期使用 PUBLIC DB LINK
✅ 尽量用 物化视图 / 中间表 替代实时 DB Link
✅ DB Link 账号 只读、低权限
✅ 关键链路做 双 DB Link 容灾


如果你愿意,可以告诉我:

  • Oracle 版本(11g / 12c / 19c)
  • 是本地还是云
  • 想监控「稳定性 / 性能 / 安全」哪一块

我可以直接给你一套可执行的监控方案或脚本包。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手