Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle ctrl+;c终止用户sqlplus连接_Oracle_Sqlplus_Ctrl - Fatal编程技术网

Oracle ctrl+;c终止用户sqlplus连接

Oracle ctrl+;c终止用户sqlplus连接,oracle,sqlplus,ctrl,Oracle,Sqlplus,Ctrl,(很抱歉文章太长,但这将有助于提供清晰的图片) DB:Oracle 12c 主机:Linux 6.10 服务器位置:Chi和Boston 最近,我们将Oracle数据库移动到位于波士顿的新服务器位置,该位置位于不同的网络上。我们在两台服务器上都有多个数据库 问题:ctrl+c会在用户跨不同服务器/网络位置连接时断开与sqlplus会话的连接 错误:ORA-03135:连接失去联系 两个位置的Oracle客户端版本相同 例如: 1.来自Chi的用户启动了sqlplus会话并连接到波士顿的数据库,执

(很抱歉文章太长,但这将有助于提供清晰的图片)
DB:Oracle 12c
主机:Linux 6.10
服务器位置:Chi和Boston

最近,我们将Oracle数据库移动到位于波士顿的新服务器位置,该位置位于不同的网络上。我们在两台服务器上都有多个数据库

问题:ctrl+c会在用户跨不同服务器/网络位置连接时断开与sqlplus会话的连接

错误:ORA-03135:连接失去联系

两个位置的Oracle客户端版本相同

例如: 1.来自Chi的用户启动了sqlplus会话并连接到波士顿的数据库,执行ctrl+c以终止当前查询,但不是终止查询并返回sqlplus提示符,而是会话断开,他必须再次登录

  • 来自波士顿的用户启动了sqlplus会话并连接到芝加哥的数据库,使用ctrl+c终止查询,但他的会话断开连接,他必须再次登录,而不是使用sqlplus提示符返回
  • 若用户在同一网络上连接到任何数据库,则ctrl+c不会断开会话连接。(Chi->Chi工作正常,Bos->Bos工作正常)

    网络团队或Linux系统管理员没有发现任何问题,也不想花时间进行调查

    我不知怎的感觉到网络之间的某些东西并没有正确地解释ctrl+c发送SIGINT信号。我不是网络专家,也没有经历过类似的行为


    有人知道是什么导致会话断开连接或任何指针吗?

    sqlplus.exe基本上总是有一个bug。它至少在2000年左右就已经出现在这个工具中(如果我没记错的话,大约是3.x版)。运行一个查询,当输出在屏幕上滚动时,只需按Ctrl+C一次,如果您在错误的时刻捕获了整个工具退出的查询。这个bug最大的问题之一是Oracle似乎不愿意承认这个bug的存在,更不用说修复它了。当错误发生时,至少有两种情况,其中一种情况很容易重现——运行查询、查询所需时间、再次运行查询以及接近结束时——但当数据仍在屏幕上滚动时——只需按Ctrl C一次。可能需要一两次尝试才能找到正确的时机,但只要稍加努力,就可以重现错误。在这个场景中发生的事情很容易理解,当您按下Ctrl+C时,与数据库的交互已经停止——但是如果屏幕正在滚动,那么您怎么知道您已经接近查询的末尾了呢?一般来说,不可能保证在这个错误的机会窗口中您永远不会按ctrl+C键——我无法理解为什么有人会说这不是一个bug

    当错误发生时,至少还有一种情况,但一般来说很难重现——除了当它发生时,在那个时候很容易重现,所以我怀疑在与数据库的通信中存在某种定时问题。运行一个查询,假设您意识到where子句将返回大量数据,因此当它开始显示数据时,按Ctrl+C。通常这是安全的,但偶尔也不安全-工具将退出。如果发生这种情况,请重新启动sqlplus并重新运行相同的查询,在开始滚动后再次按Ctrl+C键-工具将再次退出。我曾多次意外地运行此测试。当这种情况发生时,您可以一遍又一遍地进行相同的测试,作为娱乐,在我回去工作之前(通过输入正确的where子句,而不是按Ctrl+C),我已经连续中断了至少六次会话


    不管怎么说,问题是,每当有人回答你的问题时,你应该小心地只按Ctrl C一次,这是非常令人沮丧的。这绝对不能保证您在运行sqlplus.exe时是安全的

    这是我很久以来就知道的行为;不知道为什么会这样,但是-确实如此。@ChristianGibbons,删除了c标记,谢谢您没有意识到。@APC SQLcl Ctrl+c将向DB发送取消消息,并将您带回SQL提示符。如果您不耐烦,在我们响应第一个请求之前再次按Ctrl c,您将退出程序,返回cmd/bash shellprompt@thatjeffsmith-谢谢你的信息。我打算在寒假期间玩
    sqlcl
    ,因为我还没有得到工作的机会:(这里描述:。