ITPub博客

首页 > Linux操作系统 > Linux操作系统 > [转]toad 中文文档-03

[转]toad 中文文档-03

原创 Linux操作系统 作者:31597359 时间:2019-03-24 19:54:05 0 删除 编辑
toad 中文文档-03

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脚本,给出汇总的区别简要和详细报告等。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8000572/viewspace-62300/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2006-10-07

  • 博文量
    45
  • 访问量
    32344