修改 DB Link(数据库链接) 的配置,取决于你使用的是哪种数据库。下面以 Oracle 为主进行说明(最常见),并简要补充 PostgreSQL / MySQL 的情况。
SELECT db_link, username, host FROM user_db_links;
-- 或
SELECT * FROM dba_db_links;
⚠️ Oracle 不支持直接 ALTER DATABASE LINK
修改 DB Link 实际上是 先删除再重建
DROP DATABASE LINK dblink_name;
如果是 公共同义词 / 公共 DB Link:
DROP PUBLIC DATABASE LINK dblink_name;
CREATE DATABASE LINK dblink_name
CONNECT TO remote_user IDENTIFIED BY "new_password"
USING 'remote_tns';
CREATE DATABASE LINK dblink_name
CONNECT TO remote_user IDENTIFIED BY password
USING '(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=new_host)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=new_service)))';
CREATE PUBLIC DATABASE LINK dblink_name
CONNECT TO remote_user IDENTIFIED BY password
USING 'remote_tns';
| 修改内容 | 做法 |
|---|---|
| 修改远程数据库 IP / 端口 | 重建 DB Link |
| 修改远程用户 / 密码 | 重建 DB Link |
| 修改 TNS 名称 | 修改 USING 部分 |
| 修改连接协议 | 修改 USING 描述 |
SELECT * FROM dual@dblink_name;
PostgreSQL 没有“数据库链接对象”,而是 函数调用:
SELECT dblink_connect('conn_name', 'host=new_host port=5432 dbname=db user=u password=p');
ALTER TABLE federated_table
ENGINE=FEDERATED
CONNECTION='mysql://user:password@host:3306/db/table';
✅ 权限要求
CREATE DATABASE LINK / DROP DATABASE LINKCREATE PUBLIC DATABASE LINK✅ 密码特殊字符
✅ 影响范围
✅ 生产环境建议
请告诉我:
我可以给你 可直接执行的完整 SQL。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。