温馨提示×

温馨提示×

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

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

数据库DB Link怎么配置

发布时间:2026-09-08 14:59:52 来源:亿速云 阅读:89 作者:小樊 栏目:数据库

数据库 DB Link(数据库链接) 的配置方式取决于你使用的数据库类型。下面我按常见数据库分别说明,重点放在 Oracle(DB Link 最常见的场景),并补充 MySQL / PostgreSQL 的做法。


一、Oracle 数据库 DB Link 配置

1️⃣ 前提条件

  • CREATE DATABASE LINK 权限(或 CREATE PUBLIC DATABASE LINK
  • 知道目标库:
    • IP / 主机名
    • 端口(默认 1521)
    • Service Name 或 SID
    • 用户名 / 密码

2️⃣ 配置 TNS(可选但推荐)

$ORACLE_HOME/network/admin/tnsnames.ora 中配置:

REMOTE_DB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

3️⃣ 创建 DB Link

✅ 私有 DB Link(仅当前用户可用)

CREATE DATABASE LINK remote_link
CONNECT TO remote_user IDENTIFIED BY "password"
USING 'REMOTE_DB';

✅ 公有 DB Link(所有用户可用)

CREATE PUBLIC DATABASE LINK remote_link
CONNECT TO remote_user IDENTIFIED BY "password"
USING 'REMOTE_DB';

✅ 不使用 TNS,直接写连接串

CREATE DATABASE LINK remote_link
CONNECT TO remote_user IDENTIFIED BY "password"
USING '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orcl)))';

4️⃣ 使用 DB Link

SELECT * FROM emp@remote_link;

5️⃣ 查看 / 删除 DB Link

-- 查看
SELECT * FROM USER_DB_LINKS;

-- 删除
DROP DATABASE LINK remote_link;
-- 或
DROP PUBLIC DATABASE LINK remote_link;

二、MySQL(无 DB Link,用替代方案)

MySQL 没有 DB Link,常用方式:

✅ 方式 1:FEDERATED 引擎

CREATE TABLE remote_emp (
  id INT,
  name VARCHAR(50)
)
ENGINE=FEDERATED
CONNECTION='mysql://user:pwd@192.168.1.100:3306/db/emp';

⚠️ 限制:

  • 只支持 MySQL
  • 性能较差

✅ 方式 2:应用层 / ETL / 中间件

  • MyCat
  • DataX
  • Canal
  • 程序代码中多数据源

三、PostgreSQL(类似 DB Link)

1️⃣ 安装扩展

CREATE EXTENSION dblink;

2️⃣ 使用 dblink

SELECT *
FROM dblink(
  'host=192.168.1.100 port=5432 dbname=test user=pg password=pgpwd',
  'SELECT id, name FROM emp'
) AS t(id int, name text);

四、常见问题排查

✅ 网络是否通(telnet / ping)
✅ 防火墙端口是否开放
✅ 用户名密码是否正确
✅ Oracle 中 Service Name 是否写错
✅ 是否缺少权限


如果你能告诉我:

  • 使用的 数据库类型
  • 同构还是异构
  • 使用场景(查询 / 同步 / 报表)

我可以给你更具体的配置示例。

向AI问一下细节

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

AI