Oracle AWR 之 通过dbms_workload_repository.awr_report_text(html)函数在客户端生成AWR报告
1、概述
一般情况下,awr报告都是通过在oracle服务器的sqlplus窗口调用$ORACLE_HOME/rdbms/admin/awrrpt.sql脚本生成报告。方法如下:
|
[oracle@localhost ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Tue Mar 15 17:21:54 2016 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> @?/rdbms/admin/awrrpt.sql --其中?为ORACLE_HOME目录简写 |
2、条件
在客户端通过dbms_workload_repository.awr_report_text/html函数来生成awr报告一般适用于无法通过操作系统远程登录到oracle服务器的情况下,生成awr报告需要登录用户具有dba权限或相应权限并且可以通过客户端登录到远程oracle服务器。
3、dbms_workload_repository.awr_report_text/html方法介绍
1)dbms_workload_repository.awr_report_html(l_dbid => 1431923185, --数据库dbid
l_inst_num => 1, --数据库实例id(单实例一般为1)
l_bid => 623, --开始快照号
l_eid => 624 ) --结束快照号
2)dbms_workload_repository.awr_report_text(l_dbid => 1431923185, --数据库dbid
l_inst_num => 1, --数据库实例id(单实例一般为1)
l_bid => 623, --开始快照号
l_eid => 624 ) --结束快照号
4、pl/sql developer上生成awr报告的实现方法
1)根据步骤3的方法说明,在相应权限满足条件下,我们要在pl/sql developer上生成awr报告需要取得如下几个参数值:dbid、instance_number、开始快照号,结束快照号。
2)取得数据库dbid值,可以通过v$database视图取得,如下:
SQL> select dbid from v$database;
DBID
----------
1431923185
3)取得instance_number可以通过v$instance视图获得,如下:
SQL> select instance_number from v$instance;
INSTANCE_NUMBER
---------------------------------
1
4)取得“开始快照号”和“结束快照号”可以通过dba_hist_snatshop视图获得,如下:
select t.snap_id as 快照id,
t.dbid as dbid,
t.instance_number as instance_number,
to_char(t.begin_interval_time, 'yyyy-mm-dd hh24:mi:ss') "快照开始时间",
to_char(t.end_interval_time, 'yyyy-mm-dd hh24:mi:ss') as "快照结束时间"
from dba_hist_snapshot t
order by snap_id;
快照id dbid instance_number 快照开始时间 快照结束时间
------------- ------------- --------------------------- -------------------------- ---------------------------
416 1431923185 1 2016-03-06 22:00:11 2016-03-06 23:00:13
417 1431923185 1 2016-03-06 23:00:13 2016-03-07 00:00:16
418 1431923185 1 2016-03-07 00:00:16 2016-03-07 01:00:18
419 1431923185 1 2016-03-07 01:00:18 2016-03-07 02:00:21
420 1431923185 1 2016-03-07 02:00:21 2016-03-07 03:00:23
421 1431923185 1 2016-03-07 03:00:23 2016-03-07 04:00:25
422 1431923185 1 2016-03-07 04:00:25 2016-03-07 05:00:28
423 1431923185 1 2016-03-07 05:00:28 2016-03-07 06:00:30
424 1431923185 1 2016-03-07 06:00:30 2016-03-07 07:00:32
425 1431923185 1 2016-03-07 07:00:32 2016-03-07 08:00:35
至此,我们已经取得了客户端生成awr报告的所有参数值,接下来我们就可以通过运行函数生成awr报告了。
5)执行存储过程生成awr报告(取快照号418为开始快照号,419为结束快照号):
脚本:
select output
from table(dbms_workload_repository.awr_report_html(l_dbid => 1431923185,
l_inst_num => 1,
l_bid => 418,
l_eid => 419));
结果如下:

将以上结果复制出来,赞贴到txt文档下保存退出后,修改文本文档扩展名为html:

保存后,双击打开即得到awr报告。

