Oracle监控脚本.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle监控脚本

Oracle监控脚本 oracle数据库的sql执行情况的SQL语句采集 进行系统的top sql语句的采集 1:某段时间sql执行花费时间(按秒) 参考sql语句,如执行时间大于3秒的sql语句的抓取脚本: --某段时间sql执行花费时间(按秒) select a.username, a.sql_text, round( a.elapsed_time_s ,1 ),花费处理,按秒 as remark from ( select ds.username,Sql_Text,round((sum(sa.elapsed_time) / sum(sa.EXECUTIONS)) / 1000000, 3) as Elapsed_Time_S from v$sqlarea sa inner join dba_users ds on sa.PARSING_USER_ID = ds.user_id where sa.EXECUTIONS 0 and (sa.elapsed_time / sa.EXECUTIONS) / 1000000 1 --and upper(ds.username) like %USERNAMe% ---特定用户下执行的SQL语句。实际执行根据系统替换掉。 group by ds.username, Sql_Text order by elapsed_time_s desc ) a where a.elapsed_time_s 3 --大于3秒 2:某段时间sql执行时消耗内存(按K) 参考sql语句,如sql执行耗用内存大于256K的sql语句的抓取脚本: --某段时间sql执行时消耗内存(按K) select a.username, a.sql_text, round(a.usedmemory/1024,1),内存耗,按 K as remark from ( select ds.username,Sql_text,round(sum(sa.sharable_mem ) / sum(sa.EXECUTIONS), 3) as UsedMemory from v$sqlarea sa inner join dba_users ds on sa.PARSING_USER_ID = ds.user_id where sa.EXECUTIONS 0 --and upper(ds.username) like %USERNAMe% ---特定用户下执行的SQL语句。实际执行根据系统 替换掉。 group by ds.username, Sql_text order by UsedMemory desc ) a where a.usedmemory / 1024 256 --大于256k 3:某段时间sql执行的CPU、IO、执行次数、耗用内存等抓取 参考sql脚本语句: 采集结果的数据存储的表结构定义: create table MSMS_CURRENT_SQL ( SQL_ADDRESS RAW(32) not null, SQL_HASH_VALUE NUMBER not null, CREATE_TIME TIMESTAMP(6), STATUS VARCHAR2(8), MACHINE VARCHAR2(64), SQL_TEXT VARCHAR2(4000), CPU_TIME NUMBER, IOR NUMBER, LINES NUMBER, MEMS NUMBER, TIMES NUMBER ); create table MSMS_CURRENT_SQL_SUM ( SQL_ADDRESS RAW(32) not null, SQL_HASH_VALUE NUMBER not null, CREATE_TIME TIMESTAMP(6), STATUS VARCHAR2(8), MACHINE VARCHAR2(64), SQL_TEXT VARCHAR2(4000), CPU_TIME NUMBER, IOR NUMBER, LINES NUMBER, MEMS NUMBER, TIMES NUMBER ); oracle命令行窗口中定义的sql抓取脚本: declare sqlstatement varchar2(4000); curtime timestamp; len number; str varchar2(64); CURSOR cursor_msms_current_sql IS SELECT * FROM msms_current_sql; CURSOR sqlrec(addr0 raw,hashvalue0 number) is select sql_text from v$

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档