如何手动挡如何换挡生成ASH报告

ASH、AWR、ADDM区别联系 - CzmMiao的博客生活 - ITeye技术网站
博客分类:
=========================================================================================================
概念知识梳理=========================================================================================================---&&根据时段区间生成ASH报告:----&&ASH报告信息:
ASH (Active Session History)
ASH以V$SESSION为基础,每秒采样一次,记录活动会话等待的事件。不活动的会话不会采样,采样工作由新引入的后台进程MMNL来完成。
ASH buffers 的最小值为1MB,最大值不超过30MB.内存中记录数据。期望值是记录一小时的内容。
生成ASH报告:
SQLPLUS&@?/rdbms/ashrpt.sql
ASH 内存记录数据始终是有限的,为了保存历史数据,引入了自动负载信息库(AutomaticWorkload Repository ,AWR) 由后台进程MMON完成。ASH信息同样被采集写出到AWR负载库中。由于内存不是足够的,所以MMNL进程在ASH写满后会将信息写出到AWR负载库 中。ASH全部写出是不可接受的,所以一般只写入收集的10%的数据量,而且使用direct-pathinsert完成,尽量减少日志的生成,从而最小 化数据库性能影响。
写出到AWR负载库的ASH信息记录在AWR的基础表wrh$active_session_hist中,wrh$active_session_hist是一个分区表,会自动进行数据清理。
AWR(Automatic Workload Repository)自动工作负载信息库
AWR是 10g中的一个新特性,类似于10g以前的statspack.不过在使用上要比statspack简单,提供的性能指标要比statspack多很多,能更好的帮助DBA来发现数据库的性能瓶颈。
AWR 是Oracle安装好后自动启动的,不需要特别的设置。收集的统计信息在SYSAUX表空间SYS模式下,以WRM$_*和WRH$_*的格式命名,默认会保留最近7天收集的统计信息。每个小时将收集到的信息写到数据库中,这一系列操作是由一个叫MMON的进程来完成的。
----&&根据snapshot敬意生成AWR报告:
----------&&AWR报告部分信息:
AWR的数据分类:
WRM$表存储AWR的元数据(awrinfo.sql脚本)
WRH$表存储采样快照的历史数据(awrrpt.sql脚本)
WRI$表存储同数据库建议功能相关的数据(ADDM相关数据)
一。生成AWR报告:
SQL&@?/rdbms/admin/awrrpt
根据向导来完成AWR报告的生成。需要注意的是,在选择时间范围的时候,中间不能有停机(如果显示的时间中间有空白行,表示有停机情况)。在选择报告类型的时候一般使用默认的HTML,方便查看。
二。查看数据库的AWR的设置:
SQL& select snap_interval, retention from dba_hist_wr_
SNAP_INTERVAL
---------------------------------------------------------------------------
---------------------------------------------------------------------------
+:00.0(每小时收集一次)
+:00.0(保留7天)
三。修改默认设置:
DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(interval =& 20,
retention =& 2*24*60);
修改成每20分钟收集一次统计量,保留最近的2天统计量信息。
四。手动收集一次数据库的统计信息:
exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT;
我们还可以通过DBMS_WORKLOAD_REPOSITORY包完成对基线,默认设置的修改等操作。
ADDM (Automatic Database Diagnostic Monitor AWR)
是Oracle内部的一个顾问系统,能够自动的完成最数据库的一些优化的建议,给出SQL的优化,索引的创建,统计量的收集等建议。
----&&根据AWR区间生成ADDM报告:
----&&ADDM报告概要信息: ADDM报告生成:
SQLPLUS&@?/rdbms/addmrpt.sql
Oracle 性能调整最重要的就是对最影响性能的SQL的调整。在一个应用中,能够影响到数据库的只有SQL,也只能是SQL.我们不能一味依靠增强硬件,修改系统、 数据库参数来提高数据库的性能。更多的应该关注那些最影响性能的SQL语句。ASH报告、AWR报告、ADDM报告都能够找出最影响性能的SQL的工具。 在分析ASH报告、AWR报告的时候,最重要的就是关注SQL Statistics,SQL Statistics中最应该关注的是SQL ordered byGets和SQL ordered byReads两个指标。大量的Gets(逻辑读)会占用大量的CPU时间。大量的Reads(物理读)会引起IO的瓶颈出现。一般情况下,大量的 Gets会伴随着大量的Reads出现。当然,我们可以通过增大SGA的大小来减少Reads的量。通过这两个指标找到了最影响性能的SQL,这是首要 的,也是必要的。下一步就可以通过创建索引,调整SQL来提高SQL单独执行时的性能。减少SQL执行时出现的高Gets,Reads.当然整体的性能影 响还和 excutions有关,如果这条SQL执行的次数过多,累加起来量还是很大的。那么就可以考虑通过在应用上缓存等手段来减少SQL执行的次数。另外还有 一个需要注意的问题就是在开发过程中SQL一定要使用绑定变量,来减少硬解析(大量的硬解析也会消耗大量的CPU时间,占用大量的Latch)。在开发过 程中有个原则就是:小事务。操作完成及时的提交。
我们使用这么多种方式、报告只有一个唯一的目的:找出最影响系统性能的SQL语句。找到SQL下一步就是对它进行调整了。
我们在监控数据库时,如果是当前正在发生的问题,我们可以通过v$session+v$sqlarea来找出性能最差的SQL语句。如果在一个小时以内发 生的我们可以通过生成ASH报告来找出SQL.如果是1小时以上或几天我们可以通过AWR报告来找出几小时,几天以来最影响系统的SQL语句。ADDM报 告基于AWR库,默认可以保存30天的ADDM报告。
我们也可以直接查询试图:
(当前正在发生)
v$session_wait
(当前正在发生)
v$session_wait_history
(会话最近的10次等待事件)
v$active_session_history
(内存中的ASH采集信息,理论为1小时)
wrh$_active_session_history
(写入AWR库中的ASH信息,理论为1小时以上)
dba_hist_active_sess_history
(根据wrh$_active_session_history生成的视图)=========================================================================================================
实 用 脚 本=========================================================================================================
@?rdbms/admin/awrrpt.sql是以前statspack的扩展,收集信息更详细,查看长期的数据库情况。@?rdbms/admin/ashrpt.sql查看当前的数据库情况,因为ash是每秒从v$session进行进行取样,awr收集的数据要比ash多得多。 一般收集数据库信息的话要结合awr和ash。@?rdbms/admin/addmrpt .sql相当于是驻留在oracle里的一位专家,是一个自我诊断引擎。产生symptom,problem,infomation,提供解决问题的建议,并自动修复一些具体的故障。@?rdbms/admin/awrinfo.sql显示的都是awr的相关信息,包括快照信息、sysaux空间使用、awr组件、ash等信息。=========================================================================================================
结=========================================================================================================awr与ash的最主要的区别在于:awr是平面的,全面的,ash是立体的,更侧重于session的event跟踪, 由于业务量大的数据库的event wait是瞬息万变,awr很可能会监控不到,为了弥补这个不足,ash才可以对session的event进行跟踪。 ash与addm的区别在于:addm偶重于基于对当据库当前状态的分析,对存在的问题提供指导性的意见,可以说ash,addm是awr的补充, awr全面地收集数据库的状态,但ash/addm是侧重要对收集的数据进行分析,并提供一些有益的建议。
参考至:http://blog.itpub.net//viewspace-1144554/
如有错误,欢迎指正
浏览: 805121 次
来自: 厦门
写的挺好的,学到了。
大虾请问你这篇文档里写的配置stonith设备都是指的物理设备 ...
非常详细了~ 赞当前位置:&&
本页文章导读:
&&&&?linux下redis的安装&&&&&&linux下redis的安装命令如下:
wget&/p/redis/downloads/detail?name=redis-2.0.4.tar.gz
&&tar&xvzf&redis-2.0.4.tar.gz &&cd&&redis-2.0.4&&make &&mkdir&/hom......&&&&?windows下redis的安装&&&&&&windows下redis的安装文件,从下面地址下载
/p/servicestack/wiki/RedisWindowsDownload#Download_32bit_Cygwin_builds_for_Windows
下载最新的版本
解压到指定的目录,比如E:/根目录下
在解压包......&&&&?手动创建数据库步骤(简单翻译官方文档)&&&&&&创建数据库前的规划:
1.预估表和索引所占空间大小
2.计划数据库文件在操作系统的分布(如:将REDO日志文件放在单独的磁盘或者磁带上)
3.选择一个全局数据库名(设置DB_NAME和DB_DOMAIN)
4.服务器参......
&&&&&&最新IT科技资讯推荐:
[1]linux下redis的安装
&&&&来源:&互联网& 发布时间:&
linux下redis的安装命令如下:
wget&/p/redis/downloads/detail?name=redis-2.0.4.tar.gz
&&tar&xvzf&redis-2.0.4.tar.gz &&cd&&redis-2.0.4&&make &&mkdir&/home/redis &&cp&redis-server&&/home/redis &&cp&redis-benchmark&&/home/redis &&cp&redis-cli&&/home/redis &&cp&redis.conf&&/home/redis &&cd&&/home/redis&
在安装过程中可能需要用到sudo命令,可能新装的redhat虚拟机中新用户还不能使用sudo命令,因此需要手动的修改/etc/sudoers文件,命令如下:
cd&/etc &&su&root&##切换为root用户,同时输入密码 &&chmod&u+w&sudoers&##放开sudoers文件的写权限 &&##在root&ALL&=&(ALL)&ALL下面一行增加&&你的用户名&&ALL&=&(ALL)&ALL &&:wq&##保存退出 &&chmod&u-w&sudoers&##取消修改权限&&
启动& ./redis-server redis.conf
客户端连接 ./redis-cli -h IP -p Port
作者:avenccssddnn 发表于 15:24:31 原文链接
阅读:50 评论:0 查看评论
[2]windows下redis的安装
&&&&来源:&互联网& 发布时间:&
windows下redis的安装文件,从下面地址下载
/p/servicestack/wiki/RedisWindowsDownload#Download_32bit_Cygwin_builds_for_Windows
下载最新的版本
解压到指定的目录,比如E:/根目录下
在解压包下面有几个文件
redis-server.exe:服务程序
redis-check-dump.exe:本地数据库检查
redis-check-aof.exe:更新日志检查
redis-benchmark.exe:性能测试,用以模拟同时由N个客户端发送M个 SETs/GETs 查询 (类似于 Apache 的ab 工具).
在解压好redis的安装文件到E:\根目录后,还需要在redis根目录增加一个redis的配置文件redis.conf,文件具体内容如下:
#&Redis&configuration&file&example &&&&#&By&default&Redis&does&not&run&as&a&daemon.&Use&'yes'&if&you&need&it. &&#&Note&that&Redis&will&write&a&pid&file&in&/var/run/redis.pid&when&daemonized. &&daemonize&no &&&&#&When&run&as&a&daemon,&Redis&write&a&pid&file&in&/var/run/redis.pid&by&default. &&#&You&can&specify&a&custom&pid&file&location&here. &&pidfile&/var/run/redis.pid &&&&#&Accept&connections&on&the&specified&port,&default&is&6379&&port&6379&&&&#&If&you&want&you&can&bind&a&single&interface,&if&the&bind&option&is&not &&#&specified&all&the&interfaces&will&listen&for&connections. &&# &&#&bind&127.0.0.1&&bind 202.117.16.133&&#&Close&the&connection&after&a&client&is&idle&for&N&seconds&(0&to&disable) &&timeout&300&&&&#&Set&server&verbosity&to&'debug'&&#&it&can&be&one&of: &&#&debug&(a&lot&of&information,&useful&for&development/testing) &&#&notice&(moderately&verbose,&what&you&want&in&production&probably) &&#&warning&(only&very&important&/&critical&messages&are&logged) &&loglevel&debug &&&&#&Specify&the&log&file&name.&Also&'stdout'&can&be&used&to&force &&#&the&demon&to&log&on&the&standard&output.&Note&that&if&you&use&standard &&#&output&for&logging&but&daemonize,&logs&will&be&sent&to&/dev/null&&logfile&stdout &&&&#&Set&the&number&of&databases.&The&default&database&is&DB&0,&you&can&select &&#&a&different&one&on&a&per-connection&basis&using&SELECT&&dbid&&where &&#&dbid&is&a&number&between&0&and&'databases'-1&&databases&16&&&&################################&SNAPSHOTTING&&################################# &&# &&#&Save&the&DB&on&disk: &&# &&#&&&save&&seconds&&&changes& &&# &&#&&&Will&save&the&DB&if&both&the&given&number&of&seconds&and&the&given &&#&&&number&of&write&operations&against&the&DB&occurred. &&# &&#&&&In&the&example&below&the&behaviour&will&be&to&save: &&#&&&after&900&sec&(15&min)&if&at&least&1&key&changed
&&#&&&after&300&sec&(5&min)&if&at&least&10&keys&changed
&&#&&&after&60&sec&if&at&least&10000&keys&changed
&&save&900&1&&save&300&10&&save&60 10000&&&&
[3]手动创建数据库步骤(简单翻译官方文档)
&&&&来源:&互联网& 发布时间:&
创建数据库前的规划:
1.预估表和索引所占空间大小
2.计划数据库文件在操作系统的分布(如:将REDO日志文件放在单独的磁盘或者磁带上)
3.选择一个全局数据库名(设置DB_NAME和DB_DOMAIN)
4.服务器参数文件配置
5.选择数据库字符集
6.选择支持的时区(缺省时区文件是timezlrg_11.dat)
7.选择标准的数据块大小
8.考虑是否手动指定在线重做日志的块大小
9.决定SYSAUX表空间的初始大小
10.给非SYSTEM用户创建(定义)一个缺省的表空间(不要使用系统表空间)
11.计划使用UNDO表空间来管理UNDO数据
12.规划一个备份和恢复的策略方案
13.熟悉开启/关闭实例、挂载数据库、打开数据库等原理
两种方式创建数据库:
一.使用DBCA工具创建
DBCA有两种运行模式,一种是图形化界面(交互模式);一种是命令界面(静默安装).
DBCA命令行模式安装:
dbca -silent -createDatabase -templateName General_Purpose.dbc
-gdbname ora11g -sid ora11g -responseFile NO_VALUE -characterSet AL32UTF8
-memoryPercentage 30 -emConfiguration LOCAL
Enter SYSTEM user password:
Enter SYS user password:
Copying database files
1% complete
3% complete
具体命令操作,请看 dbca -help。
二.使用CREATE DATABASE命令创建
使用CREATE DATABASE建库的优点在于可以使用脚本,实现自动建库.
使用CREATE DATABASE建库需要手动建立基于数据字典表的视图以及手动安装PL/SQL系统包.
通常SID名和数据库名是一致的(数据库名最大只能为8个字符).
WIN平台: SET ORACLE_SID=mynewdb
LINUX:&& ORACLE_SID=mynewdb
&&&&&&&&&&&&&& export ORACLE_SID
2.环境变量设置
ORACLE_SID和ORACLE_HOME必须设置,PATH环境变量最好包含ORACLE_HOME/bin路径,这样SQL*PLUS,NETCA工具才方便运行.
3.选择数据库管理员验证方式
两种方式:密码文件验证、操作系统验证
密码文件验证需要创建密码文件.操作系统验证需要安装用户为Oracle DBA Group组的.
4.创建初始化参数文件
创建文本,编辑文本,输入各个参数,建议至少包含以下3个参数(最小化参数),没有的参数会自动取缺省值:
DB_NAME:最大8个字符,应当与CREATE DATABASE命令中的数据库名一致.
CONTROL_FILES:如果没有此参数,数据库会自动创建一个控制文件在参数文件的目录下.
MEMORY_TARGET:开启自动内存管理,并设置总的使用内存数量.你可以使用更多的内存使用控制参数来代替这个参数.
建议建立参数文件在数据库的缺省位置,使用指定的文件名,这样启动时就不用指定PFILE参数了.
5.(仅针对windows)创建实例
格式:
oradim -NEW -SID sid -STARTMODE MANUAL -PFILE pfile
这样会在windows的服务里产生一个OracleServicesid的服务.
这里请不要设置ORADIM -STARTMODE参数为AUTO,因为这样它会自动开启这个创建的实例,并尝试挂载数据库.
6.连接实例(注意不是数据库)
使用SQL*PLUS:
密码验证方式下:
$ sqlplus /nolog
SQL& CONNECT SYS AS SYSDBA
OS验证方式下:
$ sqlplus /nolog
SQL& CONNECT / AS SYSDBA
成功连接后,SQL*PLUS返回 Connected to an idle instance.
7.创建服务器参数文件
CREATE SPFILE FROM PFILE;
可通过ALTER SYSTEM改变服务器参数文件(SPFILE)内容.
8.启动实例(没有挂载数据库)
STARTUP NOMOUNT;
到这里开始分配实例内存,并启动相关的进程.
9.执行CREATE DATABASE命令
注意DB_NAME要和参数文件中的一致
CREATE DATABASE mynewdb
USER SYS IDENTIFIED BY sys_password
USER SYSTEM IDENTIFIED BY system_password
LOGFILE GROUP 1 ('/u01/logs/my/redo01a.log','/u02/logs/my/redo01b.log') SIZE 100M BLOCKSIZE 512,
GROUP 2 ('/u01/logs/my/redo02a.log','/u02/logs/my/redo02b.log') SIZE 100M BLOCKSIZE 512,
GROUP 3 ('/u01/logs/my/redo03a.log','/u02/logs/my/redo03b.log') SIZE 100M BLOCKSIZE 512
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
CHARACTER SET US7ASCII
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '/u01/app/oracle/oradata/mynewdb/system01.dbf' SIZE 325M REUSE
SYSAUX DATAFILE '/u01/app/oracle/oradata/mynewdb/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE users
DATAFILE '/u01/app/oracle/oradata/mynewdb/users01.dbf'
SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/u01/app/oracle/oradata/mynewdb/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs
DATAFILE '/u01/app/oracle/oradata/mynewdb/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
假定控制文件已经在参数文件中指定了.
从Release 11g开始,SYS或SYSTEM的密码是大小写敏感的.
上面的建库命令指定了3个REDO日志组,每个组2个文件,指定了最大日志文件数、成员数、数据文件数.REDO日志的块大小设置为512(可以设置为512,).
数据存储字符集设置为US7ASCII,国家字符集设置为AL16UTF16,影响NCHAR, NCLOB,NVARCHAR2等列数据的存储.
创建了SYSTEM表空间、SYSAUX表空间,创建了USERS缺省表空间、临时表空间tempts1、UNDO表空间undotbs.
EXTENT MANAGEMENT LOCAL指定了采用本地管理表空间模式管理表空间,如果省略此子句,缺省则为字典管理表空间模式,此模式oracle不建议使用.
如果忽略UNDO表空间创建,系统会自动创建一个SYS_UNDOTBS的UNDO表空间.
使用OMF(Oracle Managed Files)建库:
需要设置DB_CREATE_FILE_DEST初始化参数,如:DB_CREATE_FILE_DEST='/u01/app/oracle/oradata'
CREATE DATABASE mynewdb
USER SYS IDENTIFIED BY sys_password
USER SYSTEM IDENTIFIED BY system_password
EXTENT MANAGEMENT LOCAL
DEFAULT TEMPORARY TABLESPACE temp
UNDO TABLESPACE undotbs1
DEFAULT TABLESPACE
10.创建其他表空间
CREATE TABLESPACE apps_tbs LOGGING
DATAFILE '/u01/app/oracle/oradata/mynewdb/apps01.dbf'
SIZE 500M REUSE AUTOEXTEND ON NEXT
1280K MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;
-- 给索引创建单独的表空间
CREATE TABLESPACE indx_tbs LOGGING
DATAFILE '/u01/app/oracle/oradata/mynewdb/indx01.dbf'
SIZE 100M REUSE AUTOEXTEND ON NEXT
1280K MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;
11.使用脚本建立数据字典
使用脚本建立数据字典视图、同义词、PL/SQL系统包等。
SQL*PLUS下执行:
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
@?/sqlplus/admin/pupbld.sql
其中catalog.sql脚本创建了数据字典表,动态性能视图,公共同义词
其中catproc.sql脚本包含了所有PL/SQL运行需要或使用的脚本
其中pupbld.sql脚本是SQL*PLUS使用所需要的.
12.安装其他脚本(可选的)
根据应用需要或者安装其他oracle产品,运行相应的脚本文件
13.备份数据库
在安装完成后,应当进行一次数据库全库备份以防止介质损坏发生.
作者:edcvf3 发表于 15:16:01 原文链接
阅读:57 评论:0 查看评论
最新技术文章:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!
(C)2012-,站长邮箱:www_169it_(请将#改为@)后使用快捷导航没有帐号?
查看: 332|回复: 0
手工生成ASH报告记录
论坛徽章:9
我们之前探讨过AWR报告的手工方法(http://space.itpub.net//viewspace-700471),借助AWR报告的定时snapshot功能,我们可以有选择性的选取时间段系统数据进行分析,最后获取综合诊断情况。除了AWR报告,Oracle10g版本中还推出了ASH和ADDM两个工具,用于进行系统细粒度分析和自动化专家优化方案。其中,ASH(Active Session History)是一种比AWR更加细粒度分析系统会话、发现前端应用梗塞之处的工具。 对于Oracle数据库而言,大部分的请求都是以会话session的方式出现。一般情况下,单一会话对系统性能的影响是很小的,特别是OLTP系统。如果由于会话的原因引起系统性能,其中重要表现大都是前端应用无响应、无有效连接,同时系统表现出会话执行SQL或者等待事件的信息。同时,特定的Server Process存在高消耗的情况。 在会话引起性能问题或者高消耗发生的时候,我们可以通过v$session、v$session_wait等视图定位到是哪个会话的那个SQL语句引发的问题,及时进行处理。但是实际中引起一直阻塞的会话是比较少见的,一旦会话结束或者解除终止,信息就会从v$session和v$session_wait中被剔除掉。这个时候如果需要进行性能观察就需要使用ASH(Active Session History)报表了。 ASH是Oracle 10g中推出的一系列性能监控报表的一个。ASH原理同AWR有相似之处,都是采用性能镜像收集的原理。只是ASH收集的频率更高,大约每秒进行一次收集,这样可以尽可能保存住高消耗会话的信息。其次就是收集范围上ASH不会如同AWR那样的广范围收集,主要集中在会话、关键SQL和Top活动方面。与AWR默认大约保存一个月有所不同的是,ASH保存的时段比较短,为几天到几周的范围。不过对于临时性性能分析或者关键业务时段分析而言已经够用了。
在Oracle10g后,可以使用OEM的可视化工具生成ASH或者查看关键Top信息。但是当系统没有OEM可以使用或者根本没有安装OEM的时候,手工生成ASH报告就是不错的方式。本篇介绍如何手工生成ASH报告,权当记录。
1、&&准备环境,调用执行脚本 在AWR手工生成的文章中,笔者选择了在Oracle服务器Linux端生成报告文件,之后再使用FTP工具进行下载到本地。本次使用客户端的脚本进行生成,为了保证一致性,尽可能使用与服务器相同的客户端脚本。 在命令行工具中定位到适当的目录下,之后启动Sqlplus工具。
SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 7月 16 21:23:06 2011Copyright (c) , Oracle.&&All rights reserved. SQL& conn sys/oracle@已连接。SQL& SQL& select dbid, name,log_mode from v$ & && &DBID NAME& && &LOG_MODE---------- --------- ------------ ORCL& && &NOARCHIVELOG
之后调用生成脚本ashrpt.sql。如果是使用Sqlplus工具,可以直接使用?来代指Oracle本地的$ORACLE_HOME目录。
SQL& @?/rdbms/admin/ashrpt.sql
如果是使用PL/SQL Developer等工具,就需要直接指定目录位置,?代指符的作用就不存在了。 调用脚本之后,就需要输入连带的参数信息。 2、&&输入相关参数 ü& && &&&输入报告类型 同AWR一样,ASH提供txt和html两种格式的报表选择。
SQL& @?/rdbms/admin/ashrpt.sql Current Instance~~~~~~~~~~~~~~~~ & &DB Id& & DB Name& && &Inst Num Instance----------- ------------ -------- ------------
ORCL& && && && && & 1 orcl Specify the Report Type~~~~~~~~~~~~~~~~~~~~~~~Enter 'html' for an HTML report, or 'text' for plain textDefaults to 'html'输入 report_type 的值:
脚本第一步要求输入生成报告的类型,默认为html。如果希望生成txt格式,就输入text。 ü& && &&&输入分析时段信息 ASH是一个时段分析报告,需要用户输入进行分析的时间范围开始点。
Type Specified:&&html Instances in this Workload Repository schema~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~& &DB Id& &&&Inst Num DB Name& && &Instance& &&&Host------------ -------- ------------ ------------ ------------* & && &&&1 ORCL& && && &orcl& && && &WWW-0E6111DF& && && && && && && && && && && && && && && && &F74 Defaults to current databaseUsing database id: Defaults to current instanceUsing instance number: 1 ASH Samples in this Workload Repository schema~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Oldest ASH sample available:&&13-7月 -11 19:32:48&&[& &4435 mins in the past]Latest ASH sample available:&&16-7月 -11 21:25:54&&[& && &2 mins in the past] Specify the timeframe. to generate the ASH report~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Enter begin time for report: --& & Valid input formats:--& && &To specify absolute begin time:--& && &&&[MM/DD[/YY]] HH24:MI[:SS]--& && &&&Examples: 02/23/03 14:30:15--& && && && && && &02/23 14:30:15--& && && && && && &14:30:15--& && && && && && &14:30--& && &To specify relative begin time: (start with '-' sign)--& && &&&-[HH24:]MI--& && &&&Examples: -1:15&&(SYSDATE - 1 Hr 15 Mins)--& && && && && && &-25& & (SYSDATE - 25 Mins) Defaults to -15 mins输入 begin_time 的值:
由于ASH分析的粒度到秒一级别,所以输入的时间段度是以秒的细粒度。Begin_time输入的时间粒度有两种方式,根据脚本中提示的内容。一种是绝对开始时间(absolute begin time),包括年月日时分秒,适当省略一部分信息意味着使用当前对应的信息。另一种是相对开始时间(relative begin time),使用“-”号开头,表示当前时间之前多久。
输入 begin_time 的值:&&21:15:00Report begin time specified: 21:15:00
此处我们希望分析21:15:00开始的五分钟信息情况。 输入了开始时间,可以定义分析持续时间duration值。 //输入以分钟计数的持续时间Enter duration in minutes starting from begin time:Defaults to SYSDATE - begin_timePress Enter to analyze till current time输入 duration 的值: 输入 duration 的值:&&5Report duration specified:& &5
ü& && &&&其他相关指定参数 ASH报告中分析包括的内容很多,有时候我们可能希望分析的更加有针对性。比如特定的SQL语句分析,特定的会话信息分析等。
Using 16-7月 -11 21:15:00 as report begin timeUsing 16-7月 -11 21:20:00 as report end time Specify Slot Width (using ashrpti.sql) for 'Activity Over Time' section~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-- Explanation:--& &In the 'Activity Over Time' section of the ASH report,--& &the analysis period is divided into smaller slots--& &and top wait events are reported in each of those slots. -- Default:--& &The analysis period will be automatically split upto 10 slots--& &complying to a minimum slot width of--& &&&1 minute,&&if the source is V$ACTIVE_SESSION_HISTORY or--& &&&5 minutes, if the source is DBA_HIST_ACTIVE_SESS_HISTORY. Specify Slot Width in seconds to use in the 'Activity Over Time' section:Defaults to a value as explained above:Slot Width specified: Specify Report Targets (using ashrpti.sql) to generate the ASH report~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-- Explanation:--& &ASH Report can accept &Report Targets&,--& &like a particular SQL statement, or a particular SESSION,--& &to generate the report on. If one or more report targets are--& &specified, then the data used to generate the report will only be--& &the ASH samples that pertain to ALL the specified report targets. -- Default:--& &If none of the report targets are specified,--& &then the target defaults to all activity in the database instance. Specify SESSION_ID (eg: from V$SESSION.SID) report target:Defaults to NULL:SESSION report target specified: Specify SQL_ID (eg: from V$SQL.SQL_ID) report target:Defaults to NULL: (% and _ wildcards allowed)SQL report target specified: Specify WATI_CLASS name (eg: from V$EVENT_NAME.WAIT_CLASS) report target:[Enter 'CPU' to investigate CPU usage]Defaults to NULL: (% and _ wildcards allowed)WAIT_CLASS report target specified: Specify SERVICE_HASH (eg: from V$ACTIVE_SERVICES.NAME_HASH) report target:Defaults to NULL:SERVICE report target specified: Specify MODULE name (eg: from V$SESSION.MODULE) report target:Defaults to NULL: (% and _ wildcards allowed)MODULE report target specified: Specify ACTION name (eg: from V$SESSION.ACTION) report target:Defaults to NULL: (% and _ wildcards allowed)ACTION report target specified: Specify CLIENT_ID (eg: from V$SESSION.CLIENT_IDENTIFIER) report target:Defaults to NULL: (% and _ wildcards allowed)CLIENT_ID report target specified:
通过指定一系列的参数变量可以来指定希望分析的会话信息。 如果没有指定,ASH会生成所有模块的分析信息。 ü& && &&&文件名指定 最后是指定生成的文件名称信息。
Specify the Report Name~~~~~~~~~~~~~~~~~~~~~~~The default report file name is ashrpt_1_.html.&&To use this name,press &return& to continue, otherwise enter an alternative.输入 report_name 的值:
一般使用默认值就可以了。最后会将文件生成提示结束。 &/TABLE&&P&&BR&&A class='awr' HREF='#top'&Back to Top&/A&&P&&P&End of Report&/BODY&&/HTML&Report written to ashrpt_1_.htmlSQL&
3、查看报告 在调用目录上,就可以找到我们生成的ASH文件。
ASH Report For ORCL/orclDB Name& && && &DB Id& & Instance& &&&Inst Num Release& &&&RAC Host------------ ----------- ------------ -------- ----------- --- ------------ORCL& && && &
orcl& && && && && & 1 10.2.0.1.0&&NO&&WWW-0E6111DF CPUs& && && &&&SGA Size& && & Buffer Cache& && &&&Shared Pool& & ASH Buffer Size---- ------------------ ------------------ ------------------ ------------------& &2& && &&&584M (100%)& && & 408M (69.9%)& && & 149M (25.6%)& && &&&4.0M (0.7%) & && && & Analysis Begin Time:&&16-7月 -11 21:15:00& && && && &Analysis End Time:&&16-7月 -11 21:20:00& && && && && &&&Elapsed Time:& && && &5.0 (mins)& && && && && &&&Sample Count:& && && &&&5
4、结论 ASH、AWR和ADDM是Oracle推进的性能优化自动化的重要步骤阶段。借助这些工具,DBA可以更好的了解分析系统性能,发现瓶颈所在,更好的维护系统正常运转。

我要回帖

更多关于 如何手动对焦 的文章

 

随机推荐