工欲善其事, 必先利其器.

oracle 调优方面有很多工具, 目前 UI 个人只打算使用 Toad.

重要文件

一. alert log file. (位置 parameter BACKGROUND_DUMP_DEST)

这个文件中有很多重要的内容, 可以通过调整 LOG_CHECKPOINTS_TO_ALERT 这个参数, 将 checkpoint 内容写到这个文件中.

使用方法 :

1. 可以搜索带 ORA 开头的内容, 例如使用 vi 工具的 /ORA, 这样可以快速定位错误的内容加以判断.

2. 那些可以影响到 database structure and parameters and statements的操作, 例如 create database, startup, shutdown, archivelog and recover.

3. instance start 时那些不是默认的是否正确

二. User Trace file

这个文件包含了 sql statement 执行的一些统计信息, 可以是 session 级别的, 也可以是instance 级别的(全部session都包括), 一般我们使用 session 级别的.

instance 级别, 设置方法是将 sql_trace 这个参数设置为 true. 注意: 这样会造成 user trace file 这个文件很大.

session 级别, 即只针对某些特殊的 session 来进行 trace file 确认. 设置方法: execute dbms_system.set_sql_trace_in_session(8, 12, true);

以上设置的参数分别的, 8 是 system identifier , 12 是 serial number, true 表示接下来的 sql statement 可以写到 trace file.

也可以使用 alter session set sql_trace= true  -- 只针对当前 session 来设置的 sql_trace.

三. 动态视图和数据字典(也不知道这些视图等是否能用上, 先罗列吧)

这里有很多动态视图和数据字典, 下面一一道来:

数据字典:

dba_tables

dba_tab_columns

dba_clusters

dba_indexes

index_stats

index_histogram

dba_tab_histograms

动态视图: 其中 P 表示 performance tuning, T 表示 Troubleshooting

wait event (这个也是 oracle 一个动态视图, wait events provides information on the sessions that had to wait or must wait for different reasons)

v$event_name

v$session_event: waits for an event for each session that had to wait.

v$session_wait: waits for an event for current active session that are waiting

v$system_event: total waits for an event, all session together.

另外, 还有一些参数可以设置你搜集统计信息的级别:

STATISTICS_LEVEL

TIMED_STATISTICS

TIMED_OS_STATISTICS

DB_CACHE_ADVICE

重要工具 STATSPACK(目前看来这个工具可以得到上面视图一样的内容, 而且更方便)

statspack 必看文档 rdbms/admin/spdoc.txt

statspack 是一个用户, snapshop 快照存储在表里, 因为 statspack 在执行快照时保存的数据大, 所以最好要创建表空间为 statspack, 然后将所有的 statspack里的所有表都存放在这个表空间里.

1. 安装 statspack: 调用脚本 spcreate.sql

2. 收集统计信息, execute statspack.snap

3. 自动收集统计信息, 调用脚本 spauto.sql

4. 生成report: spreport.sql

5. 有关时间的统计信息, 将参数 TIMED_STATISTICS 设置为 ture.

下面看看 statspack 都能输出哪些我们想要的信息: (注意, 以上的动态视图等也是得到我们想要的信息)

  • database and instance name
  • time at which the snapshots were taken
  • Current sizes of the cache
  • load profile
  • efficiency percentages of the instance top five wait events
  • complete list of wait events
  • information on SQL statements currently in the pool
  • instance activity statistics
  • tablespace and file I/O
  • buffer pool statistics
  • rollback or undo segment statistics
  • latch activity
  • dictionary cache statistics
  • library cache statistics
  • SGA statistics
  • startup values for init.ora parameters

看到上边的内容, 基本可以判断, statspack 输出了我们想要的所有内容.

