toad中文教程.docx

上传人:b****1 文档编号:2572054 上传时间:2023-05-04 格式:DOCX 页数:23 大小:365.87KB
下载 相关 举报
toad中文教程.docx_第1页
第1页 / 共23页
toad中文教程.docx_第2页
第2页 / 共23页
toad中文教程.docx_第3页
第3页 / 共23页
toad中文教程.docx_第4页
第4页 / 共23页
toad中文教程.docx_第5页
第5页 / 共23页
toad中文教程.docx_第6页
第6页 / 共23页
toad中文教程.docx_第7页
第7页 / 共23页
toad中文教程.docx_第8页
第8页 / 共23页
toad中文教程.docx_第9页
第9页 / 共23页
toad中文教程.docx_第10页
第10页 / 共23页
toad中文教程.docx_第11页
第11页 / 共23页
toad中文教程.docx_第12页
第12页 / 共23页
toad中文教程.docx_第13页
第13页 / 共23页
toad中文教程.docx_第14页
第14页 / 共23页
toad中文教程.docx_第15页
第15页 / 共23页
toad中文教程.docx_第16页
第16页 / 共23页
toad中文教程.docx_第17页
第17页 / 共23页
toad中文教程.docx_第18页
第18页 / 共23页
toad中文教程.docx_第19页
第19页 / 共23页
toad中文教程.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

toad中文教程.docx

《toad中文教程.docx》由会员分享,可在线阅读,更多相关《toad中文教程.docx(23页珍藏版)》请在冰点文库上搜索。

toad中文教程.docx

toad中文教程

Toad使用快速入门

一、Toad功能综述

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

QuestSoftware为此提供了高效的Oracle应用开发工具-Toad(ToolsofOracleApplicationDevelopers)。

在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和LONGRAW列,可以将数据卸出到磁盘、打印数据、编辑数据等等。

存储过程编辑器:

存储过程编辑器的主要功能是编辑、编译、测试、调试存储过程和触发器。

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,RevealNetKnowledgeBase,SQLImpact等,这些都能够和Toad紧密集成,共同提供了一个完美的集成开发环境。

新版本还新增加了DBA模块,更加拓广了Toad这个产品的适用范围。

三.安装:

1.三种安装方式的选择:

a)TOADandPersonalConfigurationFilestoPC

默认安装选择,完成一个完整的Client端的安装,把所有需要的文件拷贝到本地Toad目录。

绝大多数用户应该选择使用这个安装方式。

b)PersonalConfigFilestoPC,readTOADfromNetworkServer

从网络服务器读取Toad程序,在本地计算机安装一些自定义的文件,并且创建到服务器文件的快捷方式,一般不推荐使用这个方式,而且要求网络服务器已经配置。

c)TOADtoNetworkServer

把Toad安装到网络服务器上,以便这样别的用户能够进行PersonalConfigFilestoPC,readTOADfromNetworkServer这种方式的安装。

2.根据需要使用到的特性,需要运行一些脚本(都在Toad\temps目录下)

✓如果需要用Toad来查看执行计划,必须运行脚本PrepToad.sql或者notoad.sql

⏹如果希望专门建立一个Toad用户来存放Toad需要使用的对象的话,就运行preptoad.sql。

⏹如果希望在当前连接用户模式下建立toad需要使用的对象的话,就运行notoad.sql。

⏹注意,如果是选择了专门建立toad这个用户的话,需要先修改一下脚本,指定用户的默认表空间和临时表空间。

✓需要使用Oracle8i的Profileanalyzer,必须运行ToadProfiler.sql

✓需要加强Toad的安全性,必须运行ToadSecurity.sql

四、Toad使用快速入门

1.SchemaBrowser:

Schemabrowser是Toad的极为有特色的模块。

在schemabrowser的帮助下,可以方便的浏览数据库内部的各类数据库对象,比如表,索引,序列,存储过程等,而且可以方便的倒出DDL语句和进行各种修改,重建工作。

