温馨提示×

温馨提示×

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

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

DB Link连接数怎么查

发布时间:2026-07-02 23:17:47 来源:亿速云 阅读:93 作者:小樊 栏目:数据库

“DB Link 连接数怎么查”这个问题,需要先明确数据库类型DB Link 的使用方式,不同数据库查法完全不同。下面按常见数据库分别说明,先给你最常用的 Oracle 方案,再补充其他数据库。


一、Oracle 数据库(最常见)

1️⃣ 查看当前通过 DB Link 产生的会话

DB Link 本质上是源库到目标库的连接会话,可以在目标库上查。

✅ 在目标库执行

SELECT
    username,
    machine,
    program,
    status,
    COUNT(*) AS session_cnt
FROM
    v$session
WHERE
    machine IS NOT NULL
GROUP BY
    username, machine, program, status
ORDER BY
    session_cnt DESC;

或者更精确地:

SELECT
    s.sid,
    s.serial#,
    s.username,
    s.machine,
    s.program,
    s.status,
    s.logon_time
FROM
    v$session s
WHERE
    s.program LIKE '%oracle%'
   OR s.username IS NOT NULL;

⚠️ 注意:
DB Link 会话在目标库上表现为普通会话,不一定能直接区分是不是 DB Link,除非你在源库做限制或使用特定用户。


2️⃣ 查看当前数据库 DB Link 使用情况(源库)

SELECT * FROM v$dblink;

说明:

  • v$dblink:当前 session 正在使用的 DB Link
  • 只反映当前会话
  • 不反映历史连接数

3️⃣ 查看 DB Link 定义

SELECT db_link, owner, username, host
FROM dba_db_links;

4️⃣ 查看 DB Link 相关进程(OS 层)

在目标库服务器上:

ps -ef | grep oracle

结合 v$sessionprocess 字段定位。


二、Oracle 中估算 DB Link 连接数的常用方法 ✅

位置 查什么 含义
目标库 v$session DB Link 实际占用连接
源库 v$dblink 当前使用的 DB Link
目标库 v$process 进程数
目标库 v$license 当前会话数

例如:

SELECT COUNT(*) FROM v$session;
SELECT COUNT(*) FROM v$process;

三、MySQL(FEDERATED / 应用层 DB Link)

MySQL 没有 Oracle 那样的 DB Link

1️⃣ 查看连接数

SHOW PROCESSLIST;

SHOW STATUS LIKE 'Threads_connected';

2️⃣ 查看连接来源

SELECT host, user, COUNT(*)
FROM information_schema.processlist
GROUP BY host, user;

四、PostgreSQL(dblink 插件)

1️⃣ 普通连接数

SELECT COUNT(*) FROM pg_stat_activity;

2️⃣ 查看 dblink 使用(需插件)

SELECT * FROM pg_stat_activity
WHERE application_name LIKE '%dblink%';

五、如何判断“是不是 DB Link 占满连接?”

常见问题:

  • 目标库连接数暴涨
  • 应用没变,但连接数升高
  • 源库大量使用 DB Link

排查思路

  1. 在目标库查 v$session.machine
  2. 看是否来自源库主机
  3. 看用户是否为 DB Link 用户
  4. 查看 v$session.program

六、总结一句话 ✅

DB Link 没有专门的“连接数”视图,必须通过目标库的会话 / 进程来判断,Oracle 中最常用的是 v$sessionv$process


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

  • 数据库类型(Oracle / MySQL / PG)
  • 源库还是目标库
  • 想查的是实时连接数还是历史峰值

我可以给你一个直接可执行的排查 SQL 套装

向AI问一下细节

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

AI