数据库 DB Link(数据库链接)报错 是很常见的问题,排查思路通常有固定套路。下面我按「先定位 → 再分类 → 给解决方案」来说明,你可以对照自己的报错信息来用。
常见报错关键词(以 Oracle 为例):
ORA-12154: TNS:could not resolve the connect identifierORA-12541: TNS:no listenerORA-12545: Connect failed because target host or object does not existORA-02019: connection description for remote database not foundORA-01017: invalid username/passwordORA-28500 / ORA-02063(异构 DB Link)现象:ORA-12154
✅ 检查:
tnsping <远程服务名>
❌ 不通 → 说明:
tnsnames.ora 没配置✅ 解决:
tnsnames.ora 中正确配置远程库CREATE DATABASE LINK dblink_name
CONNECT TO remote_user IDENTIFIED BY password
USING '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ip)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orcl)))';
现象:ORA-12541 / ORA-12545
✅ 检查:
telnet ip 1521
lsnrctl status
✅ 解决:
现象:ORA-01017
✅ 检查:
✅ 建议:
ALTER USER remote_user IDENTIFIED BY new_password;
现象:ORA-02019
✅ 检查:
SELECT * FROM user_db_links;
✅ 确认:
USING 指向的服务是否存在如 Oracle → MySQL / PostgreSQL
❗ 需要:
hs 参数listener.ora 增加 SID_LIST常见错误:
ORA-28500ORA-02063✅ 这一般不是简单权限问题,需要网关配置
✅ 当前用户要有:
CREATE DATABASE LINK
或
CREATE PUBLIC DATABASE LINK
tnsping 是否通你可以直接把 完整报错信息 + 数据库类型(Oracle / MySQL / PG) 发出来,例如:
Oracle 19c,创建 DB Link 后查询报 ORA-12154
我可以一步一步帮你定位 ✅
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。