Toad学习总结

前端之家收集整理的这篇文章主要介绍了Toad学习总结前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

toad



在Oracle应用程序的开发过程中,访问数据库对象和编写sql程序是一件乏味且耗费时间的工作,对数据库进行日常管理也是需要很多sql


本才能完成的。Quest Software为此提供了高效的Oracle应用开发工具-Toad。在Toad的新版本中,还加入了DBA模块,可以帮助DBA完成许


多日常管理工作。它最大的特点就是简单易用,访问速度快。使用Toad,我们可以通过一个图形化的用户界面快速访问数据库,完成复杂的


sql和PL/sql代码编辑和测试工作。Toad由Oracle开发专家专门为开发人员而设计,是一个功能强大、结构紧凑的专业化PL/sql开发环境。


基本信息
中文名称
toad
快 速
访问数据字典

特 点
用户界面简洁,结构安排合理
通 过
一个图形化的用户界面
目录
1主要特点
2工具比较
3快捷键


模式浏览:


​模式浏览功能可以让我们快速的访问数据字典,浏览数据库中的表、索引、存储过程。Toad 提供对数据库快速访问,使用极为方便,用


户界面简洁,结构安排合理。当我们点击一个单独的数据库对象,Toad立即显示此对象的详细信息。例如,当我们点一个数据库的表,所有


和此表相关的索引、约束、存储过程、sql语句以及和其他表的相互引用关系都在同一界面显示出来。为了简化操作,用户可以在浏览窗口


操作数据库对象。


sql编辑器:


sql 编辑器的主要功能是编辑、运行和调整sql语句。TOAD 的高级编辑窗口包括众多的特性来提高开发人员编写sql语句的产品化程度。例


如,简单地生成代码模板,在编写sql自动发现包的内容和列的名字等。


sql编辑器包括一个编辑窗口和运行结果窗口,允许开发人员在编辑的过程中测试运行结果。sql编辑器中不仅包括标准的编辑命令,也包括


一些增强的功能,如快速查询表中的字段、将sql语句的内容格式化等等。这个窗口可以处理大到4GB 的内容,对大的开发项目来说非常有


用。便捷的书签可以让开发人员非常容易地找到相关位置。在运行结果窗口可提供用户定义的配置功能支持LONG 和LONG RAW列,可以将


数据卸出到磁盘、打印数据、编辑数据等等。


存储过程编辑器:


存储过程编辑器的主要功能是编辑、编译、测试、调试存储过程和触发器。TOAD提供语法标识、错误标识和其他很多易于使用的功能,如在


弹出窗口显示表名、列名和Oracle函数。和其他的 PL/sql 编辑工具不同,TOAD 允许在一个文件中操作多个数据库对象,可以编译一个对


象、编译多个对象、编译到当前光标、从光标开始编译。在运行出现错误时,存储过程停止到有问题的语句。用户可以使用快捷方式或模板


快速编写PL/sql,也可以根据需要生成自己的模板。使用Toad可以非常方便地进行编辑工作,可如设置书签、取消注释、格式化sql语句等


等。


PL/sqlDebugger选项:


Toad 提供简单易用的PL/sql 调试功能,可以节省开发人员在大型项目中用于开发和测试的宝贵时间,提高应用开发的质量。在存储过程开


发的过程中,Toad可以逐行编辑、调试和运行代码。运行时可以根据需要输入参数,观察相关参数的变化来检查存储过程的正确性。在调式


过程中,Toad 可以通过窗口显示所有的断点、参数,调用堆栈和输出参数。使用Toad,非常容易检测到存储过程的错误,开发人员可以一


步一步运行PL/sql语句来识别问题。调试会话可以和其他程序会话同时进行。


sqlabXpertOption:


帮助开发人员优化sql,为他们提供各种优化模式下sql执行计划,并且能够给出优化的建议,能够比较各种模式下实际的sql运行结果,帮


助开发人员真正高速地开发高效地代码


Toad还可以外挂一些别的产品,比如PL/Formatter,RevealNet Knowledge Base,sql Impact等,这些都能够和Toad紧密集成,共同提供


了一个完美的集成开发环境。新版本还新增加了DBA模块,更加拓广了Toad这个产品的适用范围。


编辑本段工具比较


一篇文章将最新版本的Oracle的免费sql 开发工具和Quest Software Inc.的流行的Oracle Toad 软件进行了一下比较,引发了数据库开发


人员的一股邮件热潮,他们想要对最好的sql 和 PL/sql编辑和调试工具发表自己的看法。


一些人提出了Oracle相对比较新的sql 开发工具作为他们的工具选择,还有一些人则选择了Toad。其他人还选择了完全不同的开发工具。特


别是,Allround Automations的PL/sql开发工具都进行了激烈的争论。但是在所有这些不同的观点之中,开发人员似乎达成了一个共识:当


说到特性和功能性的时候,你只能拿到那些你付了钱的。


sql开发


sql Developer是在3月发布的,Oracle说,这个工具已经被下载了39万次。开发工具与1.0版本的类似,就像许多的免费工具,在与付费的


sql编辑器竞争的时候,sql Developer 也缺乏强健的能力。其他人,例如开发人员Shelby Spradling,Spradling咨询公司的负责人,说即


使是他们很喜欢使用针对Oracle产品进行了优化的sql 编辑器,sql Developer仍然还没做好准备。


Spradling说他编译了PL/sql,只遇到了几个来自sql Developer的警报。他很快意识到,当他想要执行包的时候,它就会变成无效状态,


