转:Toad for Oracle工具的使用

http://blog.sina.com.cn/s/blog_4a93ccea0100ijd9.html

Toad for Oracle工具的使用

出处:转载 

[注意:单击图片可以放大显示]


在Oracle应用程序的开发过程中,访问数据库对象和编写SQL程序是一件乏味且耗费时间的工作,对数据库进行日常管理也是需要很多SQL脚本才能完成的。Quest Software为此提供了高效的Oracle应用开发工具-Toad(Tools of Oracle Application Developers)。在Toad的新版本中,还加入了DBA(Database Administrator 数据库管理员)模块,可以帮助DBA完成许多日常管理工作。它最大的特点就是简单易用,访问速度快。使用Toad,我们可以通过一个图形化的用户界面快速访问数据库,完成复杂的SQL和PL/SQL代码编辑和测试工作。Toad由Oracle开发专家专门为开发人员而设计,是一个功能强大、结构紧凑的专业化PL/SQL开发环境。


Toad 主要具有如下特点:
模式浏览器(schema browser):
模式浏览功能可以快速访问数据字典,浏览数据库中的表、索引、存储过程。Toad 提供对数据库的快速访问,使用极为方便,用户界面简洁,结构安排合理。当我们点击一个单独的数据库对象,Toad立即显示此对象的详细信息。例如,当我们点一个数据库的表,所有和此表相关的索引、约束、存储过程、SQL语句以及和其他表的相互引用关系都在同一界面显示出来。为了简化操作,用户可以在一个模式浏览器窗口中操作所有数据库对象。
Toad <wbr>for <wbr>Oracle工具的使用
(图 Schema Browser以“Multi Line Tab”方式显示所有数据库对象)

 


SQL 编辑器(Sql Editor):
SQL 编辑器的主要功能是编辑、运行和调整SQL语句。TOAD 的高级编辑窗口包括众多的特性来提高开发人员编写SQL语句的产品化程度。例如,简单地生成代码模板,在编写SQL前自动发现包的内容和列的名字等等。
SQL编辑器包括一个编辑窗口和运行结果窗口,允许开发人员在编辑的过程中测试运行结果。SQL编辑器中不仅包括标准的编辑命令,也包括一些增强的功能,如快速查询表中的字段、将SQL语句的内容格式化等等。这个窗口可以处理大到4GB 的内容,对大的开发项目来说非常有用。便捷的书签可以让开发人员非常容易地找到相关位置。在运行结果窗口可提供用户定义的配置功能支持LONG 和LONG RAW列,可以将数据卸出到磁盘、打印数据、编辑数据等等。
Toad <wbr>for <wbr>Oracle工具的使用
(图 在SQL 编辑器中选择部分SQL 代码片段进行执行)

 

 


存储过程编辑器(Procedure Editor):
存储过程编辑器的主要功能是编辑、编译、测试、调试存储过程和触发器。TOAD提供语法标识、错误标识和其他很多易于使用的功能,如在弹出窗口显示表名、列名和Oracle函数。和其他的 PL/SQL 编辑工具不同,TOAD 允许在一个文件中操作多个数据库对象,可以编译一个对象、编译多个对象、编译到当前光标、从光标开始编译。在运行出现错误时,存储过程停止到有问题的语句。用户可以使用快捷方式或模板来快速编写PL/SQL,也可以根据需要生成自己的模板。使用Toad可以非常方便地进行编辑工作,可如设置书签、取消注释、格式化SQL语句等等。

Toad <wbr>for <wbr>Oracle工具的使用
(图:在存储过程编辑器中,准备将SQL片段调入SQL Tunning 中进行调优)
 

 

 

SQL模块化(SQL Modeler):

SQL Modeler 是一个图形化的SQL 语句生成工具,只需要使用鼠标拖拽,就可以帮助开发人员很容易的生成各种复杂的多表查询SQL 语句。

