Toad for Oracle工具的使用.docx
《Toad for Oracle工具的使用.docx》由会员分享,可在线阅读,更多相关《Toad for Oracle工具的使用.docx(27页珍藏版)》请在冰豆网上搜索。
ToadforOracle工具的使用
Toad for Oracle工具的使用
(2010-05-0120:
22:
24)
ToadforOracle工具的使用
出处:
转载
[注意:
单击图片可以放大显示]
在Oracle应用程序的开发过程中,访问数据库对象和编写SQL程序是一件乏味且耗费时间的工作,对数据库进行日常管理也是需要很多SQL脚本才能完成的。
QuestSoftware为此提供了高效的Oracle应用开发工具-Toad(ToolsofOracleApplicationDevelopers)。
在Toad的新版本中,还加入了DBA(DatabaseAdministrator数据库管理员)模块,可以帮助DBA完成许多日常管理工作。
它最大的特点就是简单易用,访问速度快。
使用Toad,我们可以通过一个图形化的用户界面快速访问数据库,完成复杂的SQL和PL/SQL代码编辑和测试工作。
Toad由Oracle开发专家专门为开发人员而设计,是一个功能强大、结构紧凑的专业化PL/SQL开发环境。
Toad主要具有如下特点:
模式浏览器(schemabrowser):
模式浏览功能可以快速访问数据字典,浏览数据库中的表、索引、存储过程。
Toad提供对数据库的快速访问,使用极为方便,用户界面简洁,结构安排合理。
当我们点击一个单独的数据库对象,Toad立即显示此对象的详细信息。
例如,当我们点一个数据库的表,所有和此表相关的索引、约束、存储过程、SQL语句以及和其他表的相互引用关系都在同一界面显示出来。
为了简化操作,用户可以在一个模式浏览器窗口中操作所有数据库对象。
(图SchemaBrowser以“MultiLineTab”方式显示所有数据库对象)
SQL编辑器(SqlEditor):
SQL编辑器的主要功能是编辑、运行和调整SQL语句。
TOAD的高级编辑窗口包括众多的特性来提高开发人员编写SQL语句的产品化程度。
例如,简单地生成代码模板,在编写SQL前自动发现包的内容和列的名字等等。
SQL编辑器包括一个编辑窗口和运行结果窗口,允许开发人员在编辑的过程中测试运行结果。
SQL编辑器中不仅包括标准的编辑命令,也包括一些增强的功能,如快速查询表中的字段、将SQL语句的内容格式化等等。
这个窗口可以处理大到4GB的内容,对大的开发项目来说非常有用。
便捷的书签可以让开发人员非常容易地找到相关位置。
在运行结果窗口可提供用户定义的配置功能,支持LONG和LONGRAW列,可以将数据卸出到磁盘、打印数据、编辑数据等等。
(图在SQL编辑器中选择部分SQL代码片段进行执行)
存储过程编辑器(ProcedureEditor):
存储过程编辑器的主要功能是编辑、编译、测试、调试存储过程和触发器。
TOAD提供语法标识、错误标识和其他很多易于使用的功能,如在弹出窗口显示表名、列名和Oracle函数。
和其他的PL/SQL编辑工具不同,TOAD允许在一个文件中操作多个数据库对象,可以编译一个对象、编译多个对象、编译到当前光标、从光标开始编译。
在运行出现错误时,存储过程停止到有问题的语句。
用户可以使用快捷方式或模板来快速编写PL/SQL,也可以根据需要生成自己的模板。
使用Toad可以非常方便地进行编辑工作,可如设置书签、取消注释、格式化SQL语句等等。
(图:
在存储过程编辑器中,准备将SQL片段调入SQLTunning中进行调优)
SQL模块化(SQLModeler):
SQLModeler是一个图形化的SQL语句生成工具,只需要使用鼠标拖拽,就可以帮助开发人员很容易的生成各种复杂的多表查询SQL语句。
(图:
通过鼠标“Drag&Drop”写出复杂的SQL脚本)
FastReport报表设计器:
FastReport是业界著名的报表引擎,Toad中内嵌了FastReport,使之具备了动态生成客户化报表的能力,FastReport的功能极为强大,可以自定义报表向导,生成饼状图,柱状图,折线图,表格等各种展现形式,并可以将生成结果导出到PDF,HTML,JPG,BMP各种格式。
(图FastReport的报表设计器)
脚本管理器(Scriptmanager):
通过ScriptManager,可以对常用的SQL脚本进行集中管理。
还可以做如下工作:
对脚本分类组织
方便脚本查询
在多数据库上执行脚本
一次执行多个脚本
在多个数据库上一次执行多个脚本
主从表浏览器(Master/DetailBrowser)
使用Master/DtailBrowser可以同时浏览和编辑由外键连接或用户自定义连接的多个表,视图,快照或查询。
比如我们可以定义department作为Master表,将employee表作为Detail表,两表之间通过department_id做关联。
employee表显示的数据会随着department表的当前光标变动。
Toad中的报表引擎FastReport可以与主从表的配置进行绑定,做出主/从形式的报表。
颜色定义连接(ConnectionColor-Coding):
Toad允许同时连接多个数据库,便于在多个数据库之间进行切换和比对。
但是这样也增加了在数据库上进行误操作的风险。
ConnectionColor-Coding允许用户在定义一个新的数据库连接时,为该连接指定一种颜色,以便作为醒目提醒。
(图自定义以红绿两色分别代表生产库和测试库的连接)
PL/SQL编辑器Debugger选项:
Toad提供强大易用的PL/SQL调试功能,可以节省开发人员在大型项目中用于开发和测试的宝贵时间,提高应用开发的质量。
在存储过程开发的过程中,Toad可以逐行编辑、调试和运行代码。
运行时可以根据需要输入参数,观察相关参数的变化来检查存储过程的正确性。
在调式过程中,Toad可以通过窗口显示所有的断点、参数,调用堆栈和输出参数。
使用Toad,非常容易检测到存储过程的错误,开发人员可以一步一步运行PL/SQL语句来识别问题。
调试会话可以和其他程序会话同时进行。
(图:
强大的Debug功能是调试SQL的利器)
编码概要分析(CodeProfiling):
Profiler是ORACLEPL/SQL的一个调试优化跟踪方案。
可以为每一行代码进行性能统计,以帮助评估SQL语句的性能问题时。
因为不需要生成和读取服务器端的跟踪文件,所以分析也比较快速,缺点就是命令行的方式,不便于使用。
CodeProfiling就是Toad对OracleProfiler技术的可视化包装,对SQL语句的跟踪统计,十分的直观与方便。
(图CodeProfiler直观的展示每行的统计信息)
PL/SQL技术文档资源(KnowledgeXpert™forPL/SQL)
KnowledgeXpert™forPL/SQL是一个功能强大的基于Windows的技术资源库,它覆盖OraclePL/SQL开发的整个生命周期,上千种专题提供编写高质量代码所需要的背景信息、最好的经验和程序范例。
提供上千种专题,覆盖PL/SQL编程的整个生命周期,从基本的专题到高级的PL/SQL编码技术。
由包括MikeAult、StevenFeuerstein、HugoToledo等在内的业界专家开发。
提供一个功能强大的代码库,包括超过1,000预先设计好的PL/SQLprocedures和functions,减少大量的开发时间。
覆盖多个版本(Oracle7.3–10g),不需要查询不同的手册获得答案。
快速的Oracle反馈信息,使用户可以轻松查询不同Oracle版本(包括Oracle9i)的应用开发解决方案25000多种错误信息。
与TOAD®和SQLNavigator™的无缝集成使用户可以随时找出问题及解决方案。
KnowledgeXpertforPL/SQL为开发人员提供编写高质量代码所需要的最快捷的方法。
团队编码(TeamCoding)
ToadforOracle的TeamCoding可实现开发团队间的协作。
TeamCoding允许多个开发者同时读取源代码和数据库对象,并通过有效的代码锁定,防止对代码和数据库对象的同时重写。
同时,TeamCoding支持第三方版本控制系统,如MerantPVCS、MicrosoftSourceSafe、RationalClearCase和StarBase的StarTeam等多种产品。
针对版本控制系统(VCS)管理下的数据库模式或对象,Toad可以从VCS知识库中取源代码,快速比对以确定VCS代码是否最新;若在数据库上存在新的版本,则向用户发出报警。
开发者完全可以信赖Toad的变更管理机制。
代码规则校验(CodeXpert)
CodeXpert可以按照一套预定义的最佳规则集对PL/SQL代码进行检验,对不符合规则的代码提出建议,以此来提高代码质量。
除了Toad预定义的最佳规则外,用户还可以定义添加自己的规则集。
(图CodeXpert对存储过程进行规则检查后,给出检查结果)
SQLabXpertOption:
SQL优化(SQLOptimizer)
SQLabXpertOption帮助开发人员优化SQL,为他们提供各种优化模式下SQL执行计划,并且能够给出优化的建议,能够比较各种模式下实际的SQL运行结果,帮助开发人员真正高速地开发高效地代码。
SQLOptimizer可以将SQLScanner和SQLInspector找出的低效SQL语句进行优化。
它在充分分析SQL源代码的基础上,运用内建的人工智能(AI)技术,穷尽所有的可能的SQL改写方法和Oracle数据库的优化提(hint),输出一份语意等价、语法正确的SQL语句列表。
对列表中所有的SQL语句测试执行之后,就可以得到最适合当前数据库环境的SQL语句。
(图:
在4级优化智能水平下,SQLOptimizer为当前SQL给出72条替代SQL方案)
执行调优前的原始SQL语句和备选SQL语句,就可以找到最优性能的SQL语句。
BenchmarkSQLAlternatives可以批量执行待选SQL语句,以浅显的图表显示各个SQL的量化性能指标,帮助用户找到最适合的SQL语句方案。
(图:
批量执行后,得出最佳方案是Alt#4,与原始SQL相比节省执行时间99%)
(图:
SQLTunning与BenchmarkFactory配合,进行“scalability”测试,得到并发条件下的最优SQL语句)
索引专家(IndexExpert)
IndexExpert可以分析SQL语句的语法和SQL语句中表和表之间的关系,给出最适合的备选索引建议。
所有建议的索引在做评估执行时,都不需要在数据库上真正建立,因此不会对数据库应用造成影响。
(图:
IndexExpert给出7条虚拟索引建议)
IndexExpert推荐的索引,可以由BenchmarkIndexAlternatives进行执行比较,找出哪些索引需要在数据库中永久生成。
交叉索引分析(CrossIndexAnalysis)
CrossIndexAnalysis可以分析一组SQL语句,找出这组SQL语句可以公用的索引,使得新增索引更具通用性。
(图:
CrossIndexAnalysis针对右侧的SQL组给出6条交叉索引建议)
DBA模块(DBAModule)
DBAModule提供了一个简单完善的DBA管理的环境,使得被授权的开发人员可以掌握通常的一些管理任务,例如快速的了解数据库的Schemas、进行空间管理、修改用户权限、生成Schema脚本,修改NLS(NationalLanguageSupport)参数等等,所有这些都直观的包括在TOAD的界面上;DBAModule通过图形界面进行数据的导入(import)和导出(export),使数据的装载和卸载变得简单而高效;同时DBAModule通过简单易用的SchemaBrowser的界面,提供建立、修改、删除所有DBA管理的对象的功能。
(图:
强大的DBA功能是DBA的好帮手)
数据库监视器(DatabaseMonitor)
DatabaseMonitor以图形化方式显示逻辑/物理IO,等待事件,会话,调用率,脱靶率,SGA使用,共享池,索引查询共9个数据库运行信息。
每个图都可以放大显示。
图形的刷新间隔可以分别设置为15秒,30秒,1分钟,5分钟,10分钟和15分钟。
在DatabaseMonitor界面打开的情况下,如果有数据库运行参数超过了在“View->Option->Monitor”中设置的最大最小阈值时,会以邮件或托盘告警图标的方式发出告警信息。
(图DatabaseMonitor中,以水平图显示数据库运行信息)
数据库探测器(DatabaseProbe)
DatabaseProbe窗口实时显示数据库的各种告警信息,还可以客户化定义告警,可以看作是简化版的Spotlight,如果安装了Spotlight,还可以从DatabaseProbe中调出Spotlight。
(图DatabaseProbe是简化版的Spotlight(MacOSXv10.4的一项快速、随打即找、系统支援的桌面搜寻特色))
数据库运行安全检查(HealthCheck)
HealthCheck可以生成一份包括约50种数据库统计,状态,事件等信息的报告。
输出结果按颜色区分,方便浏览。
还可以配置不显示正常信息在所有预定义检查之后,可以执行用户自定义的脚本,将结果添加到报告中。
每个检查项都是可选的,而且大多数都是可以配置的。
结果报告可以保存成HTML,RTF或文本文件,通过邮件系统发送出去。
也可以保存到当前数据库或者其它指定的数据库中。
可以一次检查多个数据库。
可以按命令行方式执行,即用户可以建立一个批处理文件,通过任务计划定时执行。
例如可以设定在夜里执行,DBA白天通过查看HTML格式的检查输出结果文件,得知夜里数据库的运行状况。
(图HealthCheck对两个数据库同时进行检查)
例程管理器(InstanceManager):
InstanceManager用来监控数据库节点,监听器和数据库的可用性。
记录一份数据库状态变更历史和详细日志。
可以管理数据库的启停。
当窗口打开时,可以按照“View->Option->InstanceManager”中的配置,进行邮件或闪烁托盘告警。
(图ORCL数据库处于“StartUp”状态)
高级会话查询器(TopSessionFinder):
TopSessionFinder查询出消耗资源最多的会话。
(图以饼状图显示各个会话的资源使用情况)
参数列表(OracleParameters)
列表显示数据库视图v$parameter中的数据。
可以通过双击更改所选参数,并由Toad发出“altersystem”或“altersession”命令,对数据库参数进行修改。
支持RAC形式。
会话浏览器(SessionBrowser)
查看数据库会话的锁,长操作等信息。
可以对会话进行跟踪或杀掉会话。
Toad还可以外挂一些别的产品,比如PL/Formatter,RevealNetKnowledgeBase,SQLImpact等,这些都能够和Toad紧密集成,共同提供了一个完美的集成开发环境。
为了帮助您全面的测试您的应用系统,Quest软件公司为您提供了BenchmarkFactory――一个负载压力测试解决方案,可以模拟真实环境下数以千计的用户访问你的应用系统的场景。
提前获知应用系统上线后在过载情况下的应用表现,就可以在上线前定位并解决性能问题和伸缩性问题。
使用BenchmarkFactoryforDatabase:
可以获知数据库系统的最大吞吐量和处理能力。
使用少量的硬件资源,就模拟出数以千计的并发用户。
找出应用系统在随用户增加时出现的不平衡负载点。
发现系统性能拐点,薄弱的衔接点和瓶颈。
应用开发解决方案:
量化应用和服务期的性能指标
BenchmarkFactory在测试过程中,收集了大量的统计数据,包括服务器吞吐量(按事务/秒,字节/秒等计量)和每个施加负载的测试工作站产生的事务统计,所有的测试结果都被收集存储于资料库中,用于测量,分析和预测系统的容量。
BenchmarkFactory还可以与其它Quest软件公司的产品进行集成,用于IT部门快速测量系统处理能力与性能,以便于对系统进行优化,降低用户服务响应时间。
例如,Benchmark和Spotlight配合,由Benchmark产生并发负载,由Spotlight发现和诊断问题,在系统应用上线前,找到系统瓶颈,低效原因与应用缺陷。
(图Benchmark运行机制)
另外,Quest软件还提供了一个轻量级客户端测试数据生成工具――DataFactory,可以帮助开发和QA工程师简单快速的向测试数据库中填充具有引用关系的表数据,以便进行测试。
可以向数据库中快速生成与加载测试数据。
指定数据库表列和需要生成的记录数后,DataFactory可以通过以下三种方式产生测试数据。
产生合成数据
从现有数据源(例如其它数据库表或扁平文件)中拷贝或计算数据
使用内建的数据生成库产生实际数据
--------------------------------------------
附:
DBA(数据库管理员)
DBA是数据库管理员,英文是DatabaseAdministrator。
DBA的一些职责:
安装和升级数据库服务器(如Oracle、MicrosoftSQLserver),以及应用程序工具。
数据库设计系统存储方案,并制定未来的存储需求计划。
一旦开发人员设计了一个应用,就需要DBA来创建数据库存储结构(tablespaces)。
一旦开发人员设计了一个应用,就需要DBA来创建数据库对象(tables,views,indexes)。
根据开发人员的反馈信息,必要的时候,修改数据库的结构。
登记数据库的用户,维护数据库的安全性。
保证数据库的使用符合知识产权相关法规。
控制和监控用户对数据库的存取访问。
监控和优化数据库的性能。
制定数据库备份计划,灾难出现时对数据库信息进行恢复
维护适当介质上的存档或者备份数据
备份和恢复数据库
联系数据库系统的生产厂商,跟踪技术信息