sql Developer不能发现其它的错误。咨询师还发现,其他的错误只有在拷贝PL/sql程序到Oracle的 sql*Plus工具中的时候才会出现。


"然而我喜欢这种能够最终战胜Oracle产品中PL/sql代码的能力,当它开始工作之后,在这5年里面我真的开始享受使用这种产品的感觉,"


Spradling说。"到那时为止,Textpad 和 sql*Plus虽然是最快的方式,但是它们却有挑剔的局限。"


但是并不是每个人都像Spradling这样绝望。UPS货运公司的高级会计师Alex Rodriguez说,sql Developer刚好适合他的需要。他说他从


Toad转向sql Developer是因为它是免费的,它提供了他需要的每样东西来调试sql 和PL/sql子程序,因为这是Oracle的产品,它可以比第


三方竞争者更快地反映新的Oracle特性更新。


Toad有效


开发人员们说,Toad相对于Oracle来说,同时提供了两个版本,一个是削减了的"苗条版",另一个是相当棒的版本,但是一点都不便宜。


独立承包人和软件开发人员Nick Gekas是支持完全功能的Toad的大粉丝,除了与Oracle相比的价格因素。他说,Toad的主要优点包括他的功


能键能力,它可以显示表或者字段的弹出列表,还有强有力的PL/sql调试器。Gekas还喜欢Toad可以导出sql 输出到几种不同的格式中,给


用户根据喜好安排屏幕的机会。他补充说,创建和维护对象在Toad中也是一个简单的过程。


"(Toad)很贵," Gekas说,"所以我在Toad 和 sql Developer之间切换,根据我的客户是否拥有Toad许可证。"


James R. Bower,是FiberMark 北美公司的一名Oracle 数据库管理员,公司在马萨诸塞州的West Springfield,他也同意收费的Toad是一


个特性相当完整--并且非常昂贵--的产品。


"我发现我自己在给那些不需要Toad的全套功能,或者Toad的预算超过了他们的预算的所有用户推荐Allround Automations的PL/sql


Developer。" Bower说。"很明显,免费的Toad才是对的,但是它远远不是PL/sql Developer那样的产品。"


真正强者


Allround Automations的PL/sql Developer是一个真正的产品,既不过分昂贵,也没有太累赘的过多的特性,根据几位开发人员写给Sm的内


容。


一些人,例如Corporate Lodging 咨询公司的的高级Oracle开发人员Alan Kirchoff,相信PL/sql Developer比起特性太多的Toad来说是真


正的强者。


没有承认


"一个没有得到充分承认的工具就是PL/sql Developer," Kirchoff说。"Toad经常会限制我的方式,有时候它完全不作为,就好像它真的受


到了威胁一样--并且,我确实检查了所有的选项。"


Kirchoff说他喜欢PL/sql Developer,因为它很少会锁定。但是如果它真的锁定了,它会在下次启动的时候提示用户再如一个修复文件,他


说。Oracle 的开发人员也是PL/sql Developer的程序窗口的支持者,这个窗口可以高亮的显示重要的变量和代码段。


对象浏览


PL/sql developer还可以提供带有可编辑的过滤器的"伟大的"对象浏览器,这是一个并行的工具,它可以让用户们比较数据库实例,只需要


点击一下鼠标就可以编译所有单独的对象,还有一个有用的解释计划工具,可以自动解析结果,Mark S. Jacobs说,他是Johns Hopkins大


学应用物理实验室的高级程序员。这位程序员还补充说Allround Automations的支持团队也是顶尖的。


"我经常在当天就得到回答,他们还会在下一次发布中修改我提出的问题," Jacobs说。


软件昵称


该软件被称为青蛙软件,蟾蜍软件或蛤蟆软件。


快捷键


F4 移动到表上,查看表的描述


F5 重启当前页面


F6 格式化sql


F7 clear all


F8 调出以前执行的sql命令


F9 执行全部sql


ctrl+e 看执行计划


ctrl+. 补全table_name


ctrl+t 补全table_name,或者显示字段


ctrl+enter 直接执行当前sql


ctrl+shift+f 格式化sql语句


alt+箭头上下 看sql history
========

TOAD中文教程



 TOAD使用笔记
  1、把鼠标停在sql所在行,然后ctrl+Enter直接执行当前sql
  2、解决Toad对中文显示乱码问题(如果数据库所在主机的NLS_LANG是AMERICAN_AMERICA.WE8ISO8859P1):
  系统环境变量加 NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
  3、toad中自动提示功能,就像plsql developer那样:
  输入表名前几个字母,然后用Ctrl + .就可以弹出,如你输入select * from emp t where t. 这时候停顿一下,会弹出emp的字段来供


你选择
  4、如何支持代码自动更正,如输入ndf,自动替换成NO_DATA_FOUND,输入sf自动替换成select * from:
  点开菜单edit->editer_options->auto_replace中,自己去设定。可以设置任何你想自动替换的单词
  5、toad如何实现多线程,像plsql developer那样可以取消当前的操作:
  安装的时候有选项设置,如果未设置进入view-options-oracle-transactions,把第一个选项选上。
  6、在TOAD的sql Editor中修改查询的数据:
  select rowid,b.* from acc_bill b 就可以修改数据了......
  7、使用Object Palette吧,很棒:
  在VIEW——Object Palette找到入口。点击后在sql Editor窗口右侧产生一个窗口,里面可以根据schema选择对象类型,比如table,