oracle tuning 工具的更多相关文章

  1. Oracle Tuning (Oracle 性能调整)的一些总结

    Oracle Tuning (Oracle 性能调整)的一些总结 Oracle Tuning (Oracle 性能调整)的一些总结关于Oracle的性能调整,一般包括两个方面,一是指Oracle数据库 ...

  2. Oracle客户端工具出现“Cannot access NLS data files or invalid environment specified”错误的解决办法

    Oracle客户端工具出现"Cannot access NLS data files or invalid environment specified"错误的解决办法 方法一:参考 ...

  3. 电脑上不安装Oracle时,C# 调用oracle数据库,Oracle客户工具

    Oracle的安装包通常都比较大,安装又比较费时,而且如果安装过程中不幸出错,各种蛋疼,即便是安装过N遍的老手,有时候安装起来也觉得挺烦.而工作中,通常服务器上面安装oracle就可以了,我们本地电脑 ...

  4. 客户视角:Oracle ETL工具ODI

    客户视角:Oracle ETL工具ODI 数据集成已成为企业在追求市场份额中的关键技术组件,与依靠手工编码的方式不同,越来越多的企业选择完整的数据集成解决方案来支持其IT战略,从大数据分析到云平台的集 ...

  5. oracle tkprof 工具详解

    oracle  tkprof 工具详解 今天是2013-09-26,进行tkprof工具使用学习,在此记录一下笔记: 一)查看需要跟踪会话信息: select s.sid,s.serial#,s.us ...

  6. Oracle客户端工具安装

    Oracle简易客户端登录工具安装 @[Database|Oracle|客户端工具] [TOC] 引言 Oracle服务的安装是一件的繁琐的事情,我们往往喜欢在本地不安装oracle数据库的方式来访问 ...

  7. oracle12c:通过oracle客户端工具配置tns,并使用sqlldr进行批量导入数据

    通过oracle客户端工具配置tns: 进入oracle配置工具“Net Configuration Assistant”-> 点击“下一步”,完成tns配置. 测试是否tns可用 命令:tns ...

  8. 电脑上不安装Oracle时,C# 调用oracle数据库,Oracle客户工具 【转载】

    http://www.cnblogs.com/jiekzou/p/5047850.html Oracle的安装包通常都比较大,安装又比较费时,而且如果安装过程中不幸出错,各种蛋疼,即便是安装过N遍的老 ...

  9. Oracle诊断工具 - ORA-4030 Troubleshooting Tool

    ORA-4030 说明Oracle服务器进程(server process)无法在操作系统(OS)上分配到足够的内存.   导致ORA-4030 的主要原因有: -物理内存不足 -OS kernel/ ...

随机推荐

  1. 聊聊iOS中网络编程长连接的那些事

    1.长连接在iOS开发中的应用 常见的短连接应用场景:一般的App的网络请求都是基于Http1.0进行的,使用的是NSURLConnection.NSURLSession或者是AFNetworking ...

  2. attributes vs properties --记于jquery attr不能正确更新input的value值后

    最近做的前端页面是个单页面应用,需要经常给个input赋值什么的. 我常用的方式是$('#id').attr('value','XXXX'),一直可以正常使用.今天突然发现一个问题,某个要赋值的inp ...

  3. Android蓝牙音乐获取歌曲信息

    由于我在蓝牙开发方面没有多少经验,如果只是获取一下蓝牙设备名称和连接状态那么前面的那篇文章就已经足够了,接下来的内容是转自一个在蓝牙音乐方面颇有经验的开发者的博客,他的这篇文章对我帮助很大. 今天,先 ...

  4. python小写转大写金额

    python小写转大写金额 摘自:http://shine-it.net/index.php?topic=14575.0 def _rmb_upper(self, value): "&quo ...

  5. Struct2-使用随笔

    提要:最近写了一个2-3各页面的使用Struts2的Demo,在这里做下总结,都已经3年多没做J2EE了,有些感觉都快找不到了. 目录 1.必备开发工具 2.必备jar包 3.了解知识点 4.遇到的问 ...

  6. 浅谈Volatile与多线程

        标题:浅谈Volatile与多线程 2011-04-19 22:49:17 最近看的比较杂,摘了一些人的笔记!随着多核的日益普及,越来越多的程序将通过多线程并行化的方式来提升性能.然而,编写正 ...

  7. Tomcat日志、项目中的log4j日志、e.printStackTrace()——我的日志最后到底跑哪去了?

    1.Tomcat自带日志功能,即时你的项目中有log4j也不会影响到Tomcat自己记录日志. 2.你的项目中的log4j中的日志指定打印到什么地方(控制台或者文件),便会打印到什么地方,和Tomat ...

  8. 基于RxJava2+Retrofit2简单易用的网络请求实现

    代码地址如下:http://www.demodashi.com/demo/13473.html 简介 基于RxJava2+Retrofit2实现简单易用的网络请求,结合android平台特性的网络封装 ...

  9. JS遍历数组类型元素

    已停供用户不能再次停供,之前没太处理过多维数组的遍历,趁这个机会回顾一下js数组遍历 可以看出rows 获取了两条数据,为二维数组类型 方法 function batchTgWin() { var r ...

  10. Linux-查看进程的完整路径

    通过ps及top命令查看进程信息时,只能查到相对路径,查不到的进程的详细信息,如绝对路径等.这时,我们需要通过以下的方法来查看进程的详细信息:Linux在启动一个进程时,系统会在/proc下创建一个以 ...