热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle10g使用sql获得ADDM报告以及利用ADDM监控表的dml情况

一、oracle10g提供ADDM的功能,用em来看ADDM的报告自然非常容易,下面说下如果用sql来获得,两种方法:1、下面的sql可以得到最近

一、oracle10g提供ADDM的功能,用em来看ADDM的报告自然非常容易,下面说下如果用sql来获得,两种方法:1、下面的sql可以得到最近

一、Oracle10g提供ADDM的功能,用em来看ADDM的报告自然非常容易,下面说下如果用sql来获得,两种方法:

1、下面的sql可以得到最近一次的报告

SET LONG 1000000 PAGESIZE 0 LONGCHUNKSIZE 1000

COLUMN get_clob FORMAT a80

SELECT dbms_advisor.GET_TASK_REPORT(task_name)

FROM dba_advisor_tasks

WHERE task_id = (

SELECT max(t.task_id)

FROM dba_advisor_tasks t,

dba_advisor_log l

WHERE t.task_id = l.task_id AND

t.advisor_name = 'ADDM' AND

l.status = 'COMPLETED');

或者通过查询SELECT * FROM dba_advisor_tasks;

得到需要时间点的task_name,然后单独执行

SET LONG 1000000 PAGESIZE 0 LONGCHUNKSIZE 1000

COLUMN get_clob FORMAT a80

SELECT dbms_advisor.get_task_report('SCOTT_ADDM', 'TEXT', 'TYPICAL|ALL')

FROM sys.dual;

就可以得到所需时间点的报告。

2、下面的脚本可以取得两个快照之间的报告(有点类似statspack):

SQL> @?/rdbms/admin/addmrpt

二、使用ADDM还可以自动监控数据库中表的增删改的数量(类似以前的alter table ... monitoring),方法如下:

1、启用ADDM当然statistics_level得是TYPICAL或ALL了

2、检查一张新表test.test没有被修改过,如果插入记录:

SQL> select * from dba_tab_modifications where table_owner='TEST' and table_name='TEST';

no rows selected

SQL> INSERT INTO TEST.TEST VALUES (1,1,1);

1 row created.

SQL> COMMIT;

Commit complete.

3、手工将sga的修改表信息push到数据字典中(不然要等15分钟),然后查看数据字典里的情况:

SQL> exec dbms_stats.FLUSH_DATABASE_MONITORING_INFO();

PL/SQL procedure successfully completed.

SQL> select * from dba_tab_modifications where table_owner='TEST';

TABLE_OWNER TABLE_NAME

------------------------------ ------------------------------

PARTITION_NAME SUBPARTITION_NAME INSERTS

------------------------------ ------------------------------ ----------

UPDATES DELETES TIMESTAMP TRU DROP_SEGMENTS

---------- ---------- --------- --- -------------

TEST TEST

1

0 0 04-SEP-07 NO 0

可以看到inserts变为1了。

4、重新收集表的信息会怎么样?

SQL> execute DBMS_STATS.GATHER_TABLE_STATS('TEST','TEST');

PL/SQL procedure successfully completed.

SQL> select * from dba_tab_modifications where table_owner='TEST' and

table_name='TEST';

no rows selected

呵呵,,没有了。这是因为重新统计后,oracle认为那些信息是旧的了,所以就没了,这点要注意。

linux

推荐阅读
  • 【MySQL】frm文件解析
    官网说明:http:dev.mysql.comdocinternalsenfrm-file-format.htmlfrm是MySQL表结构定义文件,通常frm文件是不会损坏的,但是如果 ... [详细]
  • 数据输入验证与控件绑定方法
    本文提供了多种数据输入验证函数及控件绑定方法的实现代码,包括电话号码、数字、传真、邮政编码、电子邮件和网址的验证,以及报表绑定和自动编号等功能。 ... [详细]
  • 最适合初学者的编程语言
    本文探讨了适合编程新手的最佳语言选择,包括Python、JavaScript等易于上手且功能强大的语言,以及如何通过有效的学习方法提高编程技能。 ... [详细]
  • 本文详细解析了MySQL中常见的几种错误,并提供了具体的解决方法,帮助开发者快速定位和解决问题。 ... [详细]
  • 七大策略降低云上MySQL成本
    在全球经济放缓和通胀压力下,降低云环境中MySQL数据库的运行成本成为企业关注的重点。本文提供了一系列实用技巧,旨在帮助企业有效控制成本,同时保持高效运作。 ... [详细]
  • 在Android应用开发过程中,开发者经常遇到诸如CPU使用率过高、内存泄漏等问题。本文将介绍几种常用的命令及其应用场景,帮助开发者有效定位并解决问题。 ... [详细]
  • 在中标麒麟操作系统上部署达梦数据库及导入SQL文件
    本文档详细介绍了如何在中标麒麟操作系统上安装达梦数据库,并提供了导入SQL文件的具体步骤。首先,检查系统的发行版和内核版本,接着创建必要的用户和用户组,规划数据库安装路径,挂载安装介质,调整系统限制以确保数据库的正常运行,最后通过图形界面完成数据库的安装。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • 本文介绍了如何通过安装 sqlacodegen 和 pymysql 来根据现有的 MySQL 数据库自动生成 ORM 的模型文件(model.py)。此方法适用于需要快速搭建项目模型层的情况。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 探讨在使用 PL/SQL Developer 12.0 的数据生成器时遇到的中文乱码问题及其解决方案。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 本文介绍了一种使用SQL Server存储过程来实现基于单一条件的高效分页查询的方法。通过示例代码,详细说明了如何构建和执行这种分页查询。 ... [详细]
author-avatar
抵达不了了的叫幸福_999
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有