出现的表名双击后就出现在sql编辑器里了,下面还有字段名,是不是很方便啊。
  8、关于TOAD启动的一些问题:
  有的时候安装完成后突然发现无法同时打开两个TOAD,其实这是一个option控制的。进入option界面,选择General,右侧第四个


“Allow multiple copies ...”,那个就是选项了,打勾后重启程序就可以了。同一个界面里第五个是控制是否显示进入画面,觉得麻烦


可以删掉,去掉那个勾就可以了。
  9、安装好toad后根据需要使用到的特性,需要运行一些脚本:(都在Toad\temps目录下)
  ü 如果需要用Toad来查看执行计划,必须运行脚本PrepToad.sql或者notoad.sql
  n 如果希望专门建立一个Toad 用户来存放Toad需要使用的对象的话,就运行preptoad.sql
  n 如果希望在当前连接用户模式下建立toad需要使用的对象的话,就运行notoad.sql
  n 注意,如果是选择了专门建立toad这个用户的话,需要先修改一下脚本,指定用户的默认表空间和临时表空间。
  ü 需要使用Oracle8i 的Profile analyzer,必须运行ToadProfiler.sql
  ü 需要加强Toad的安全性,必须运行ToadSecurity.sql
  10、以下都是指toad8.0xpert下:
  执行toad自带的执行计划的方法
  view->options->oracle->general配置explain plan的表名和用户名,如图:
  如果还没有建立计划表plan_table请执行以下脚本:
  -----------------------------------------------------------------------------
  sql> @C:\oracle\ora92\rdbms\admin\utlxplan.sql
  sql> create public synonym plan_table for plan_table;
  sql> grant select,update,insert,delete on plan_table to public;
  -----------------------------------------------------------------------------
  11、TOAD 9.0.1.8 版本的几个不错的功能
  Utilities-Unix Job Scheduler 有不少DBA、Backup、Table和Index维护的相关shell脚本,可供学习参考。
  Utilities-Network Utilities 有telnet/RExec/Ping/TNSPing/SSH等功能
  Utilities-Script Manager 有不少常用的数据库查询和维护sql语句,并且能直接执行测试。
  View-Object Palette 选上后,会在toad右侧显示数据库对象面板,双击可以在输入区输入对象名,且方便查询
  按F8显示最近执行的sql语句,方便查询,并可选择出来修改、执行。
  Database-Compare-Single Objects 可以比较两个对象脚本之间的差异。
  Database-Report-HTML Schema Doc Generator 可以生成超文本格式的数据库对象及其代码详细信息文档。
  Database-Optimizer-Unix Kernel Parms 计算unix主机(包括Solaris/AIX/HPUX/Tru64/Linux)的内核参数信息。
  Database-Optimizer-Repair Chained Rows 可以计算和修复行链接
  Database-Optimizer-Rebuild Table 可以生成重建表的脚本(包括索引、约束及其重编译对应存储过程信息)。
  Database-Optimizer-Pinned Code 可以查询共享池中的代码信息,并且能Fulsh SGA和pin指定的对象到共享池中。
  12、Toad Database Health Check功能执行前操作:
  sql> conn /as sysdba
  Connected.
  --为了分析alert.log文件
  sql> CREATE OR REPLACE DIRECTORY TOAD_BDUMP_DIR as '/opt/oracle/db01/app/oracle/admin/ORCL/bdump';
  Directory created.
  sql> GRANT READ,WRITE on DIRECTORY TOAD_BDUMP_DIR to wacos;
  Grant succeeded.
  [FK Constraints with nonmatching column definitions]太耗时,建议取消
  13、如何设置使得注释字体是立体字而不是斜体字(Toad 9.1.0.62)
  编辑区右击 - 选择edit options - 查看Language组合框 - 选择PL/sql语言 - 点击Edit按钮 - 选择Highlighting标签 - 从左侧


Styles里选择Comment - 把Font Style组合框里的Italic选择框的小勾去掉。
  常用快捷键:
  F8 调出以前执行的sql命令
  F9 执行全部sql
  Ctrl+t 补全table_name
  Ctrl+. 补全table_name
  alt+ 箭头上下 看sql history
  Ctrl+Enter 直接执行当前sql
  Ctrl+Shift+F 格式化sql语句。
  如果还觉得不够用的话,可以在系统菜单空白处点击右键,进入menu shortcuts,自行定义快捷键。
http://blog.csdn.net/wujt8888/archive/2009/11/10/4794120.aspx
========

