DB Link 用于在一个 Oracle 数据库中访问另一个 Oracle 数据库中的对象(表、视图等),下面分享一下 Oracle 数据库中 DB Link(Database Link)的常用操作汇总,包含查询、创建、使用和删除,并配有必要说明和注意事项,可以高效地管理和使用 Oracle 数据库中的 DB Link,实现跨数据库的数据访问,适合日常运维和开发参考。
查询 DB Link
要查看数据库中的 DB Link,可以使用以下 SQL 语句:
-- 查看当前用户创建的 DB Link
SELECT * FROM USER_DB_LINKS;
-- 查看所有用户的 DBLink(需要DBA权限)
SELECT * FROM DBA_DB_LINKS;
-- 查看当前用户可访问的所有 DBLink
SELECT * FROM ALL_DB_LINKS;
创建 DB Link
创建一个新的 DB Link 需要指定远程数据库的连接信息:
-- 创建私有 DBLink(只对创建者可见)
CREATE DATABASE LINK my_dblink
CONNECT TO remote_user IDENTIFIED BY "remote_password"
USING '(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
(CONNECT_DATA = (SERVICE_NAME = orcl)))';
-- 创建公共 DBLink(所有用户可用,需要管理员权限)
CREATE PUBLIC DATABASE LINK public_dblink
CONNECT TO remote_user IDENTIFIED BY "remote_password"
USING '(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
(CONNECT_DATA = (SERVICE_NAME = orcl)))';
例如:创建一个名为 yunying 的 DB Link(数据库链接)
CREATE DATABASE LINK yunying
CONNECT TO yunying IDENTIFIED BY yunying
USING
'(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.7.104)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = yunying)
)
)';
![图片[1]-Oracle 数据库中查询、创建、使用和删除 DB Link(数据库链接)的方法-十一张](https://www.11zhang.com/wp-content/uploads/2026/05/4a47a0db6e20260527104929.webp)
使用 DB Link
通过 DB Link 查询远程数据库中的表:
SELECT * FROM employees@my_dblink;
删除 DB Link
删除已存在的 DB Link:
-- 删除私有 DBLink
DROP DATABASE LINK my_dblink;
-- 删除公共 DBLink(需要管理员权限)
DROP PUBLIC DATABASE LINK public_dblink;
常见问题
问题 | 说明 |
|---|---|
ORA-12170 | 网络不通 / 防火墙未放行 |
ORA-12514 | SERVICE_NAME 错误 |
ORA-02085 | GLOBAL_NAMES 参数限制 |
性能慢 | 远程大表 JOIN、函数调用 |
安全风险 | 明文密码、公共 DB Link |
![图片[2]-Oracle 数据库中查询、创建、使用和删除 DB Link(数据库链接)的方法-十一张](https://www.11zhang.com/wp-content/uploads/2026/05/8254a4657f20260527104337.webp)
注意事项
1、权限要求:创建或删除公共 DB Link 需要管理员权限。
2、密码大小写:确保密码用双引号括起来,避免大小写问题。
3、DDL 限制:DB Link 不支持跨数据库执行 DDL 操作。
THE END







暂无评论内容