Toad <wbr>for <wbr>Oracle工具的使用
(图:通过鼠标“Drag & Drop”写出复杂的SQL 脚本)

 

 

FastReport报表设计器:

FastReport 是业界著名的报表引擎,Toad 中内嵌了FastReport,使之具备了动态生成客户化报表的能力,FastReport的功能极为强大,可以自定义报表向导,生成饼状图,柱状图,折线图,表格等各种展现形式,并可以将生成结果导出到PDF,HTML,JPG,BMP 各种格式。

Toad <wbr>for <wbr>Oracle工具的使用
(图FastReport 的报表设计器)

 

 

 

脚本管理器 (Script manager):

通过Script Manager,可以对常用的SQL 脚本进行集中管理。还可以做如下工作:
􀁺 对脚本分类组织
􀁺 方便脚本查询
􀁺 在多数据库上执行脚本
􀁺 一次执行多个脚本
􀁺 在多个数据库上一次执行多个脚本


 

 

主从表浏览器(Master/Detail Browser)

使用Master/Dtail Browser 可以同时浏览和编辑由外键连接或用户自定义连接的多个表,视图,快照或查询。比如我们可以定义department 作为Master 表,将employee 表作为Detail表,两表之间通过department_id 做关联。employee 表显示的数据会随着department 表的当前光标变动。
Toad 中的报表引擎FastReport 可以与主从表的配置进行绑定,做出主/从形式的报表。

 

 

 

颜色定义连接(Connection Color-Coding):

Toad 允许同时连接多个数据库,便于在多个数据库之间进行切换和比对。但是这样也增加了在数据库上进行误操作的风险。Connection Color-Coding 允许用户在定义一个新的数据库连接时,为该连接指定一种颜色,以便作为醒目提醒。

Toad <wbr>for <wbr>Oracle工具的使用
(图 自定义以红绿两色分别代表生产库和测试库的连接)


 

PL/SQL 编辑器 Debugger选项:
Toad 提供强大易用的PL/SQL 调试功能,可以节省开发人员在大型项目中用于开发和测试的宝贵时间,提高应用开发的质量。在存储过程开发的过程中,Toad可以逐行编辑、调试和运行代码。运行时可以根据需要输入参数,观察相关参数的变化来检查存储过程的正确性。在调式过程中,Toad 可以通过窗口显示所有的断点、参数调用堆栈和输出参数。使用Toad,非常容易检测到存储过程的错误,开发人员可以一步一步运行PL/SQL语句来识别问题。调试会话可以和其他程序会话同时进行。
Toad <wbr>for <wbr>Oracle工具的使用
(图:强大的Debug 功能是调试SQL 的利器)

 

 

编码概要分析(Code Profiling):

Profiler 是ORACLE PL/SQL 的一个调试优化跟踪方案。可以为每一行代码进行性能统计,以帮助评估SQL 语句的性能问题时。因为不需要生成和读取服务器端的跟踪文件,所以分析也比较快速,缺点就是命令行的方式,不便于使用。Code Profiling 就是Toad 对Oracle Profiler技术的可视化包装,对SQL 语句的跟踪统计,十分的直观与方便。

Toad <wbr>for <wbr>Oracle工具的使用
(图 Code Profiler 直观的展示每行的统计信息)

 

 

PL/SQL技术文档资源 (Knowledge Xpert™ for PL/SQL)

 Knowledge Xpert™ for PL/SQL 是一个功能强大的基于Windows 的技术资源库,它覆盖Oracle PL/SQL 开发的整个生命周期,上千种专题提供编写高质量代码所需要的背景信息、最好的经验和程序范例。
