温馨提示×

温馨提示×

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

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

数据库DB Link如何备份

发布时间:2026-09-08 16:25:58 来源:亿速云 阅读:95 作者:小樊 栏目:数据库

数据库 DB Link(数据库链接) 的“备份”并不是像表数据那样直接导出数据,而是备份其定义(创建语句),因为 DB Link 本身只是一个指向其他数据库的“连接对象”。

下面按常见数据库说明 如何备份 DB Link


一、Oracle 数据库(最常见)

1️⃣ 查看已有 DB Link

SELECT db_link, username, host FROM user_db_links;
-- 或
SELECT * FROM dba_db_links;

2️⃣ 生成创建语句(备份)

Oracle 不提供直接导出 DB Link 的工具,一般通过 SQL 生成:

SELECT 'CREATE DATABASE LINK ' || db_link ||
       ' CONNECT TO ' || username ||
       ' IDENTIFIED BY <密码> ' ||
       ' USING ''' || host || ''';'
FROM user_db_links;

⚠️ 注意:

  • 密码不会显示,需要手动补充
  • 生产环境建议脚本化生成

3️⃣ 使用 expdp / impdp(推荐)

expdp system/password DIRECTORY=dp_dir \
  FULL=Y INCLUDE=DB_LINK

恢复:

impdp system/password DIRECTORY=dp_dir \
  FULL=Y INCLUDE=DB_LINK

二、MySQL(无原生 DB Link)

MySQL 没有 DB Link,常用替代方案:

1️⃣ Federated 表

备份方式:

  • 备份 CREATE TABLE 语句
  • 记录 CONNECTION 字符串
SHOW CREATE TABLE remote_table;

2️⃣ MySQL 8+ 使用 MySQL Router / 视图

  • 备份视图定义
  • 记录远程连接配置

三、PostgreSQL(dblink / postgres_fdw)

1️⃣ 备份 Foreign Server & User Mapping

SELECT * FROM pg_foreign_server;
SELECT * FROM pg_user_mappings;

2️⃣ 生成创建语句

pg_dump -h localhost -U user dbname \
  --schema=public > backup.sql

或单独导出:

pg_dumpall --globals-only

四、SQL Server(Linked Server)

1️⃣ 查看 Linked Server

EXEC sp_linkedservers;

2️⃣ 使用 SSMS 备份

  • 对象资源管理器
  • Server Objects → Linked Servers
  • 右键 → 编写脚本为 → CREATE

3️⃣ 使用脚本

SELECT * FROM sys.servers;

五、通用最佳实践

✅ 备份内容:

  • DB Link 名称
  • 远程库地址
  • 连接方式(TNS / IP / Service Name)
  • 用户名(密码单独管理)

✅ 建议:

  • 密码存于 密钥管理(Vault / KMS)
  • DB Link 定义纳入 版本控制(Git)
  • 灾备环境自动重建脚本

六、总结一句话

DB Link 的备份 = 备份“创建语句 + 连接配置”,而不是数据本身。

如果你告诉我:

  • 使用的数据库类型(Oracle / PG / SQL Server)
  • 是否要自动化备份

我可以直接给你可执行的备份脚本

向AI问一下细节

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

AI