我正在尝试删除数据库链接,但出现此错误“同名的数据库链接具有打开的连接”
删除数据库链接“dbl_prod1” 错误报告 - ORA-02018: 同名的数据库链接具有打开的连接 02018. 00000 - “同名的数据库链接有一个打开的连接” *原因: *行动:
您不能删除与另一个数据库具有活动/打开连接的数据库链接。您必须先明确关闭连接。此博客文章中描述了该过程:https ://odenysenko.wordpress.com/2017/03/09/explicitly-closing-oracle-database-link/
使用以下方法之一显式关闭打开的链接:
- ALTER SESSION CLOSE DATABASE LINK my_db_link;
- 执行 DBMS_SESSION.CLOSE_DATABASE_LINK('my_db_link');
要成功关闭 [a] 数据库链接:
- [的]数据库链接[必须]先打开,否则你会得到ORA-02081:数据库链接未打开
- 所有来自您的会话的分布式事务 [起源],使用此特定数据库链接,必须提交或回滚,否则您将收到 ORA-02080:数据库链接正在使用中
- 通过这个特定的数据库链接 [使用] 远程对象的所有游标必须首先关闭,否则您将得到 ORA-02080: database link is in use
要检查当前是否使用 [a] DB 链接(具有打开的事务和/或打开的游标),可以使用 [the] 下一条 SQL 语句:
select db_link, logged_on, open_cursors, in_transaction
from v$dblink
where db_link like 'my_db_link';
参考:
链接关闭后,您应该可以删除它。