定位到某一类对象上,这列对象允许的操作都会自动列出来。

特色:

●支持Oracle数据库里面所有对象的新建、查看、修改,集成了几乎对所有数据库对象的管理所需要的功能。

●按照模式->对象类别->对象->对象可操作属性->对象本身的详细信息和对象相关的信息来组织,非常有条理,容易定位对象,也能够看到所有你需要的对象的相关信息。

●对于表:

i.完备的建表向导,不用输入冗长的语法,更加全面地替你考虑。

ii.可以修改表的各种逻辑和物理属性,修改列的属性,增加列,删除列(在Oracle8i里面),修改表的物理存储属性,Truncate,Drop等。

iii.可以生成建表的完整的DDl语句,包括存储信息,权限信息,约束,索引和触发器等,而这些手工很难做到。

iv.可以方便的对表进行分析,查看表地所有信息,可以有条件的倒出表里面的数据,并且保存为sql语句。

v.可以方便的对表进行重组,可以完成exp/imp作不到的事情,而且更少地人工参与,更加安全。

●对于视图,存储过程:

vi.可以保存建立视图、存储过程的语句为文本,

vii.重新编译失效的视图,存储过程,修改视图的定义语句等。

方便的查看存储过程的代码,相互依赖关系,权限信息等保存为文本等。

●回滚段,

viii.简洁明了的online,offline状态,方便地online/offline操作

ix.详细的回滚段物理信息和当前状态。

x.可以方便的修改物理存储属性

●表空间:

xi.TablespaceMap;直观的显示数据物理的在表空间上的分布

xii.直观的查看各个表空间的利用率、剩余空间、破碎情况等信息

xiii.可以进行各种alter操作:

online,offline,增加数据文件,改变数据文件大小,改变物理存储属性等

●对其他数据库对象也有完备的操作支持。

2.

SQLEditor:

a)激活SQLEditor的三种方式:

i.连接到数据库之后,Toad自动打开SQLEditor这个窗口。

ii.点击总工具栏上最左边的那个按钮

iii.从菜单栏:

Database->SQLEditor

b)特点:

●允许同时打开多个编辑窗口,同时编辑多个SQL语句

●支持同时连接到多个数据库,同时对多个数据库进行操作

●允许编辑SQL,PLSQL,JAVA,HTML和文本

●使用书签功能,可以在大量SQL语句里,快速定位某个语句所在位置

●SQLEditor本身具有强大的编辑功能,非常方便编辑SQL语句。

●强大的快捷键支持和工具栏快速按钮的支持,更加高效编写(很多快捷键可以自己定义,在View->options->SQLEditor里面)

●能够根据前面的条件,智能推测需要输入的代码,可以做到某种程度的代码智能填充

●把鼠标定位到表/视图/存储过程名称之上,按F4,可以打开对象描述窗口,方便的查看表和视图的定义,存储过程的源代码,

●非常容易对SQL语句的分析其执行计划:

单击工具栏上的

按钮就可以看到ExplainPlan的结果

●支持部分SQL*Plus命令,可以方便的执行大量的为SQL*Plus编写的数据库脚本

●可以通过SQLabxpert来对当前SQL语句进行全面的分析,给出各种合理的调优意见,只需要单击工具栏上的Tuning按钮:

●可以方便的保存,打开和运行SQL脚本

●支持对查询结果进行修改,

●可以把查询结果以多种格式保存起来,可以保存为HTML,纯文本,XLS等多种格式

●很容易的得到SQL函数的列表和用法描述(ShowSQLhelpWindow按钮)

●可以查看SQL语句的执行情况:

通过下方的AutoTrace窗口

,看到SQL语句的实际执行结果和执行效率。

●支持历史SQL(F8)

可以方便的查询以前执行过的SQL,不用反复重新输入。

●可以执行匿名块,存储过程,从下方的窗口看到DBMS_OUTPUT的结果,如:

过程:

begin

test

(1);

end;

3.StoredProcedureEditor

