创建DBlink

本文介绍如何使用SQL语句在Oracle数据库中创建公共数据库链接DBLink,实现跨数据库查询和操作。详细步骤包括设置连接字符串、创建DBLink及验证其是否成功。

1 DBlink用途:在当前连接的数据库里查询或操作其他数据库连接的数据或结构等,与oracle实例不同

2 SQl语句:

CREATE PUBLIC DATABASE LINK braveliuDBLink
CONNECT TO "***" IDENTIFIED BY "***"
USING
'(description=(address_list=(address=(protocol=TCP)(host=10.248.7.43)(port=1521)))
(connect_data=(service_name= ***)))'

注意数据库用户名与密码放到引号里,不然将提示用户名密码不正确甚至造成锁库

3 测试:select * from dual@braveliuDBLink如果有值说明创建成功

转载于:https://www.cnblogs.com/braveliuchina/p/4103331.html

在 Oracle 数据库中,建立 **DBLink(Database Link)** 的基本语法如下: --- ### ✅ 建立 DBLink 的标准语法: ```sql CREATE [OR REPLACE] DATABASE LINK dblink_name CONNECT TO remote_username IDENTIFIED BY remote_password USING 'tns_alias_or_connection_string'; ``` --- ### 🔍 各参数说明: - `dblink_name`:你为数据库链接起的名字,如 `my_dblink`。 - `remote_username`:远程数据库的用户名。 - `remote_password`:远程数据库用户的密码。 - `tns_alias_or_connection_string`:远程数据库的连接描述符,可以是: - `tnsnames.ora` 中定义的别名(如 `'ORCL'`) - 或者使用完整连接字符串(如 `(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orcl)))`) --- ### ✅ 示例 1:使用 TNS 别名创建 DBLink ```sql CREATE DATABASE LINK remote_db CONNECT TO scott IDENTIFIED BY tiger USING 'ORCL'; ``` --- ### ✅ 示例 2:使用完整连接字符串创建(免 TNS 配置) ```sql CREATE DATABASE LINK remote_db CONNECT TO scott IDENTIFIED BY tiger USING '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orcl)))'; ``` --- ### ✅ 示例 3:带 OR REPLACE(避免重复创建报错) ```sql CREATE OR REPLACE DATABASE LINK remote_db CONNECT TO scott IDENTIFIED BY tiger USING 'ORCL'; ``` --- ### ✅ 使用 DBLink 查询远程数据: ```sql SELECT * FROM emp@remote_db; ``` --- ### 🔒 权限说明: 创建 DBLink 需要 `CREATE DATABASE LINK` 权限: ```sql GRANT CREATE DATABASE LINK TO your_user; ``` --- ### 📌 注意事项: - DBLink 名称在同一个用户下不能重复。 - 如果使用连接字符串,确保 Oracle 服务器能解析远程主机名或 IP。 - 使用 `tns_alias` 时,需确保 `tnsnames.ora` 文件配置正确。 - DBLink 可能涉及性能问题,尤其是跨地域网络访问时。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值