TOAD的使用教程

  Toad 使用快速入门      目录      一.Toad功能综述   二.系统需求   三.安装指南   四.快速入门   1. Schema browser的用法简介   2. sql Editor的使用介绍   3. Procedure Editor的用法介绍   4. 如何进行PLsql的debug   5. 如何使用sqlab Xpert优化sql   6. 如何使用sql Modeler来编写查询   7. 如何使用Toad的DBA方面的功能      一、 Toad功能综述      在Oracle应用程序的开发过程中,访问数据库对象和编写sql程序是一件乏味且耗费时间的工作,对数据库进行日常管理也是需要很多 sql脚本才能完成的。Quest Software为此提供了高效的Oracle应用开发工具-Toad(Tools of Oracle Application Developers)。在Toad 的新版本中,还加入了DBA模块,可以帮助DBA完成许多日常管理工作。它最大的特点就是简单易用,访问速度快。使用Toad,我们可以通过 一个图形化的用户界面快速访问数据库,完成复杂的sql和PL/sql代码编辑和测试工作。Toad由Oracle开发专家专门为开发人员而设计,是 一个功能强大、结构紧凑的专业化PL/sql开发环境。   Toad 主要具有如下特点:   模式浏览:   模式浏览功能可以让我们快速访问数据字典,浏览数据库中的表、索引、存储过程。Toad 提供对数据库快速访问,使用极为方便, 用户界面简洁,结构安排合理。当我们点击一个单独的数据库对象,Toad立即显示此对象的详细信息。例如,当我们点一个数据库的表,所 有和此表相关的索引、约束、存储过程、sql语句以及和其他表的相互引用关系都在同一界面显示出来。为了简化操作,用户可以在浏览窗 口操作数据库对象。      sql 编辑器:   sql 编辑器的主要功能是编辑、运行和调整sql语句。TOAD 的高级编辑窗口包括众多的特性来提高开发人员编写sql语句的产品化程度 。例如,简单地生成代码模板,在编写sql自动发现包的内容和列的名字等等。   sql编辑器包括一个编辑窗口和运行结果窗口,允许开发人员在编辑的过程中测试运行结果。sql编辑器中不仅包括标准的编辑命令,也 包括一些增强的功能,如快速查询表中的字段、将sql语句的内容格式化等等。这个窗口可以处理大到4GB 的内容,对大的开发项目来说非 常有用。便捷的书签可以让开发人员非常容易地找到相关位置。在运行结果窗口可提供用户定义的配置功能支持LONG 和LONG RAW列,可 以将数据卸出到磁盘、打印数据、编辑数据等等。      存储过程编辑器:   存储过程编辑器的主要功能是编辑、编译、测试、调试存储过程和触发器。TOAD提供语法标识、错误标识和其他很多易于使用的功能, 如在弹出窗口显示表名、列名和Oracle函数。和其他的 PL/sql 编辑工具不同,TOAD 允许在一个文件中操作多个数据库对象,可以编译一 个对象、编译多个对象、编译到当前光标、从光标开始编译。在运行出现错误时,存储过程停止到有问题的语句。用户可以使用快捷方式或 模板来快速编写PL/sql,也可以根据需要生成自己的模板。使用Toad可以非常方便地进行编辑工作,可如设置书签、取消注释、格式化sql语 句等等。      PL/sql Debugger选项:   Toad 提供简单易用的PL/sql 调试功能,可以节省开发人员在大型项目中用于开发和测试的宝贵时间,提高应用开发的质量。在存储过 程开发的过程中,Toad可以逐行编辑、调试和运行代码。运行时可以根据需要输入参数,观察相关参数的变化来检查存储过程的正确性。在 调式过程中,Toad 可以通过窗口显示所有的断点、参数,调用堆栈和输出参数。使用Toad,非常容易检测到存储过程的错误,开发人员可 以一步一步运行PL/sql语句来识别问题。调试会话可以和其他程序会话同时进行。      sqlab Xpert Option:   帮助开发人员优化sql,为他们提供各种优化模式下sql执行计划,并且能够给出优化的建议,能够比较各种模式下实际的sql运行结果 ,帮助开发人员真正高速地开发高效地代码。      Toad还可以外挂一些别的产品,比如PL/Formatter,sql Impact等,这些都能够和Toad紧密集成,共同 提供了一个完美的集成开发环境。新版本还新增加了DBA模块,更加拓广了Toad这个产品的适用范围。         二、系统要求:   客户端:    Windows 95 / 98 / NT/2000中英文均可    完整安装的sql*Net 2.0或者Net8    磁盘:一般安装需要20M左右的空间,根据所选择模块的不同和安装方式的不同,最少也要5M的磁盘空间(从网络服务器读取)    内存:Windows 9x/Me:16M 内存;Windows NT/2000: Min 32M]    Tuning模块需要额外的25M空间      服务器端:    Oracle 7.3 或者更高,在任何硬件平台上。    需要一个DBA用户帐号      三.安装:   1. 三种安装方式的选择:   a) TOAD and Personal Configuration Files to PC   默认安装选择,完成一个完整的Client端的安装,把所有需要的文件拷贝到本地Toad目录。   绝大多数用户应该选择使用这个安装方式。   b) Personal Config Files to PC,read TOAD from Network Server   从网络服务器读取Toad程序,在本地计算机安装一些自定义文件,并且创建到服务器文件的快捷方式,一般不推荐使用这个方式,而 且要求网络服务器已经配置。   c) TOAD to Network Server   把Toad安装到网络服务器上,以便这样别的用户能够进行Personal Config Files to PC,read TOAD from Network Server这种方式的 安装。   2. 根据需要使用到的特性,需要运行一些脚本(都在Toad\temps目录下)    如果需要用Toad来查看执行计划,必须运行脚本PrepToad.sql或者notoad.sql    如果希望专门建立一个Toad 用户来存放Toad需要使用的对象的话,就运行preptoad.sql。    如果希望在当前连接用户模式下建立toad需要使用的对象的话,就运行notoad.sql。    注意,如果是选择了专门建立toad这个用户的话,需要先修改一下脚本,指定用户的默认表空间和临时表空间。    需要使用Oracle8i 的Profile analyzer,必须运行ToadProfiler.sql    需要加强Toad的安全性,必须运行ToadSecurity.sql      四、Toad使用快速入门   1. Schema Browser:   Schema browser是Toad的极为有特色的模块。在schema browser的帮助下,可以方便的浏览数据库内部的各类数据库对象,比如表,索 引,序列,存储过程等,而且可以方便的倒出DDL语句和进行各种修改,重建工作。定位到某一类对象上,这列对象允许的操作都会自动列 出来。   特色:    支持Oracle数据库里面所有对象的新建、查看、修改,集成了几乎对所有数据库对象的管理所需要的功能。    按照 模式->对象类别 ->对象->对象可操作属性 -> 对象本身的详细信息和对象相关的信息 来组织,非常有条理,容易定位对象, 也能够看到所有你需要的对象的相关信息。    对于表:   i. 完备的建表向导,不用输入冗长的语法,更加全面地替你考虑。   ii. 可以修改表的各种逻辑和物理属性修改列的属性增加列,删除列(在Oracle8i里面),修改表的物理存储属性,Truncate,Drop 等。   iii. 可以生成建表的完整的DDl语句,包括存储信息,权限信息,约束,索引和触发器等,而这些手工很难做到。   iv. 可以方便的对表进行分析,查看表地所有信息,可以有条件的倒出表里面的数据,并且保存为sql语句。   v. 可以方便的对表进行重组,可以完成exp/imp作不到的事情,而且更少地人工参与,更加安全。       对于视图,存储过程:   i. 可以保存建立视图、存储过程的语句为文本,   ii. 重新编译失效的视图,存储过程,修改视图的定义语句等。方便的查看存储过程的代码,相互依赖关系,权限信息等保存为文本等 。    回滚段,   i. 简洁明了的online,offline状态,方便地online/offline操作   ii. 详细的回滚段物理信息和当前状态。   iii. 可以方便的修改物理存储属性       表空间:   i. Tablespace Map;直观的显示数据物理的在表空间上的分布   ii. 直观的查看各个表空间的利用率、剩余空间、破碎情况等信息   iii. 可以进行各种alter操作:online,offline,增加数据文件,改变数据文件大小,改变物理存储属性等    对其他数据库对象也有完备的操作支持。      2. sql Editor:   a) 激活sql Editor的三种方式:   i. 连接到数据库之后,Toad自动打开sql Editor这个窗口。   ii. 点击总工具栏上最左边的那个按钮   iii. 从菜单栏:Database -> sql Editor   b) 特点:    允许同时打开多个编辑窗口,同时编辑多个sql语句    支持同时连接到多个数据库,同时对多个数据库进行操作    允许编辑sql,PLsql,JAVA,HTML和文本    使用书签功能,可以在大量sql语句里,快速定位某个语句所在位置    sql Editor本身具有强大的编辑功能,非常方便编辑sql语句。    强大的快捷键支持和工具栏快速按钮的支持,更加高效编写(很多快捷键可以自己定义,在View ->options ->sql Editor里面)    能够根据前面的条件,智能推测需要输入的代码,可以做到某种程度的代码智能填充    把鼠标定位到表/视图/存储过程名称之上,按F4,可以打开对象描述窗口,方便的查看表和视图的定义,存储过程的源代码,    非常容易对sql语句的分析其执行计划:单击工具栏上的 按钮就可以看到Explain Plan的结果    支持部分sql*Plus命令,可以方便的执行大量的为sql*Plus编写的数据库脚本    可以通过sqlab xpert来对当前sql语句进行全面的分析,给出各种合理的调优意见,只需要单击工具栏上的Tuning按钮:    可以方便的保存,打开和运行sql脚本    支持查询结果进行修改,    可以把查询结果以多种格式保存起来,可以保存为HTML,纯文本,XLS等多种格式    很容易的得到sql函数的列表和用法描述(Show sql help Window 按钮)    可以查看sql语句的执行情况:通过下方的AutoTrace窗口 ,看到sql语句的实际执行结果和执行效率。    支持历史sql(F8) :可以方便的查询以前执行过的sql,不用反复重新输入。    可以执行匿名块,存储过程,从下方的窗口看到DBMS_OUTPUT的结果,如:      3. Stored Procedure Editor   a) 打开存储过程编写器的几个途径:    单击总菜单栏上的第三个按钮:    点击Database - > Procedure Editor ,    可以通过Schema browser来调用   b) 一些特点和优点:   1. 强大的自定义设置:从保留字的显示方式,到自动替换,到各种快捷键的定义等等,用得越熟越顺手。   2.   3. 自动用不同颜色显示sql和PL/sql关键字,语法清晰明了,可根据自己的习惯来具体定制各类关键字的具体显示方式。可以自定义 存储过程得模板,在新建存储过程的时候,自动生成程序的框架可以方便的调用Schema Browser,把鼠标定位于某个对象上,F4,Schema Browser打开该对象的详细描述,帮助顺利快速开发程序。支持代码自动更正,如输入ndf,自动替换成NO_DATA_FOUND,输入the自动替换成 the,类似的自动替换还可以自己修改添加。   7. 方便的左边行号显示,单击左边行号就可以实现调试断点的增加/删除   8. 对各种快捷键的支持,不但包括常见的编辑操作,还可以有自己定义的PLsql块的支持(自己定义快捷方式)。如可以定义CTRL +SHIFT+D:弹出所有PLsql Block的类型,可以自己选择。   9. 可以在一个集成开发环境里面,一边编码,一边调试,不用多处切换   10. 方便的同时打开多个存储过程,通过页面快速切换   11. 快速编译存储过程,快速定位错误所在,自己选择是否同时编译依赖的存储过程   12. 内置对PL/Formatter,可以用PL/Formatter对存储过程进行格式化,并且可以提供存储过程的概要分析和修改建议   PL/Formatter可以对现有的存储过程进行高速的格式化,使所有的存储过程都符合同样的编写标准,这样既有利于提高程序的可读性, 避免不同人写的模块的风格上的很差异。   PL/Formatter 还有助于提高程序的模块化,增强程序的结构清晰度,增强sql的共用性。   PL/Formatter 还可以帮助完成PL/sql和Oracle版本之间的管理。        13. 内置RevealNet Knowledge Base,单击鼠标右键就可以打开,快速得到技术上的支持解决技术难题   PL/sql:   包含整个开发过程中可能遇到问题的答案   Code Library:大量的严谨的PL/sql代码例子和现成过程,完全源代码提供   各种错误处理模块可供参考,各类字符日期函数   包含1400多个主题   Admin:   解答DBA日常工作中80%的常见问题,覆盖2400多个主题   从网络到性能优化,从备份恢复到Error message,一应俱全   例子:遇到失效的存储过程怎么办?   4. 如何对存储过程进行Debug?    需要Toad单独的Debug Option(Standard Version 没有这个选项)    要用Toad对存储过程进行debug,必须安装Oracle的系统包:dbms_debug,而且必须安装Oracle Probe API v2.0 或者更高的版本。    集成在Stored Precedure Editor里面,可以一边编写一边调试,大大提高开发效率    打开Procedure Editor后,Debug菜单激活,可以开始进行Debug工作。    允许对存储过程进行逐行调试、断点调试,也支持对触发器进行调试。    可以有断点支持支持Watch变量,允许运行时改变变量的值    允许对多层调用的Debug支持   调试步骤具体举例:   1. 点击菜单栏的第三个按钮: ,打开Procedure Editor   2. 点击Procedure Editor的菜单栏的 按钮,调出需要调试的存储过程   3. 单击工具栏上的按钮 ,输入需要传入的参数,如果不需要传入参数,可以直接单击工具栏上的按钮: ,直接开始调试,如下图输 入传入参数:      4. 单击菜单栏的按钮: ,可以单步跟踪,也可以定义一个断点,直接运行到断点在单步执行,在存储过程运行的过程中,当前语句 会高亮度显示,并且把鼠标指针定位到变量上,Toad自动显示该变量的当前值。      5. 可以随时中止程序的执行,只要点Debug ->Halt Execution,或者菜单栏上的按钮 ,就可以中止程序的执行   6. 当碰到一个存储过程调用另外一个存储过程的时候,可以选择跳过(Step Over) ,这样就直接运行那个被调用的存储过程,返回调 用结果,继续这个存储过程的调试,也可以选择Trace Into ,这样就打开被调用的存储过程,进一步深入调试那个被调用的子存储过程。 如果需要保持Debug信息,在编译的时候应该选择Compile Dependencies with Debug Information,就是Procedure Editor工具栏最右边的 那个按钮 。   7. 支持对变量实时追踪:使用Watch:   可以在运行前,或者运行过程中对某个变量进行实时跟踪:Add Watch,把鼠标定位到该变量上,然后点击Debug ->Add Watch At Cursor,该变量就会出现在Debug状态窗口上,而且实时反应该变量的当前值。如上图中的变量v_empname。可以运行时刻修改   8. 断点支持:   单击存储过程需要加断点的地方的行号,该行颜色变红,输入参数,单击执行按钮 ,可以直接运行到断点处,可以不必逐行追踪,更 加高效率的进行调试。   Debug Option还支持条件断点,只有当满足条件的时候才会在那个地方停止,否则就好像不存在这个断点一样继续运行。       注意DBMS_OUTPUT.PUT_LINE的结果只有当程序执行完成以后才会出现,在程序执行过程中是没有结果的。         4. 如何用sqlab Xpert对存储过程进行调优?   我们知道,Oralce数据库的优化,最主要的步骤就在于sql的优化。而在没有专门的工具(如Toad)的帮助下,进行sql优化是一件非常 困难和乏味的事情,并且需要对Oracle的深入理解和高超的Oracle调优技巧。使用Toad的sqlab Xpert Tuning模块,可以使我们普通开发人 员也能够非常快速,精确的对sql进行专家级的分析   在sql Editor和Procedure Editor里面,选中需要调试的sql语句(sqlab Xpert只能调试Select,Insert,Update,Delete语句),复制 到sql Editor里面,然后点击工具栏上的调优按钮 ,Toad会自动打开sqlab xpert 窗口,捕获当前的sql语句,并且把它转化为符合 explain plan格式的语句。   第一次打开Xpert的时候,Toad会提示你,需要安装一些Server端的表、视图和包等对象,可以把表存储到某个指定的表空间(如Tools) 里面。可以简单的按照提示一步一步做就可以了。如果系统设定不允许Job的话(Job_queue_process=0),Toad提示有些部件不会现在安装 ,可以忽略。安装完成以后,可以选择让某些非DBA用户也可以使用Toad的sqlab Xpert调优功能。   安装完成以后,Toad会提示你一些关于优化目标方面的问题,你可以选择每次优化都可以重新设定,或者一次设定,以后一直使用这个 设定。当然如果需要,还是可以更改的,在sqlab Option xpert的窗口的Administration和Preference下面重新设定。   例子:   下面这个sql语句涉及到多表之间的关联,有一定的复杂性,我们可以借助Toad的sqlab Xpert Option来帮助分析:   select a.name. b.name,c.emp_name   from dep a,manager b,emp c   where a.dep_no=c.DEP_NO   and b.manag_id=c.manag_id   and c.emp_no=3   我们把这个sql复制到sql Editor里面,单击上面的调优按钮,Toad打开sqlab Xpert Option窗口。   如下图:      从上面的图中我们可以方面的看到:在各种优化模式下,该sql语句的执行计划分别是什么样的,Toad给出了每一种执行计划的具体每 一个步骤,每个步骤的成本,该表涉及的相关的数据等,如果sql存取的表还没有经过分析,Toad会以红色警告显示,并且很方便的帮助你 对该表进行分析,收集统计数据,重建索引等,以有助于优化器作出最好的选择。可以把当前的分析结果保存到它的资料库里边,以备以后 再次调用之需。   我们还可以求助与sqlab 的自动优化功能:点击Original sql下面的auto tune按钮,Toad会对执行结果按照tkprof进行分析(当然, 这需要你在initsid.ora里面设置好utl_file_dir,如果服务器是在Unix机器上的话,还需要通过FTP方式得到Trace文件,有一些小小的设 置)。   自动优化非常高效的对所有执行计划进行实际运行比较,并且给出实际执行的时间的对比,如下图:      我们还可以让Toad给出实际的优化建议:点击Original sql,单击下面的Advice按钮,Toad根据对sql的分析和执行结果给出合理的建议 :   如:   1. 把表和索引分别放到两个不同的表空间,因为我们在创建表,加上约束的时候没有指定USING INDEX子句,所以表和索引都建立在 了用户的默认表空间上了。   2. 对表EMP,DEP和MANAGER进行分析,收集最新的统计数据,有利于CBO得到最优的执行计划   3. 在合适的列上创建索引:EMP的manag_id和dep_no。当表中存在大量的数据的时候,这样可以大大减少由于全表扫描带来的成本。         5. sql Modeler:   sql Modeler可以帮助开发人员很容易的写出各种复杂的sql语句,只需通过简单的拖动鼠标,就能够写出复杂的sql语句来。   打开sql Modeler的几个途径:   i. 菜单栏 Database -> sql Modeler ,打开窗口   ii. 单击工具栏第四个按钮 ,打开sql Modeler窗口   窗口由三个主要部分组成:    表选择区域:最右边的那个部分,用来选择From子句中用到的表。拖动到左边的区域或者双击就选择了该表。    表模型区域:用来图形化的显示选择的表和表之间的关联关系。    生成sql区域:这里显示用图形化方式创建的查询对应的sql语句,      在sql Modeler里面,还支持生成sql进行Explain Plan,调试sql性能,运行sql,看是否得到了希望的结果,保存生成的语句, 或者把语句粘贴到sql Editor里面。      有了sql Modeler的帮助,即使是初级的程序员也能编写出复杂而又高效的SQL查询来。   比如下面的例子;      生成步骤:   1. 选出表emp,dep,manager   2. 用鼠标拖住emp的emp_name和emp_no,dep的name,manager的name   3. 双击criteria窗口的emp_no condition列,弹出窗口,输入查询条件,比如emp_no=3   4. 由于结果里面不希望emp_no出现,双击emp_no列的visible,设置为false   5. 这样就出来了需要的查询,现在可以运行查询得到结果,对查询sql进行分析,或者在sql Editor里面打开这个sql,或者保存为 sql Model文件,或者再进一步处理,比如加排序, 汇总等。      DBA方面的功能:   Toad在DBA日常管理方面的能力是非常强大的,可以帮助DBA安全快速地完成许多日常工作,还有Toad特有的一些小工具能完成一些普通 方法很难做到的功能。下面大概讲述了各个常用模块的主要功能:   a) Database Monitor   提供直观的Oracle数据库运行状况,包括下面这些详细信息:   可以看到逻辑IO,物理IO,各个状态的session数目,SGA的利用率,共享池的使用状况,各类事件的等待状况,以及各类事件随着时间 的变化情况   b) Instance Monitor   i. 可以用来检查本地tnsnames.ora文件里面定义的所有节点、Listener和数据库的运行状态和版本等相关信息。   ii. 可以远程启动、关闭数据库(如果设置了password验证方式)   c) Unix Monitor:   i. 可以监控Unix机器的运行状况比如详细的机器启动时间,cpu利用率,主要的进程以及这些进程占用的资源,主要的磁盘IO等。   d) Trace/Kill session   i. 方便的查看所有的连接用户相关信息:比如终端,程序,连接时间等   ii. 对某个用户进行跟踪,查看用户执行的sql语句,查看语句的执行计划,   iii. 方便的查阅系统的Lock对象,有没有什么等待别的事务释放锁的情况,并能够轻易查出等待什么用户的什么事件结束,那个用户 执行的是什么sql。   iv. 查看回滚段的使用状态,什么用户,什么语句,使用的什么回滚段,多少读写量等   e) Oracle Parameter   i. 可以方便的查看Oracle系统的参数:是否默认值,参数作用的简要描述,是否可以用alter session/alter system来动态改变,对 于那些可以动态改变的参数,可以双击鼠标来进行修改      f) NLS_PARAMETER:   i. 方便的查看session,instance,database一级的NLS参数值,   ii. 可以动态修改session的NLS参数值      g) Extents   i. 可以查看某个用户下的表和索引的详细的存储情况,   ii. 发现那些占用大量空间的表和索引,可以考虑使用相应的对策,比如分区   iii. 发现那些即将达到max_extents的表和索引并可以及时纠正   iv. 发现那些索引和表处于同一个表空间的情况,并可以及时纠正。      h) Tablespace   i. 直观的查看每个表空间的利用率,总空间,已使用空间,剩余可是用空间以及默认存储参数,和表空间是否需要整理等信息   ii. 查看每个表空间的状态,组成的数据文件, 以及每个数据文件的详细信息   iii. 查看每个表空间里面存在的对象和这些对象的详细存储特性   i) Tablespace Map:   i. 图形化的显示表空间里面各个表/索引所占用的空间,各个segment的大小,segment是否连续等信息,非常直观   ii.   j) Server Statistics:   i. 可以非常直观的看到系统总体运行情况,迅速定位系统瓶颈所在   ii. 可以查看系统范围内各类等待事件的状况,查看每个连接会话的状况,   k) Pinned Code:   i. 我们知道,频繁执行的大的存储过程最好Pin起来,这样可以避免被Oracle在内存不足的情况下换出内存,避免动态加载,也避免 flush shared pool的时候被清出内存。   ii. 根据每个模块的大小,执行次数,决定是否要把某个存储过程PIN起来。一个按钮就搞定了。   l) Control Files:   可以查看当前系统有哪几个控制文件,以及控制文件内部记录的详细信息。   (实际上就是V$CONTROLFILE,V$CONTROLFILE_RECORD_SECTION)   m) Redo Log Manager:   i. 可以方便的查看LOG的组,当前日志,每个组里面的成员名字,大小,方便的增加删除log组,切换当前日志,对日志归档进行具 体的控制。   ii. 可以在这个界面里完成几乎所有的对redo log的操作。   n) Repair chained rows:   i. Chained rows影响系统性能,处于系统性能的考虑,需要把chained rows修复成普通的表的行。使用repaie chained rows,就可以 比较容易的做到这一点。选择需要分析的表,然后分析一下,看有没有chained rows,如果有,点击repair,Toad就帮你把那些chained rows给修复了。   o) Identify Space Deficits   如果系统出现1659,1653错误,就是一个不合格的DBA。但是要即时预见这些错误,还是有一定的难度的。有了Toad的这个小工具之后, 一点某个表空间,就知道这个表空间里面的剩余自由空间是否允许任何表能够扩展到下一个extent。并能够在发现问题之后,直接改正问题 。      p) Estimate Table/Index Size   i. 数据库的物理规划中,表/索引的存储子句的定义是非常重要的,影响系统。但是没有什么工具的话,要为表定义合理的存储子句也 不容易。   ii. 在Toad里面,专门有工具帮助你合理定义表/索引的存储情况:   1. 自己可以定义将来表中需要存储的数据的数目   2. 多种估计方式:   a) 根据对已有的数据的分析来定义表的大小(最精确,但是比较慢)   b) 根据表定义数据类型来定义表的大小   c) 根据数据字典中以前分析过的数据来估计大小(需要近期分析过该表)      q) Analyze All Tables   i. 基于CBO的sql需要CBO提供最优化的执行路径来提高程序的执行效率,但是假如对表进行大量的DML操作之后,不及时更新表的统计 数据,这时候CBO就不能选择最为有效的执行路径,导致程序执行效率低。   ii. 手工分析表比较麻烦,一个一个做。   iii. 用Toad的Analyze Alltables这个工具,可以一次分析整个模式下面的所有表,有丰富的控制选项,包括是采用估计还是完全,是 否同时分析索引,估计的话,采用多大的百分比等。   r) Rebuild Table   i. 当表中的数据被反复大量的DML之后,而且PCTFREE和PCTUSED定义的不合理的情况下,表可能会变得非常破碎,占用大量的extent, 索引也会相当破碎,导致效率相当低下。   ii. 传统的方式是通过exp/imp来解决这个问题,但是步骤实在比较麻烦,手工操作也有一定的危险性。   iii. 使用Rebuild Table工具,轻松搞定,而且可以手工修改一些通过EXP/IMP无法修改的参数,比如freelists,freelists group,tablespace,initial等,还能够更改列的名字。   s) Relocate Index   i. 我们知道,表和索引一般都需要分开存放到不同的表空间,这样比较便于管理,性能上也会有一定的提高,因为可以对表和索引同 时存取。   ii. 但是实际上很多时候,由于这样那样的原因,常常忽略了索引单独存放这个基本概念,比如建立主键约束的时候没有加USING INDEX子句,后来disable/enable了主键约束/唯一性约束等,都会导致把索引直接存放到和表同一个表空间里面。   iii. 手工发现这些索引,再逐个移动非常麻烦,容易出错,在Toad里面,就很容易根据用户/表空间来发现那些不恰当存放的索引,可 以批量移动这些索引,并且允许重新定义索引的存储子句。   t) Generate Schema Scripts:   i. 可以用来生成整个用户下所有/部分对象的DDL语句。可以把结果保存为sql语句或者保存为TOAD的自定义格式。   ii. 可以用来复制表结构,(EXP/IMP有非常严重的缺陷,就是从一个大的数据库倒出的表结构,无法导入到一个小的数据库里面,因 为里面包含了原来表的存储信息,即使选择rows=N,也要在导入数据库里面占用相当大的空间)   u) Compare Schema:   i. 在开发的时候,有时候同时在几个开发库上开发,但是最后两个库的结构不完全一样,很难比较   ii. 用TOAD的这个功能,可以对两个数据库的模式(用户)下面的所有对象(包括存储过程)进行比较,可以选择具体的比较内容。   iii. 可以通过直接打开两个到各自数据库的连接,或者根据Toad generate schame scripts生成文件进行对比。   iv. 可以直接生成同步两个数据库sql脚本,给出汇总的区别简要和详细报告等。 ========

猜你在找的Oracle相关文章