Oracle 数据库中查询、创建、使用和删除 DB Link(数据库链接)的方法

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(数据库链接)的方法-十一张

使用 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(数据库链接)的方法-十一张

注意事项

1、权限要求:创建或删除公共 DB Link 需要管理员权限。
2、密码大小写:确保密码用双引号括起来,避免大小写问题。
3、DDL 限制:DB Link 不支持跨数据库执行 DDL 操作。

© 版权声明
THE END
如果觉得这篇文章对您有帮助,可以收藏本网址,方便下次访问!
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容