oracle数据库监控工具
❶ 如何监控Oracle数据库中长时间运行的进程
监控Oracle 数据库中长时间运行进程的两种方式,通过这些方 法,我们可以监控单条语句的 长时间操作,监控存储过程的运行进度,甚至自己'生成'进度信息. 关键词:监控进度V$SESSION_LONGOPS 当Oracle 存储过程运行时间较长时,我们希望客 户端能了解到它在后台执行的状况或者进度信息(类 似WINDOWS 安装软件时的进度条信息),这样可以知 道运行在后台的应用进程是否终止或者休眠,更近一 步要求,最好能知道进行到哪一步骤,还有多少时间才 能完成. 简单到一条sql 语句的情况,如果执行时间较长, 我们如何得到它的运行状况?是否后台还在运行?虽 然可以查看SQL 的执行计划了解它的执行步骤,但如 何知道它运行到哪一个步骤了呢?如何才能估计出它 的合理的较为精确的执行时间呢? Oracle 数据库前端发出执行命令后,进程在后台 执行,普通开发人员一般无法了解到后台在做什么,一 般采用的方法是用DBMSOUTPUT.PUT_LINE 来打印出 来,但DBMS—OUTPUT.PUT—LINE 打印的信息受缓冲区 大小限制,如果信息较多就容易溢出,而且如果存储过 程执行时间较长,只有在其执行完后,这些信息才会打 印出来,这就增加了调试周期,影响了调试效果.有的 开发人员在存储过程中通过写日志表的形式来记录进 度,但需要COMMIT 后其他进程才能看到这些日志信 息,而在某些控制结构中(如游标CURSOR 循环)COM— MIT,则很容易引起ORA 一01555 错误,造成程序出错. 下面介绍两种监控方法. 如何监控单条长语句从ORACLE8 开始,出现一个新的动态视图:V $SESSION_LONGOPS,从这个视图可以获知一些操作 (如全表扫描,并行查询,RMAN,排序等)的执行进度, 我们先来了解一下V$SESSION—LONGOPS 视图的一些 重要字段: 列说明 sID 会话标识 5ERIAL#会话序列号 OPfE 操作的简短描述 TARG 盯操作的对象,如xx TAR~_DESC目标描述 SOFAR 目前已执行单位数目 ToTAIWORK 总单位数目 UNlTS 单位 START_TIME 开始执行时间 LAST_ UPDATE_TIME 统计数据最后更新时间 TIME_ REMAINING 估计剩余时间c ELAPSED_SECONDS 已执行时间(秒) MEsSAGE 统计数据汇总信息 USERA^^E 用户名 ~L_ADDRES5 语句的地址,,用于和V$sql_text 等关联 语句的hash 地址,用于和V$sql_texlSQLHASH VALUE等关联 这个动态视图显示各个运行时间超过6 程.这些进程包含许多备份和恢复功能,统计数据收集,查询等. 执行以下语句就可以得到数据库中各个长时间操 作的进程信息: select'Icfromv$sesslon_ longopswheretime_ re- malnlng>0 我们也可以用图形化工具查看,如TOAD,OEM中 均可查看长操作进程进度信息. Oracle 自带的管理工具OracleEnterpriseManager (OEM)提供了图形化查看长操作的功能,如: 计算机系统应用2007 Quest公司的数据库管理工具TOAD 也可以看到 长操作信息,如: 表的统计信息. 长时问运行的SQL 语句可以用V$SESSION—LON? 为了能监控到查询进程执行的进度,必需使用 CBO 优化器并且: 设置TlMED—STATISTICS或者SQL—TRACE 用ANALYZE语句或者DBMS—STAT 包收集相关 108 实践经验P 帕cficalExpen GOPS来监控.实际上,长时间运行的存储过程也可以 监控.那是否任何操作都可以通过这个视图来监控进 度呢?很遗憾,V$SESSION—LONGOPS 只会报告它认为 耗时长的操作.对于NEsTEDLOOP/UNIQUEINDEX READS/INDEXRANGEScANS 等执行速度很快的操作, 2007 期计算机系统应用由于它们执行一般不超过6 秒,因此将不会出现在V $SESSION—LONGOPS 如何监控自定义存储过程单条长语句可以用上面的方法监控,Oracle 动生成V$SE.SSION— LONGOPS 记录.那么存储过程中 有许多小操作,如何监控进度呢?其实,我们也可以手 工生成V$SESSION—LONGOPS 记录,方法是调用DBMS APPLICATION—INFO 包来生成自定义进度信息. 从Oracle7.2 开始,提供了DBMS—APPLICATION— INFo 包,通过调用这个包,应用可以将自己的名字和 动作填写到V$SESSION 和V$SQLAREA 的MODULE ACTION列中.V$SESSION 列出每个会话的用户名,操 作系统机器名,终端名,程序名等. 应用可以在执行模块时设置模块名和动作名,模 块名一般是甩户自定义的.而动作名一般描述模块中 的当前执行的事务的名字. DBMSAPPLICATION_INFO 包包含以下过程 SET_ MODULE 设置当前运行程序的模块名 SET__AEl'ION 设置当前模块的当前动作名 SESSION—LON-在V$SESSIONLONGOPS视图中 GoPS 插入一行进度信息 SETMODULE过程设置模块名和动作名: createorreplaceproceredel—cust(v_cust—Id varchar2) begindbms—— application—— info.set— mole(mole—— name=>"delcust". actlon_name=>"deletetablecust)i deletefromcustwherecustld=v_ cusLId; dbms_appllcatlon— Info.seLmole(,); end;以上设置的模块名和动作名可以通过查询V $sqlarea 获取. 如:selectsql—text,mole,actionfromv $sqlareawheremole="del_cust: sql_textmoleadion Deletefr0mcustdel_ custdeletetableoust 1rowselected. SET_SESSION—LONGOPS 过程用于在V$session— longops 中插入一行,开发人员可以调用此过程设置长 时间操作的状态信息,这样,任何其他其他会话都可以 看到这个进度信息.如下例所示: declare _info.set_ session— Iongops_ nohint; IdndexnumberdefaultInohlnt: slnonumber;begin forlIn1..8888888888 loop update....; dbms_ appllcaflon— Info.setsesslon_ longops (rlndex=>l_rlndex, slno=>I_slno. op_name=>"updateahugetable. target=>126, target_desc=>'.msgdescription context=>0.sOfar=>j. totalwork=>8888888888. units=>loops endloop;end; 然后,从另一个会话来执行以下语句selectfromv$sesslon_ longopswheretlmere? malnlng>0; 也可以用图形化工具TOAD 或OEM来查看. 因此,采用本文说明的方法,Oracle 开发人员可以 比较方便的监控长操作进程的进度信息,也可以自己 设置监控信息,来了解后台存储过程的运行效率.甚 至,可以在存储过程或SQL 语句提交执行后马上观察 其执行进度,如果比较缓慢,则可以中断其执行,进行 调优,从而缩短调试周期,提高开发效率.
❷ 请能人:推荐一个 监控ORACLE数据库的某张表是否被访问过(增、删、改、查)的工具
用Oracle本身自带的功能,参考下面文章
http://e.codepub.com/2010/1225/28308.php
如果还想更加自定义对表操作的时候进行某些限制或相关数据库操作的话建议楼主针对表写触发器
想了解触发器,可以找专业文章
下面给个链接,希望对楼主有所帮助
http://blog.csdn.net/defonds/archive/2009/05/21/4205381.aspx
❸ 请教如何进行Oracle RAC性能测试,推荐几款测试工具来
oracle sql性能测试工具
Oracle ORION:存储系统性能测试工具 - Oracle数据库栏目 ...
Oracle ORION:存储系统性能测试工具一 定义 ORION(Oracle I/O Calibration Tool)是Oracle提供的、用于测试存储系统性能瓶颈 由于 ORION ...
ORACLE 免费压力测试工具--hammerora的使用过程 - 宁静 ...
2009-7-28 · 从创作者对这个工具的标题描述可以看出,Hammerora是一款Oracle数据库负载测试工具。该工具可以在Oracle 8i、9i ... TCL语言已经用来提供高性能的和Oracle …
ORACLE压力测试工具orion_oracle | 帮客之家
ORACLE压力测试工具orion 1,功能简介 ORION (Oracle I/O Calibration Tool) 是校准用于 Oracle 数据库的存储系统 I/O 性能的独立工具 。校准结果对于了解 首页 编程 前端 ...
Microsoft SQL Server 和 Oracle 数据库的比较
性能测试 先前版本 解决方案 成功案例 针对各种需求 应用程序开发 商业智能 规范 ... SQL Server Oracle 11g 性能 与扩展性 安全性 (低危险) 开发效率 商业智能* 总拥有 ...
Oracle PL/SQL 性能分析工具 profiler 说明 - 推酷
一.说明 Oracle提供了profiler工具包,利用该工具包可以查看PL/SQL执行过程中各模块的性能。可以从MOS上下载该脚本: Implementing andUsing the PL/SQL ...
oracle性能测试工具 - 下载频道 - CSDN.NET
oracle性能测试工具 cerato3132009-10-09 上传 主要用于测试oracle数据库的读写性能,尤其是在有磁盘阵列的情况下 ... SQL 入门经典 2015年全国最新省市区镇(街道)四级 ...
Oracle性能相关常用脚本(SQL) - 免费软件测试工具-泽众 ...
在缺乏的可视化工具来监控数据库性能的情形下,常用的脚本就派上用场了,下面提供几个关于Oracle性能相关的脚本供大家参考。
Orion - oracle提供的测试io性能的工具-dbs101-ITPUB博客
Orion是oracle提供的测试io性能的工具。它可以用来模拟Oracle数据库IO,也可以用来仿真ASM的条带化的功能。 Orion可以支持下列IO负载 1. 小的随机的IO:OLTP ...
Oracle性能测试 - 爱程序网
Oracle性能测试 2012-01-18 17:03 本站整理 浏览(327) 轻量型测试工具JMeter1、在jmeter网站下载软件,目前最新版为jmeter ... .live.com/embed?cid重量型测试工具 测试 ...
数据库优化实践【性能检测工具篇】 - SQL Server(mssql ...
第八步:使用SQL事件探查器和性能监控工具 有效地诊断性能问题 在SQL Server应用领域SQL事件探查器可能是最着名的性能故障排除工具,大多数情况下,当得到 ...
❹ CentOS7下的Oracle11g监控工具推荐
oracle有个自带的em工具啊,enterprise manager
❺ 我们公司有3个oracle数据库,经常表空间满了,大家用什么监控软件监控oracle
为什么会经常表空间满,一次多加一些不就可以了,我都是自己写一个脚本,然后每七天收集一下相关数据,达到某个数值了,比如90%,然后会自动添加一部分,有些是不常用的则手动添加(这部分要自己去判断)。
❻ 请教关于Oracle数据库SQL语句或库表记录变化监控工具
Quest Software中的SQL Tracker可以监控外部程序的SQL,Spotlight是个非常强的监控分析工具。
❼ 有没有什么工具可以监控oracle数据库里数据的变化
如果是C-S的系统,推荐TOAD--sql-monitor,可以跟踪到客户端所有发起的数据库操作.很强大.特别对于排错.
如果是只是需要查看特别对象的变化话,没有这么针对性强的东西,除非你们自己编写一个. 不过,可以使用TOAD或者其它可视化工具进行查看.有"刷新"按钮的.
哦,看来我理解错了...你是说要看整个数据库资源的情况么?这个工具里面有现成的,可以自动定时刷新.当然也可以看日志. 也可以从当前操作系统提供的命令来辅助查看.