a)打开存储过程编写器的几个途径:

●单击总菜单栏上的第三个按钮:

●点击Database->ProcedureEditor,

●可以通过Schemabrowser来调用

b)一些特点和优点:

1.强大的自定义设置:

从保留字的显示方式,到自动替换,到各种快捷键的定义等等,用得越熟越顺手。

2.

3.自动用不同颜色显示SQL和PL/SQL关键字,语法清晰明了,可根据自己的习惯来具体定制各类关键字的具体显示方式。

4.可以自定义存储过程得模板,在新建存储过程的时候,自动生成程序的框架

5.可以方便的调用SchemaBrowser,把鼠标定位于某个对象上,F4,SchemaBrowser打开该对象的详细描述,帮助顺利快速开发程序。

6.支持代码自动更正,如输入ndf,自动替换成NO_DATA_FOUND,输入the自动替换成the,类似的自动替换还可以自己修改和添加。

7.方便的左边行号显示,单击左边行号就可以实现调试断点的增加/删除

8.对各种快捷键的支持,不但包括常见的编辑操作,还可以有自己定义的PLSQL块的支持(自己定义快捷方式)。

如可以定义CTRL+SHIFT+D:

弹出所有PLSQLBlock的类型,可以自己选择。

9.可以在一个集成开发环境里面,一边编码,一边调试,不用多处切换

10.方便的同时打开多个存储过程,通过页面快速切换

11.快速编译存储过程,快速定位错误所在,自己选择是否同时编译依赖的存储过程

12.内置对PL/Formatter,可以用PL/Formatter对存储过程进行格式化,并且可以提供存储过程的概要分析和修改建议

PL/Formatter可以对现有的存储过程进行高速的格式化,使所有的存储过程都符合同样的编写标准,这样既有利于提高程序的可读性,避免不同人写的模块的风格上的很差异。

PL/Formatter还有助于提高程序的模块化,增强程序的结构清晰度,增强SQL的共用性。

PL/Formatter还可以帮助完成PL/SQL和Oracle版本之间的管理。

格式化后:

IFi_table_name='ADDR'THEN

SELECTaddr_id_seq.NEXTVAL

INTOo_max_id

FROMDUAL;

RETURN;

ELSIFi_table_name='CUST'THEN

SELECTcust_id_seq.NEXTVAL

INTOo_max_id

FROMDUAL;

RETURN;

ELSIFi_table_name='ACCT_NBR'THEN

SELECTacct_nbr_seq.NEXTVAL

INTOo_max_id

FROMDUAL;

RETURN;

Hfdsjal

格式化前:

IFI_TABLE_NAME='ADDR'THEN

SELECTaddr_id_seq.nextvalINTOo_max_id

FROMDUAL;

RETURN;

elsifI_TABLE_NAME='CUST'then

SELECTcust_id_seq.nextvalINTOo_max_id

FROMDUAL;

RETURN;

elsifI_TABLE_NAME='ACCT_NBR'then

SELECTacct_nbr_seq.nextval

INTOo_max_id

FROMDUAL;

RETURN;

 

13.内置RevealNetKnowledgeBase,单击鼠标右键就可以打开,快速得到技术上的支持,解决技术难题

⏹PL/SQL:

⏹包含整个开发过程中可能遇到问题的答案

⏹CodeLibrary:

大量的严谨的PL/SQL代码例子和现成过程,完全源代码提供

⏹各种错误处理模块可供参考,各类字符日期函数

⏹包含1400多个主题

⏹Admin:

⏹解答DBA日常工作中80%的常见问题,覆盖2400多个主题

⏹从网络到性能优化,从备份恢复到Errormessage,一应俱全

可能的解决方案,以及详细的解释:

*DBMS_DDL.ALTER_COMPILE

*DBMS_UTILITY.COMPILE_SCHEMA

*编译失效对象的脚本

*报告哪些对象已经失效,需要编译

*给出编译的脚本

例子:

遇到失效的存储过程怎么办?

