首页 > 代码库 > Toad 补充与培训

Toad 补充与培训

补充

knowledge xpert for pl/sql (有专题, 例如 best practice)

CodeXpert (在pl/sql编辑版的下半部分) 可以对pl/sql语句进行有效的优化提示

培训

1. 系统监控用户设置 

做系统级的监控只能用 sys 和 system 用户, 在 toad 中使用 sys 要将中间部分的 sysdba, 用system用户, 中间部分选择 normal. sys 用户只能用来做管理, system本质上是一个普通用户, 被赋予了管理权限.

 

2. 创建新的连接方式

在 toad 登陆接界面, 点中下部的 TNSNames Editor 按钮, 在弹出的窗口的上边工具栏找到 Add Service按钮, 根据提示, 添加新的连接

注: 虽然手动在 tnsnames.ora中添加也是可以的, 但是用这种方式添加更加稳妥, 添加完后, 你会看到添加后的代码.

 

3. 使用 toad 紧急恢复数据(闪回)

用例: 在10分钟前(注意这个时间, 因为闪回技术主要依赖于在undo表空间里的数据镜像, undo表空间里的数据如果想不被覆盖, 是有一个时间限制的, 有个参数, 一般是15分钟, 所以这个用例使用的是10分钟前, 如果是1年前, 那么你还想闪回么?) 某操作员不小心对表t的某列做了修改, 现在如何恢复10分钟前的数据

解答:

如果未提交, 则直接 rollback, 如果已经提交了, 则按下面步骤进行恢复

(1) create table t_temp as select * from t as of timestamp sysdate – 1/144;   -- 创建一个临时表, 保存了包含10分钟前被修改前的数据

(2) select * from t-1/144;   -- 这个没看出来有什么用, 个人感觉应该是 select * from t_temp 确认是否包括需要返回的数据

(3) merge into t as t using t_temp as tt on (t.primarykey = tt.primarykey) when matched then update set t.name = tt.name

 

4. Excel 文件导出

Excel File 与 Excel Instance 不同, 用 Excel File 导出时, 不同的查询结果都导出到不同的Excel文件中, 而 Excel Instance 导出时, 不同查询结果会导出到同一个 Excel 中的不同页签.

若导出的数据要导入到不同类型的数据库, 则需要再下拉框中选中 Insert Statement, (在想选择excel的地方), 这里注意, 如下图:

imageimage

 

5. 使用 toad 监控会话实时情况

查看最耗用资源的session ( database->monitor->Top Session Finder 路径可能不同, 不过 Top Session Finder 找这个就可以了 ), 点执行(播放按钮)

单击饼状图, 会出现session信息, 这些信息里比较重要的是( sid, oracle user, os user, machine )

根据 sid, 在 Editor 窗口中输入: select * from v$session where sid = ‘3232’ 执行, ( 这个sid就是刚刚查出来的那个sid), 通过这里, 可以查看这个session是什么时间登陆的, 如果登陆了很久, 那很可能是死进程, 这里也可以查到 process(进程号), ps-ef|grep 1232 查看该进程

 

6. 使用 toad 监控索引

database->monitor->index monitoring(路径可能不一样)

补充: 索引的特点是, 方便数据查询, 不方便数据更新, 因此, 索引不能随便建.

经验: 一个索引若三个月没有用到, 就可以删除.

这里的监控索引, 主要是看索引是否被使用.

 

7. 使用 toad 查看sql执行计划

将要执行的sql粘贴到 sql editor中, 然后点工具栏中的小救护车图标, 注意: 不用执行 sql, 只需要执行计划.

执行计划中的 table access Full 要关注 ( 全表扫描 )

cost 值越大表示耗用资源越多

还要关注最上层的 Cost 值, 在这里有个经验, 以 10000 为界限, 超过 10000 就要予以关注

oracle规则是: 当查询出的数据占记录数的 60% 的时候就不会走索引.

 

8. 使用 toad 查看各个对象

在 schema browser 中查看.

表空间, 应该关注的是表空间的使用率, 这里也有一个经验值, 当表空间超过 80% 的时候就应该予以关注.

 

9. 使用 toad 数据库健康检查

database->diagnose->DB Health Check( 路径可能不对 )

 

10. 使用 toad 对比表结构

database->compare->schemas ( 路径可能不对 )

这个可能很有用, 比如你想重新建立一个数据库而使用以前的数据库时, 可以使用这个功能将原数据库的结构导出来, 再用exp之类的将数据导入.

另外, 可以在页签中使用同步脚本, 点开各个对象后, 可以看到详细脚本

imageimage

imageimage

image

 

11. toad 秘密

如何知道 toad 在执行某项操作时, 执行了哪些 sql 语句

(1) 打开相应工具

image

也可以用以下方法打开工具:

image

(2) 选中 toad

image

(3) 执行某项操作

在上图的工具中, 就会显示刚刚执行的操作的后台的sql语句

image