有时候,想查看一下表中数据的增删改次数,可以使用视图USER_TAB_MODIFICATIONS,USER_TAB_MODIFICATIONS
describes modifications to all tables owned by the current user that have been modified since the last time statistics were gathered on the tables。
Note:
This view is populated only for tables with the MONITORING
attribute. It is intended for statistics collection over a long period of time. For performance reasons, the Oracle Database does not populate this view immediately when the actual modifications occur. Run the FLUSH_DATABASE_MONITORING_INFO
procedure in the DBMS_STATS
PL/SQL package to populate this view with the latest information. The ANALYZE_ANY
system privilege is required to run this procedure.
sql>begin
DbMS_STATS.flush_database_monitoring_info();
end;
sql>select * from USER_TAB_MODIFICATIONS;
在使用DBMS_STATS分析表的时候,我们经常要保存之前的统计信息,以防分析后导致系统性能低下然后进行快速恢复。
首先创建一个备份表,该表是用来保存之前的统计信息
BEGIN
--创建统计信息备份表
DBMS_STATS.CREATE_STAT_TABLE(OWNNAME => USER,
STATTAB => 'stat_carmot_develop');
--导出统计信息到备份表
DBMS_STATS.EXPORT_SCHEMA_STATS(OWNNAME => USER,
STATTAB => 'stat_carmot_develop',
STATOWN => USER);
--删除统计信息
DBMS_STATS.DELETE_SCHEMA_STATS(USER);
--导入统计信息
DBMS_STATS.IMPORT_SCHEMA_STATS(USER, 'stat_carmot_develop');
--收集统计信息
DBMS_STATS.GATHER_SCHEMA_STATS(USER);
--恢复统计信息
DBMS_STATS.RESTORE_SCHEMA_STATS(OWNNAME => USER,
AS_OF_TIMESTAMP => SYSTIMESTAMP - 0.5,
FORCE => TRUE);
END;
分享到:
相关推荐
Oracle 数据库中使用 dbms_stats 包手动收集统计信息 在 Oracle 数据库中,dbms_stats 包提供了一种手动收集统计信息的方式,包括基于表、用户和索引的统计信息。通过使用 dbms_stats 包,我们可以手动收集统计信息...
传统上,有两种方法来收集这些统计信息:ANALYZE(或通过DBMS_UTILITY包)和DBMS_STATS包。然而,随着Oracle版本的发展,DBMS_STATS逐渐成为更推荐的选择,因为它提供了更准确的统计信息和并行收集统计的能力。 **...
然而,当出现错误“ORA-04063: package body 'SYS.DBMS_REGISTRY_SYS' has errors”时,表明`DBMS_STATS`包或与其相关的`SYS.DBMS_REGISTRY_SYS`包体存在错误,这可能对数据库性能和正常操作造成影响。 **问题症状*...
DBMS_STATS是Oracle提供的一款功能强大的工具包,主要用于收集表和索引的统计信息,进而帮助Oracle的Cost-Based Optimizer (CBO)生成更为高效的执行计划。通过准确的统计信息,可以有效地减少查询响应时间和提高系统...
描述虽然为空,但根据标题我们可以推测,这篇博文可能是关于如何使用DBMS_XPLAN包来解析和理解Oracle的执行计划,这对于数据库管理员和开发人员优化SQL性能至关重要。 标签“源码”和“工具”暗示了这篇博文可能...
Oracle 11g中的DBMS_STATS包是用于收集数据库对象统计信息的重要工具,这些统计信息对于Oracle的优化器来说至关重要,因为它们影响到查询执行计划的选择。在Oracle 7版本中,analyze语句被用来收集统计信息,但在...
18. **DBMS_STATS.GATHER_SCHEMA_STATS**: 收集整个模式的统计信息,优化性能。 19. **DBMS_PROFILER**: 性能分析工具,追踪PL/SQL代码的执行时间。 20. **DBMS_METADATA_DIFF**: 比较并显示两个数据库对象之间的...
DBMS_STATS包用于收集和管理表、索引的统计信息,这些信息被Oracle的查询优化器用来选择最佳的执行计划。 以上只是Oracle内置包的一部分,实际上,Oracle还提供了许多其他的包,如DBMS_OUTPUT、DBMS_METADATA等,...
21. DBMS_STATS系统包的使用 ### 联系方式 文档末尾提供了达梦数据库的技术支持联系方式,包括官方网站、技术服务电话和邮箱,以便用户在遇到问题时能够快速获得帮助。 ### 结论 这份系统包使用手册详尽地介绍了...
通过使用合适的工具如`ANALYZE`命令和`DBMS_STATS`包,结合合理的收集策略,可以确保优化器始终拥有最新且准确的统计信息,从而制定出最佳的执行计划。此外,合理安排统计信息的收集时间以及关注那些更新频繁的对象...
`DBMS_STATS.GATHER_TABLE_STATS`用于收集表的统计信息,`DBMS_STATS.PUSH_SCHEMA_STATS`将统计信息推送到数据字典。 13. **DBMS_APPLICATION_INFO**: 在PL/SQL程序中设置和查询应用信息,如客户端信息和工作负载...
本文将深入探讨Oracle更新分析的关键概念和技术细节,包括如何利用`dbms_stats`包进行统计信息收集、不同选项的意义以及它们对SQL执行效率的影响。 #### 一、Oracle统计信息的重要性 Oracle数据库中的统计信息对于...
本文将重点探讨Oracle数据库中的统计数据及其优化策略,特别是通过使用`dbms_stats`包来提升SQL查询性能。 #### 二、Oracle数据库的统计数据 统计数据是指Oracle数据库中关于表、索引等对象的数据分布信息。这些...
- 使用`DBMS_WORKLOAD_REPOSITORY`包来查询AWR数据,如`DBMS_WORKLOAD_REPOSITORY.REPORT_SQL_MONITOR`函数可以生成特定SQL语句的性能报告。 - **2.1.2 SPA(SQL Performance Analyzer)** - SPA是一个强大的工具...
3. **Automatic Diagnostic Repository (ADR)**:自Oracle 11g开始,使用`DBMS_SQLDIAG`等程序包进行诊断信息的管理和分析。 4. **Automatic Workload Repository (AWR)**:帮助监控数据库性能,通过`DBMS_WORKLOAD_...
因为XYG_ALD_SESS_PKG包体会用到。(View Create Script v1.0.sql) 如果出现没权限访问GV$SQL_PLAN_MONITOR这些对象,请先用sys用户赋值。 3 最后,编译XYG_ALD_SESS_PKG的包体。完工! (XYG_ALD_SESS_PKG_BODY...
Oracle提供了一系列监控分析功能的程序包,例如DBMS_STATS包,它包含了许多用于收集、删除和获取表、索引、模式和数据库统计信息的过程和函数。以gather开头的过程用于收集统计信息,以delete开头的用于删除统计信息...
exec dbms_job.what(2, 'dbms_stats.gather_table_stats(''scott'',''emp'');'); exec dbms_job.next_date('2', 'sysdate+1'); ``` 通过`DBMS_OUTPUT`和`DBMS_JOB`,开发者可以在Oracle环境中实现高级的调试和自动...
使用`EXEC DBMS_STATS.CREATE_STATS PACK`命令创建Statspack包。 2. **收集会话快照**:当会话运行时,我们可以定期或者在关键操作后使用`DBMS_STATS.GATHER_SESSION_STATS`过程收集快照。这个过程需要传入会话的...