20191年12月21日 (如何创建DBLINK)

 

  

1. DBLink 的作用是在局域网内,通过一台服务器上面的数据库访问另外一台服务器上面数据库的功能。

下面简单的介绍DBLink的配置:

服务器A:IP 192.168.1.10, 数据库实例名:orcl 数据库登录:test/test

服务器B:IP 192.168.1.1,   数据库实例名:orcl 数据库登录:user/user

在A服务器上的数据库可以访问服务器B的数据库时就需要用到dblink

2.首先打开plsql,选择到DbLink 

3.有点点击new,进入编辑界面,分别输入dblink的名称,需要链接到另外一个数据库的用户名、密码、实例名等信息。填写核对无误后点击左下角的apply,进行保存。这样你的第一个dblink就创建好了

4.当然还可以直接用语句创建dblink。create public database link MyFirstDblink connect to user identified by "123456" USING '192.168.1.1/orcl'

5.语句创建好后,选中这条语句,点击执行按钮,或者F8快捷键保存。

6.这时候就可以使用查询语句啦,在表名称后面加@字符,便会自动出现你添加的DBLINK名称

7.当然还可以使用更新、删除语句啦。是不是很简单呢,有了dblink操作别人的数据库就更简单啦

 

然后 就是 oracle中“ORA-00060: 等待资源时检测到死锁” 或存储过程编译卡死 解决方法 

之前在调试存储过程时,出现卡死情况,无法插入数据

解决方法

 1、查看那些表被锁住---
 select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;

2、查看引起死锁的会话:

3、查看引起死锁会话-- select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time;

3、查看被阻塞的会话:

select * from dba_waiters;

4、释放锁或者杀掉ORACLE进程:

alter system kill session 'sid,serial#';

具体情况根据每个人情况不一样,sid,serial#的值也不一样

今天的总结就这些,睡觉了

达梦数据库(DM)中创建数据库链接(DBLink)是一种实现跨数据库访问的方式,允许本地数据库像访问本地表一样访问远程数据库中的数据。根据不同的需求和远程数据库的类型,DBLink创建方式也有所不同。以下是达梦数据库创建DBLink的方法和相关说明。 ### 创建本地达梦数据库之间的DBLink 在本地达梦数据库中访问另一个达梦数据库实例的数据时,可以通过DPI(Database Programming Interface)方式创建DBLink。该方式适用于达梦数据库之间的连接,并且需要确保远程数据库的监听端口可被访问。 **语法格式:** ```sql CREATE OR REPLACE LINK link_name CONNECT 'DPI' WITH user_name IDENTIFIED BY password USING 'host:port'; ``` **参数说明:** - `link_name`:DBLink的名称,用于后续访问远程表。 - `user_name`:远程数据库的用户名。 - `password`:远程数据库用户的密码,若密码中包含特殊字符,需要用双引号包裹。 - `host:port`:远程达梦数据库的IP地址和监听端口号。 **示例:** ```sql CREATE OR REPLACE LINK DM_LINK CONNECT 'DPI' WITH SYSDBA IDENTIFIED BY "Dameng123" USING '192.168.56.209:5236'; ``` 该语句创建了一个名为 `DM_LINK` 的DBLink,用于连接位于 `192.168.56.209:5236` 的达梦数据库实例,使用用户 `SYSDBA` 和密码 `"Dameng123"` 进行身份验证[^5]。 --- ### 创建达梦数据库到其他数据库DBLink(如Oracle) 达梦数据库支持创建DBLink连接到其他类型的数据库,例如Oracle。此时需要使用对应数据库的标识符(如 `ORACLE`)以及符合目标数据库要求的连接字符串。 **语法格式:** ```sql CREATE OR REPLACE LINK link_name CONNECT 'ORACLE' WITH user_name IDENTIFIED BY password USING 'tns_string'; ``` **参数说明:** - `tns_string`:Oracle数据库的TNS连接字符串,包含主机地址、端口、服务名等信息。 **示例:** ```sql CREATE OR REPLACE LINK ORA_LINK CONNECT 'ORACLE' WITH scott IDENTIFIED BY tiger USING '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.0.1)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orcl)))'; ``` 该语句创建了一个名为 `ORA_LINK` 的DBLink,用于连接Oracle数据库,使用用户 `scott` 和密码 `tiger`,并通过指定的TNS字符串进行连接[^4]。 --- ### 使用DBLink访问远程数据 创建DBLink后,可以通过SQL语句访问远程数据库中的表。语法如下: ```sql SELECT * FROM remote_table@link_name; ``` **示例:** ```sql SELECT * FROM employees@DM_LINK; ``` 该语句将从远程达梦数据库中查询 `employees` 表的数据,前提是该表在远程数据库中存在且当前用户有访问权限。 --- ### 注意事项 - 在创建DBLink时,如果用户名或密码中包含特殊字符,必须使用英文双引号将其包裹。 - 确保网络可达性,即本地数据库服务器能够访问远程数据库的IP和端口。 - 对于达梦数据库之间的连接,推荐使用DPI方式,而与其他数据库(如Oracle)连接时则使用对应的数据库标识符。 - DBLink可以是私有(不加 `PUBLIC`)或公共(加 `PUBLIC`)的,公共DBLink可供所有用户使用。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值