plsql调试存储过程卡住的原因以及处理
用PLSQL调试存储过程的时候,经常会遇到这个的情况,点调试后,继续点单步都是灰色,想停下来,但是取消也要点很多次才能取消掉。
就像下面的情况:

一直以为是个BUG,直到最近有人告诉我了真相。
出现这个问题的原因,是因为
1:调试存储过程要发起两个会话(运行、调试)
2:我们plsql的默认配置会话方式,是多路会话(工具-首选项-连接)(关于这个详见:https://www.cnblogs.com/kerrycode/p/4100865.html)。
如果在rac环境,实际PLSQL每次新增一个会话,数据都会根据自身情况随机分配instance。不信的话可以开不同的窗口运行
select * from v$instance 看结果。
3:plsql发起调试,数据库如果把调试和运行的会话分配给了不同的instance,这时候,就会出现上面的情况。
解决问题的办法有两个:
1:把plsql的会话改为双路(单路不能调试),但是这个有个缺点,就是双路只能有一个SQL在运行。也就是说,你调试存储过程的时候,不能在这个打开的plsql做其他任何其他事情。
2:修改tns,改为指定instance。在tns配置中加上instance,比如:
不给看=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 不给看.不给看.不给看.不给看 )(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)(SERVICE_NAME = 不给看)(instance_name= 不给看)
)
)
这样就可以了。
plsql调试存储过程卡住的原因以及处理的更多相关文章
- PLSQL Developer调试 存储过程和触发器
1. 打开PL/SQL Developer如果 在机器上安装了PL/SQL Developer的话,打开PL/SQL Developer界面输入 用户名,密码和host名字,这个跟在程序中web.co ...
- Mysql调试存储过程最简单的方法
以前同事告诉我用临时表插入变量数据来查看,但是这种方法过于麻烦,而且Mysql没有比较好的调试存储过程的工具.今天google了下发现可以用select + 变量名的方法来调试...真是让我汗颜啊. ...
- 存储过程系列之调试存储过程 SQL Server 2005
在数据库中直接调试 在数据库中直接调试是调试SQL Server 2005的存储过程的最简单的方法. 在Visual Stuido的IDE中你可以选择单步执行存储过程,然后就可以一条语句一条语句地单 ...
- 如何oracle调试存储过程
1.打开PL/SQL Developer 如果在机器上安装了PL/SQL Developer的话,打开PL/SQL Developer界面 输入用户名,密码和host名字,这个跟在程序中web.con ...
- Plsql工具单步调试 存储过程或是 函数(oracle数据库)-留着自己用的
<案例1> 原地址: http://jingyan.baidu.com/article/3a2f7c2e144d2826aed61167.html 调试过程对找到一个存过的bug或错误是非 ...
- 查看Oracle中存储过程长时间被卡住的原因
1:查V$DB_OBJECT_CACHE SELECT * FROM V$DB_OBJECT_CACHE WHERE name='CUX_OE_ORDER_RPT_PKG' AND LOCKS!='0 ...
- 调试存储过程时提示ORA-20000: ORU-10027: buffer overflow
下午的时候在 PL/SQl Developer 10.0.5.1710 上调试壹個存储过程,在调试的时候使用了比较多的 DBMS_OUTPUT.PUT_LINE 作为打印日志的方式,结果没过多久 PL ...
- oracle如何调试存储过程
oracle如果存储过程比较复杂,我们要定位到错误就比较困难,那么可以存储过程的调试功能 先按简单的存储过程做个例子,就是上次做的存储过程(proc_test) 1.先在数据库的procedures文 ...
- Oracle SQL Developer 调试存储过程步骤(Oracle)
1.首先你编译通过你的存储过程,编译的时候一定要选“编译以进行调试”. 2.在想要调试的行上设置好断点. 3.点击“调试”按钮,然后输入存储过程入参,点“确定”开始调试. 4.断点进入后,上方会出现一 ...
随机推荐
- 凉凉了,Eureka 宣布闭源,Spring Cloud 何去何从?
今年 Dubbo 活了,并且被 Apache 收了.同时很不幸,Spring Cloud 下的 Netflix Eureka 组件项目居然宣布闭源了.. 已经从 Dubbo 迁移至 Spring Cl ...
- Tomcat简介
Tomcat简单的说就是一个运行JAVA的网络服务器,底层是Socket的一个程序,它也是JSP和Serlvet的一个容器. 如果你学过html,css,你会知道你写的页面只能自己访问,别人不能远程访 ...
- scrapy爬虫--苏宁图书
实现业务逻辑如下: 1. 创建scrapy项目,并生成 爬虫2. 在suning.py中实现Schedul 和 Spider业务逻辑3. 修改start_urls为正确的初始请求地址4. 构造pars ...
- [每天解决一问题系列 - 0007] 如何创建Catalog并用其签名
问题描述: 校验一组文件的完整性 解决方法: https://msdn.microsoft.com/en-us/library/windows/desktop/aa386967(v=vs.85).as ...
- c++创建二维动态数组与内存释放
如下: #include <iostream> #include <windows.h> using namespace std; int main() { cout < ...
- rsync排除多个文件实现同步
首先创建exclude目录放入xx.list排除文件. [root@localhost tmp]# cat /exclude/a_exclude.list a.txt lai ———————————— ...
- Postgresql ---plv8扩展(windows下安装过程)
Postgresql下plv8安装过程其实很简单,但是在网络上搜集了半天都没有找到一篇满意的安装文档,现在总结如下: 1.下载和PostgreSQL相对应的plv8版本,下载地址如下: http:// ...
- 获取 BaiduMapSDKDemo SHA1 签名
用 Android Studio 1.5 运行 BaiduMapsApiASDemo 时,显示 key 验证出错. 原因在于用 keytool -list -keystore debug.keysto ...
- 等宽高的ImageButton
@SuppressLint("AppCompatCustomView") public class SquareImageButton extends ImageButton { ...
- 初入SpringBoot——使用IDEA构建最小SpringBootDemo
前言 从SpringBoot一出现,就开始关注这个东西了. 但是一直不敢使用,因为一个原则是刚出来的东西肯定有很多坑.而且之后会不会流行也需要时间的检验. 现在渐渐的时间检验之后,SpringBoot ...