􀁺 提供上千种专题,覆盖PL/SQL 编程的整个生命周期,从基本的专题到高级的PL/SQL编码技术。
􀁺 由包括Mike Ault、Steven Feuerstein、Hugo Toledo 等在内的业界专家开发。
􀁺 提供一个功能强大的代码库,包括超过 1,000 预先设计好的PL/SQL procedures 和functions,减少大量的开发时间。
􀁺 覆盖多个版本 (Oracle 7.3 – 10g),不需要查询不同的手册获得答案。
􀁺 快速的Oracle 反馈信息,使用户可以轻松查询不同Oracle 版本(包括Oracle 9i)的应用开发解决方案25000 多种错误信息。
􀁺 与TOAD® 和 SQL Navigator™ 的无缝集成使用户可以随时找出问题及解决方案。Knowledge Xpert for PL/SQL 为开发人员提供编写高质量代码所需要的最快捷的方法。

 

 

 

团队编码(Team Coding)

Toad for Oracle 的 Team Coding 可实现开发团队间的协作。Team Coding允许多个开发者同时读取源代码和数据库对象,并通过有效的代码锁定,防止对代码和数据库对象的同时重写。同时,Team Coding 支持第三方版本控制系统,如 Merant PVCS、Microsoft SourceSafe、Rational ClearCase 和 StarBase 的 Star Team 等多种产品。针对版本控制系统(VCS)管理下的数据库模式或对象,Toad 可以从VCS知识库中取源代码,快速比对以确定VCS代码是否最新;若在数据库上存在新的版本,则向用户发出报警。开发者完全可以信赖 Toad 的变更管理机制。

 

 

 

代码规则校验 (Code Xpert)

CodeXpert可以按照一套预定义的最佳规则集对PL/SQL代码进行检验,对不符合规则的代码提出建议,以此来提高代码质量。除了Toad预定义的最佳规则外,用户还可以定义添加自己的规则集。

Toad <wbr>for <wbr>Oracle工具的使用
Toad <wbr>for <wbr>Oracle工具的使用
(图 CodeXpert 对存储过程进行规则检查后,给出检查结果)


 

 

SQLab Xpert Option:SQL优化(SQL Optimizer )
SQLab Xpert Option帮助开发人员优化SQL,为他们提供各种优化模式下SQL执行计划,并且能够给出优化的建议能够比较各种模式下实际的SQL运行结果,帮助开发人员真正高速地开发高效地代码。

SQL Optimizer 可以将SQL Scanner 和SQL Inspector 找出的低效SQL 语句进行优化。它在充分分析SQL 源代码的基础上,运用内建的人工智能(AI)技术,穷尽所有的可能的SQL改写方法和Oracle 数据库的优化提(hint),输出一份语意等价、语法正确的SQL 语句列表。对列表中所有的SQL 语句测试执行之后,就可以得到最适合当前数据库环境的SQL 语句。

Toad <wbr>for <wbr>Oracle工具的使用
(图:在4 级优化智能水平下,SQL Optimizer为当前SQL 给出72 条替代SQL 方案)
执行调优前的原始SQL 语句和备选SQL 语句,就可以找到最优性能的SQL 语句。Benchmark SQL Alternatives 可以批量执行待选SQL 语句,以浅显的图表显示各个SQL 的量化性能指标,帮助用户找到最适合的SQL 语句方案。

