监控 Oracle DB Link(数据库链接) 通常从连通性、性能、使用情况和安全性几个维度入手。下面按「可落地做法 + 常用脚本」来说明。
SELECT * FROM dual@db_link_name;
或
SELECT SYSDATE FROM dual@db_link_name;
✅ 建议:
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;
SELECT
sql_id,
sql_text,
executions,
elapsed_time/1e6 AS elapsed_sec
FROM gv$sql
WHERE sql_text LIKE '%@db_link_name%';
SELECT
sql_id,
db_link,
elapsed_time_total/1e6 AS elapsed_sec,
executions_total
FROM dba_hist_sqlstat
WHERE db_link IS NOT NULL;
关注:
DB Link 慢,往往是:
✅ 建议:
SELECT owner, db_link, username, host
FROM dba_db_links;
重点检查:
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 容灾
如果你愿意,可以告诉我:
我可以直接给你一套可执行的监控方案或脚本包。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。