附加:
dbms_workload_repository.awr_report_text函数生成的报告直接粘贴到txt文档即可,不需要修改扩展名。
Oracle AWR 之 通过dbms_workload_repository.awr_report_text(html)函数在客户端生成AWR报告的更多相关文章
- oracle rac自动生成awr
cat awr.sql ######EXEC P_AWR_REPORT('201604251000', '201604251100', 'D_OUTPUT', '', FALSE); FALSE为ra ...
- ORACLE AWR概述及生成AWR报告
1.Overview of the Automatic Workload Repository The Automatic Workload Repository (AWR) collects, pr ...
- Oracle 每天自动生成AWR报告
经验丰富的老员工希望能够每天为数据库生成1个AWR报告,以便于后期分析数据库的性能变化,手动生成太麻烦,查了一下资料,发现可以自动生成,过程如下. 数据库环境:11gR2 RAC(双节点) AWR报告 ...
- oracle中如何生成awr报告
oracle中如何生成awr报告 1.进入数据库 sqlplus / as sysdba 2.查看用户 show parameter db_name 3.开始压测后执行 exec DBMS_WOR ...
- Oracle——生成Awr报告
Oracle--生成Awr报告 AWR的概念 Oracle数据库是一个使用量很多的数据库,关于Oracle数据库的性能.Oracle10g以后,Oracle提供了一个性能检测的工具:AWR(Autom ...
- Oracle生成awr报告操作步骤介绍
AWR全称Automatic Workload Repository,自动负载信息库,是Oracle 10g版本后推出的一种性能收集和分析工具,提供了一个时间段内整个系统的报表数据.通过AWR报告,可 ...
- Oracle数据库之PL/SQL过程与函数
Oracle数据库之PL/SQL过程与函数 PL/SQL块分为匿名块与命名块,命名块又包含子程序.包和触发器. 过程和函数统称为PL/SQL子程序,我们可以将商业逻辑.企业规则写成过程或函数保存到数据 ...
- oracle手工生成AWR报告方法记录
AWR(Automatic Workload Repository)报告是我们进行日常数据库性能评定.问题SQL发现的重要手段.熟练掌握AWR报告,是做好开发.运维DBA工作的重要基本功. AWR报告 ...
- oracle生成AWR报告方法
2018-04-02 19:59:42 在10g 11g中AWR自动的每隔一小时进行一次数据采集并生成快照.下面是生成AWR报告的步骤: 1:使用oracle用户在数据库服务器上执行如下命令 sqlp ...
随机推荐
- VS2010 快捷键设置,快速编码1
全屏:Shift+Alt+Enter注释选定内容:Ctrl+E+C/Crtr+E+U代码格式化:ctrl+E+F VS2008 使用小技巧——快捷键1. 怎样调整代码排版的格式?选择:编辑—>高 ...
- linux -- 进程的查看、进程id的获取、进程的杀死
进程查看 ps ax : 显示当前系统进程的列表 ps aux : 显示当前系统进程详细列表以及进程用户 ps ax|less : 如果输出过长,可能添加管道命令 less查看具体进程, 如:ps a ...
- Kernel.org 被黑,获取 Android 源码方法一则
8 月底 9 月初,作为 Linux 的老窝,Kernel.org 被黑客攻击了,其攻击原因众说纷纭.一直以来 Linux 对于我来说不是很感兴趣,所以从来不会关注类似事件,可是这次这个攻击,却影响到 ...
- 哈希----字符串----time33
//此处只是获得了字符串的hash值,但是该如何散列到hash表中呢?哪个算法会好些?! 1 //在处理以字符串为键值的哈希时,times33哈希算法有着极快的计算效率和很好的哈希分布 //小写英文单 ...
- 定义的函数在main中调用时提示找不到标识符
要把定义的函数放在main函数前,如果放在main函数后了,要在main前做声明.声明就是把函数定义的首部一行加一个分号放在main之前. 在c语言中自定义了一个函数,在main中调用时提示找不到标识 ...
- easyui------自动合并行
转载: http://www.cnblogs.com/xiangzhong/p/5088259.html#undefined 1.引入插件 $.extend($.fn.datagrid.methods ...
- Windows 端口占用
1.netstat -ano | findstr "80"( 80为提示被占用的端口): 2.tasklist | findstr "5584"(5584是从上 ...
- linux命令之scp
两个主机之间copy数据经常用到命令 1.copy文件命令 scp /home/test/1.mp3 root@192.168.1.20:/home/test/music 2.copy文件目录命令 s ...
- 使用HTML5 的跨域通信机制进行数据同步
离线应用系统的设计目标就是在网络离线情况下依然可以操作我们的应用系统,并在网络畅通的情况下与服务器进行数据交互. 所以离线应用系统最终会做成类似C/S架构的客户端应用程序.这边基于Chrome或者 S ...
- DiscuzX的目录权限设置1
经常有朋友遇到Discuz目录权限设置出错的问题,网上千奇百怪的教程非常多,所谓的终极安全的教程更是满天飞,各种所谓的安全加强软件也随处可见,可实际过程中发现,老手用不上,新手则只会因为这些东西徒增麻 ...