Toad <wbr>for <wbr>Oracle工具的使用
(图:批量执行后,得出最佳方案是Alt #4,与原始SQL 相比节省执行时间99%)

Toad <wbr>for <wbr>Oracle工具的使用
(图:SQL Tunning与Benchmark Factory 配合,进行“scalability”测试,得到并发条件下的最优SQL 语句)


 

 

索引专家(Index Expert)

Index Expert 可以分析SQL语句的语法和SQL 语句中表和表之间的关系,给出最适合的备选索引建议。所有建议的索引在做评估执行时,都不需要在数据库上真正建立,因此不会对数据库应用造成影响。

Toad <wbr>for <wbr>Oracle工具的使用
(图:Index Expert 给出7 条虚拟索引建议)

Index Expert 推荐的索引,可以由Benchmark Index Alternatives 进行执行比较,找出哪些索引需要在数据库中永久生成。

 

 

 

 

交叉索引分析(Cross Index Analysis)
Cross Index Analysis 可以分析一组SQL语句,找出这组SQL语句可以公用的索引,使得新增索引更具通用性。

Toad <wbr>for <wbr>Oracle工具的使用
(图:Cross Index Analysis 针对右侧的SQL 组给出6 条交叉索引建议)

 

 

 

DBA 模块(DBA Module)

DBA Module 提供了一个简单完善的DBA 管理的环境,使得被授权的开发人员可以掌握通常的一些管理任务,例如快速的了解数据库的Schemas、进行空间管理、修改用户权限、生成Schema 脚本,修改NLS (National Language Support)参数等等,所有这些都直观的包括在TOAD 的界面上;DBA Module 通过图形界面进行数据的导入(import)和导出(export),使数据的装载和卸载变得简单而高效;同时DBA Module 通过简单易用的Schema Browser 的界面,提供建立、修改、删除所有DBA管理的对象的功能。

Toad <wbr>for <wbr>Oracle工具的使用
(图:强大的DBA 功能是DBA 的好帮手)


 

 

 

数据库监视器(Database Monitor)

Database Monitor 以图形化方式显示逻辑/物理IO,等待事件,会话,调用率,脱靶率,SGA 使用,共享池,索引查询共9个数据库运行信息。每个图都可以放大显示。图形的刷新间隔可以分别设置为15 秒,30 秒,1 分钟,5 分钟,10 分钟和15 分钟。在Database Monitor 界面打开的情况下,如果有数据库运行参数超过了在“View->Option->Monitor”中设置的最大最小阈值时,会以邮件或托盘告警图标的方式发出告警信息。

Toad <wbr>for <wbr>Oracle工具的使用
(图 Database Monitor 中,以水平图显示数据库运行信息)

 

 

 

数据库探测器(Database Probe)

 Database Probe 窗口实时显示数据库的各种告警信息,还可以客户化定义告警,可以看作是简化版的Spotlight,如果安装了Spotlight,还可以从Database Probe中调出Spotlight。

Toad <wbr>for <wbr>Oracle工具的使用
(图 Database Probe 是简化版的Spotlight(Mac OS X v10.4 的一项快速、随打即找、系统支援的桌面搜寻特色))

 

 

 

数据库运行安全检查(Health Check)

Health Check 可以生成一份包括约50 种数据库统计,状态,事件等信息的报告。输出结果按颜色区分,方便浏览。还可以配置不显示正常信息在所有预定义检查之后,可以执行用户自定义的脚本,将结果添加到报告中。
每个检查项都是可选的,而且大多数都是可以配置的。结果报告可以保存成HTML,RTF 或文本文件,通过邮件系统发送出去。也可以保存到当前数据库或者其它指定的数据库中。可以一次检查多个数据库。
可以按命令行方式执行,即用户可以建立一个批处理文件,通过任务计划定时执行。例如可以设定在夜里执行,DBA 白天通过查看HTML 格式的检查输出结果文件,得知夜里数据库的运行状况。

Toad <wbr>for <wbr>Oracle工具的使用
(图Health Check 对两个数据库同时进行检查)

 

 

 

例程管理器(Instance Manager):

Instance Manager 用来监控数据库节点,监听器和数据库的可用性。记录一份数据库状态变更历史和详细日志。可以管理数据库的启停。当窗口打开时,可以按照“View->Option->Instance Manager”中的配置,进行邮件或闪烁托盘告警。

Toad <wbr>for <wbr>Oracle工具的使用
(图 ORCL 数据库处于“StartUp”状态)

 

 

 

高级会话查询器(Top Session Finder):

Top Session Finder 查询出消耗资源最多的会话。
Toad <wbr>for <wbr>Oracle工具的使用
(图 以饼状图显示各个会话的资源使用情况)

 

 

 

参数列表(Oracle Parameters)

列表显示数据库视图 v$parameter 中的数据。可以通过双击更改所选参数,并由Toad 发出“alter system”或“alter session”命令,对数据库参数进行修改。支持RAC 形式。

 

会话浏览器(Session Browser)
查看数据库会话的锁,长操作等信息。可以对会话进行跟踪或杀掉会话。

 

Toad还可以外挂一些别的产品,比如PL/Formatter, RevealNet Knowledge Base , SQL Impact等,这些都能够和Toad紧密集成,共同提供了一个完美的集成开发环境。为了帮助您全面的测试您的应用系统,Quest 软件公司为您提供了Benchmark Factory――一个负载压力测试解决方案,可以模拟真实环境下数以千计的用户访问你的应用系统的场景。提前获知应用系统上线后在过载情况下的应用表现,就可以在上线前定位并解决性能问题和伸缩性问题。

使用Benchmark Factory for Database:
􀁺 可以获知数据库系统的最大吞吐量和处理能力。
􀁺 使用少量的硬件资源,就模拟出数以千计的并发用户。
􀁺 找出应用系统在随用户增加时出现的不平衡负载点。
􀁺 发现系统性能拐点,薄弱的衔接点和瓶颈。
应用开发解决方案:
􀁺 量化应用和服务期的性能指标
Benchmark Factory 在测试过程中,收集了大量的统计数据,包括服务器吞吐量(按事务/秒,字节/秒等计量)和每个施加负载的测试工作站产生的事务统计,所有的测试结果都被收集存储于资料库中,用于测量,分析和预测系统的容量。
Benchmark Factory 还可以与其它Quest 软件公司的产品进行集成,用于IT 部门快速测量系统处理能力与性能,以便于对系统进行优化,降低用户服务响应时间。例如,Benchmark 和Spotlight 配合,由Benchmark 产生并发负载,由Spotlight 发现和诊断问题,在系统应用上线前,找到系统瓶颈,低效原因与应用缺陷。

Toad <wbr>for <wbr>Oracle工具的使用
Toad <wbr>for <wbr>Oracle工具的使用

(图 Benchmark 运行机制)

 

另外,Quest 软件还提供了一个轻量级客户端测试数据生成工具――DataFactory,可以帮助开发和QA 工程师简单快速的向测试数据库中填充具有引用关系的表数据,以便进行测试。可以向数据库中快速生成与加载测试数据。
指定数据库表列和需要生成的记录数后,DataFactory 可以通过以下三种方式产生测试数据。
􀁺 产生合成数据
􀁺 从现有数据源(例如其它数据库表或扁平文件)中拷贝或计算数据
􀁺 使用内建的数据生成库产生实际数据

--------------------------------------------

附: DBA(数据库管理员) 
  DBA是数据库管理员,英文是Database Administrator。
  DBA的一些职责:
     安装和升级数据库服务器(如Oracle、Microsoft SQL server),以及应用程序工具。
     数据库设计系统存储方案,并制定未来的存储需求计划。
     一旦开发人员设计了一个应用,就需要DBA来创建数据库存储结构(tablespaces)。
     一旦开发人员设计了一个应用,就需要DBA来创建数据库对象(tables,views,indexes)。
     根据开发人员的反馈信息,必要的时候,修改数据库的结构。
     登记数据库的用户,维护数据库的安全性。
     保证数据库的使用符合知识产权相关法规。
     控制和监控用户对数据库的存取访问。
     监控和优化数据库的性能。
     制定数据库备份计划,灾难出现时对数据库信息进行恢复
     维护适当介质上的存档或者备份数据
     备份和恢复数据库
     联系数据库系统的生产厂商,跟踪技术信息

posted @ 2011-07-08 15:02  庚武  Views(5351)  Comments(0Edit  收藏  举报