水煮oracle40----oracle调试工具对比使用

简介:
     工欲善其事,必先利其器!学习oracle也是如此,掌握其工具的使用,也是对于我们学习oracle的重要武器,对比oracle第三方工具PL/SQL developer和Toad for oracle 12对plsql程序的调试功能!
1.调试前提

plsqlDev和toad调试功能都是利用包dbms_debug包实现的,首先查询该package是否安装:
sql>select status from dba_objects where object_name=upper('dbms_debug');

dbms_debug包的安装,以sys用户登录后运行: sql> @?/rdbms/admin/prvtpb.plb

在利用plsqlDevIDE做调试时,有时会发生失去响应,此时可执行
sql>alter system flush shared_pool              试试,

如果还不行,建议改用TOAD来调试。plsqlDev在调试这一块做的不完善。

关于调试权限

Debug当前schema的过程,则必须给当前shema对应的用户授如下权限:

例如soctt要调试scott.myfunction
则以sys执行
sql>grant debug connect session to SCOTT;

Debug其它schema的过程,可以加debug any procedure 权限调试

或是只针对单个被调试的过程授权 grant debug on “过程” to “调试用户”;

特别注意:

将存储过程执行编译后,才可以执行单步调试(PL/SQL DEVELOPER和TOAD都是必须首先执行编译)。

示例:将函数DAY编译成调试状态:

sql>ALTER FUNCTION DAY COMPILE DEBUG

去除函数DAY的调试信息,执行
sql>
ALTER FUNCTION DAY COMPILE。

查看某对象是否处于调试状态:

sql>SELECT DEBUGINFO
  FROM SYS.ALL_PROBE_OBJECTS PO
 WHERE PO.OWNER = 'DBO'
   AND PO.OBJECT_NAME = 'DAY'
   AND PO.OBJECT_TYPE = 'FUNCTION';

2.TOAD  12对procedure调试(好像plsql块不能单独调试,有朋友知道怎么调试的可以给俺留言,以作补充)
    2.1步骤:
         1》打开“schema browser”-->2》进入“schema browser”-->3》打开procedure-->4》选中要调试的procedure-->5》打开“load in editor”   如下图所示:
       2》进入editor调试界面(注意:首先要编译compile)
3.PL/SQL DEVEPLORE调试
     3.1、调试步骤:
           1》进行编译compile
      2》点击“test”进入调试界面
     3》调试界面
4.PL/SQL DEVEPLORE对plsql块的调试,主要是进入“ test window”
如图:

本文转自ICT时空 dbasdk博客,原文链接: 水煮oracle40----oracle调试工具对比使用   ,如需转载请自行联系原博主。
相关文章
|
2月前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
182 64
|
1月前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
44 7
|
1月前
|
Oracle 关系型数据库 数据库
oracle数据库技巧
【10月更文挑战第25天】oracle数据库技巧
28 6
|
1月前
|
存储 Oracle 关系型数据库
Oracle数据库优化策略
【10月更文挑战第25天】Oracle数据库优化策略
26 5
|
2月前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。
|
2月前
|
监控 Oracle 关系型数据库
Oracle数据库性能优化
【10月更文挑战第16天】Oracle数据库性能优化是
34 1
|
3月前
|
Oracle 关系型数据库 数据库
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
打开oracle数据库报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。 数据库没有备份,无法通过备份去恢复数据库。用户方联系北亚企安数据恢复中心并提供Oracle_Home目录中的所有文件,急需恢复zxfg用户下的数据。 出现“system01.dbf需要更多的恢复来保持一致性”这个报错的原因可能是控制文件损坏、数据文件损坏,数据文件与控制文件的SCN不一致等。数据库恢复工程师对数据库文件进一步检测、分析后,发现sysaux01.dbf文件损坏,有坏块。 修复并启动数据库后仍然有许多查询报错,export和data pump工具使用报错。从数据库层面无法修复数据库。
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
|
2月前
|
SQL 存储 Oracle
Oracle数据库SQL语句详解与应用指南
在数字化时代,数据库已成为各类企业和组织不可或缺的核心组件。Oracle数据库作为业界领先的数据库管理系统之一,广泛应用于各种业务场景。掌握Oracle数据库的SQL语句是数据库管理员、开发人员及运维人员的基本技能。本文将详细介绍Oracle数据库SQL语句的基本概念、语法、应用及最佳实践。一、Or
69 3
|
3月前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—异常断电导致Oracle数据库数据丢失的数据恢复案例
Oracle数据库故障: 机房异常断电后,Oracle数据库启库报错:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。数据库没有备份,归档日志不连续。用户方提供了Oracle数据库的在线文件,需要恢复zxfg用户的数据。 Oracle数据库恢复方案: 检测数据库故障;尝试挂起并修复数据库;解析数据文件。
|
3月前
|
Oracle NoSQL 关系型数据库
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
547 2