4.如何对存储过程进行Debug?

◆需要Toad单独的DebugOption(StandardVersion没有这个选项)

◆要用Toad对存储过程进行debug,必须安装Oracle的系统包:

dbms_debug,而且必须安装OracleProbeAPIv2.0或者更高的版本。

◆集成在StoredPrecedureEditor里面,可以一边编写一边调试,大大提高开发效率

◆打开ProcedureEditor后,Debug菜单激活,可以开始进行Debug工作。

◆允许对存储过程进行逐行调试、断点调试,也支持对触发器进行调试。

◆可以有断点支持,支持Watch变量,允许运行时改变变量的值

◆允许对多层调用的Debug支持

调试步骤具体举例:

1.点击菜单栏的第三个按钮:

,打开ProcedureEditor

2.点击ProcedureEditor的菜单栏的

按钮,调出需要调试的存储过程

3.单击工具栏上的按钮

,输入需要传入的参数,如果不需要传入参数,可以直接单击工具栏上的按钮:

,直接开始调试,如下图输入传入参数:

4.单击菜单栏的按钮:

,可以单步跟踪,也可以定义一个断点,直接运行到断点在单步执行,在存储过程运行的过程中,当前语句会高亮度显示,并且把鼠标指针定位到变量上,Toad自动显示该变量的当前值。

5.可以随时中止程序的执行,只要点Debug->HaltExecution,或者菜单栏上的按钮

,就可以中止程序的执行

6.当碰到一个存储过程调用另外一个存储过程的时候,可以选择跳过(StepOver)

,这样就直接运行那个被调用的存储过程,返回调用结果,继续这个存储过程的调试,也可以选择TraceInto

,这样就打开被调用的存储过程,进一步深入调试那个被调用的子存储过程。

如果需要保持Debug信息,在编译的时候应该选择CompileDependencieswithDebugInformation,就是ProcedureEditor工具栏最右边的那个按钮

7.支持对变量实时追踪:

使用Watch:

可以在运行前,或者运行过程中对某个变量进行实时跟踪:

AddWatch,把鼠标定位到该变量上,然后点击Debug->AddWatchAtCursor,该变量就会出现在Debug状态窗口上,而且实时反应该变量的当前值。

如上图中的变量v_empname。

可以运行时刻修改

8.断点支持:

单击存储过程需要加断点的地方的行号,该行颜色变红,输入参数,单击执行按钮

,可以直接运行到断点处,可以不必逐行追踪,更加高效率的进行调试。

DebugOption还支持条件断点,只有当满足条件的时候才会在那个地方停止,否则就好像不存在这个断点一样继续运行。

Ë注意DBMS_OUTPUT.PUT_LINE的结果只有当程序执行完成以后才会出现,在程序执行过程中是没有结果的。

4.

如何用SQLabXpert对存储过程进行调优?

我们知道,Oralce数据库的优化,最主要的步骤就在于SQL的优化。

而在没有专门的工具(如Toad)的帮助下,进行SQL优化是一件非常困难和乏味的事情,并且需要对Oracle的深入理解和高超的Oracle调优技巧。

使用Toad的SQLabXpertTuning模块,可以使我们普通开发人员也能够非常快速,精确的对SQL进行专家级的分析

在SQLEditor和ProcedureEditor里面,选中需要调试的SQL语句(SQLabXpert只能调试Select,Insert,Update,Delete语句),复制到SQLEditor里面,然后点击工具栏上的调优按钮

,Toad会自动打开SQLabxpert窗口,捕获当前的SQL语句,并且把它转化为符合explainplan格式的语句。

第一次打开Xpert的时候,Toad会提示你,需要安装一些Server端的表、视图和包等对象,可以把表存储到某个指定的表空间(如Tools)里面。

可以简单的按照提示一步一步做就可以了。

如果系统设定不允许Job的话(Job_queue_process=0),Toad提示有些部件不会现在安装,可以忽略。

