我在Oracle SQL Developer中执行以下步骤(逐步使用F-9):
create database link mydb connect to my_schema identified by mypwd using 'connection1';
select * from users where id = 1;
rollback;
ALTER SESSION CLOSE DATABASE LINK mydb;
drop database link mydb;当我试图关闭数据库链接时,会得到一个错误:
SQL : ORA-02080:数据库链接正在使用02080。00000 -“数据库链接正在使用” *原因:在alter数据库链接命令中给出的数据库链接上,事务处于活动状态或游标被打开。 *操作:提交或回滚,并关闭所有游标
事务已经完成,但是当我执行select * from V$DBLINK;时,我看到仍然有一个打开的游标,但是我不知道如何关闭这个游标。
发布于 2015-05-26 15:07:25
只要“查询结果”选项卡是打开的,即使您滚动到结果集的末尾,光标也是打开的。如果关闭该选项卡,光标将被释放,您将能够关闭并删除数据库链接。
或者,如果您在preferences中的“在新选项卡中显示查询结果”框_un_checked,在数据库->工作表下,您可以运行另一个查询,它不将链接引用为语句,这将重用相同的结果选项卡并关闭前面的游标。当然,如果选中了该框,那也于事无补。
如果您要删除它,那么实际上并不需要单独的关闭步骤;如果您只是在没有关闭的情况下删除它,则不需要回滚,甚至不需要关闭结果集。
如果您将所有命令作为脚本(F5)运行,而不是以单个语句的形式运行,则不会看到错误;但是您的数据将与其他所有内容一起显示在“脚本输出”窗口中,而不是在“查询结果”数据网格中。
https://stackoverflow.com/questions/30460041
复制相似问题