安装完成以后,可以选择让某些非DBA用户也可以使用Toad的SQLabXpert调优功能。

安装完成以后,Toad会提示你一些关于优化目标方面的问题,你可以选择每次优化都可以重新设定,或者一次设定,以后一直使用这个设定。

当然如果需要,还是可以更改的,在SQLabOptionxpert的窗口的Administration和Preference下面重新设定。

例子:

下面这个SQL语句涉及到多表之间的关联,有一定的复杂性,我们可以借助Toad的SQLabXpertOption来帮助分析:

selecta.name.b.name,c.emp_name

fromdepa,managerb,empc

wherea.dep_no=c.DEP_NO

andb.manag_id=c.manag_id

andc.emp_no=3

我们把这个SQL复制到SQLEditor里面,单击上面的调优按钮,Toad打开SQLabXpertOption窗口。

如下图:

从上面的图中我们可以方面的看到:

在各种优化模式下,该SQL语句的执行计划分别是什么样的,Toad给出了每一种执行计划的具体每一个步骤,每个步骤的成本,该表涉及的相关的数据等,如果SQL存取的表还没有经过分析,Toad会以红色警告显示,并且很方便的帮助你对该表进行分析,收集统计数据,重建索引等,以有助于优化器作出最好的选择。

可以把当前的分析结果保存到它的资料库里边,以备以后再次调用之需。

我们还可以求助与SQLab的自动优化功能:

点击OriginalSQL下面的autotune按钮,Toad会对执行结果按照tkprof进行分析(当然,这需要你在initsid.ora里面设置好utl_file_dir,如果服务器是在Unix机器上的话,还需要通过FTP方式得到Trace文件,有一些小小的设置)。

自动优化非常高效的对所有执行计划进行实际运行比较,并且给出实际执行的时间的对比,如下图:

我们还可以让Toad给出实际的优化建议:

点击OriginalSQL,单击下面的Advice按钮,Toad根据对SQL的分析和执行结果给出合理的建议:

如:

1.把表和索引分别放到两个不同的表空间,因为我们在创建表,加上约束的时候没有指定USINGINDEX子句,所以表和索引都建立在了用户的默认表空间上了。

2.对表EMP,DEP和MANAGER进行分析,收集最新的统计数据,有利于CBO得到最优的执行计划

3.在合适的列上创建索引:

EMP的manag_id和dep_no。

当表中存在大量的数据的时候,这样可以大大减少由于全表扫描带来的成本。

5.

SQLModeler:

SQLModeler可以帮助开发人员很容易的写出各种复杂的SQL语句,只需通过简单的拖动鼠标,就能够写出复杂的SQL语句来。

打开SQLModeler的几个途径:

i.菜单栏Database->SQLModeler,打开窗口

ii.单击工具栏第四个按钮

,打开SQLModeler窗口

窗口由三个主要部分组成:

⏹表选择区域:

最右边的那个部分,用来选择From子句中用到的表。

拖动到左边的区域或者双击就选择了该表。

⏹表模型区域:

用来图形化的显示选择的表和表之间的关联关系。

⏹生成SQL区域:

这里显示用图形化方式创建的查询对应的SQL语句,

在SQLModeler里面,还支持对生成的SQL进行ExplainPlan,调试SQL的性能,运行SQL,看是否得到了希望的结果,保存生成的语句,或者把语句粘贴到SQLEditor里面。

有了SQLModeler的帮助,即使是初级的程序员也能编写出复杂而又高效的SQL查询来。

比如下面的例子;

生成步骤:

1.选出表emp,dep,manager

2.用鼠标拖住emp的emp_name和emp_no,dep的name,manager的name

3.双击criteria窗口的emp_nocondition列,弹出窗口,输入查询条件,比如emp_no=3

4.由于结果里面不希望emp_no出现,双击emp_no列的visible,设置为false

5.这样就出来了需要的查询,现在可以运行查询得到结果,对查询SQL进行分析,或者在SQLEditor里面打开这个SQL

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2