在10g之前的版本,必须用dbms_stats的ALTER_DATABASE/SCHEMA_TAB_MONITORING过程或者create/alter table ... monitoring打开表的监控,在10g中,MONITORING与NOMONITORING关键字已经过时,如果你在create/alter table中指定表的监控或取消监控,该关键字将忽略,表监控特征被statistics_level控制,当statistics_level等于basic时,将禁止表的监控,如果等于typical或all时,表监控是激活的.
statistics_level默认是typical,在10g中表监控是激活的,强烈建议在10g中此参数的值是typical.如果STATISTICS_LEVEL设置为basic,不仅不能监控表,而且将禁掉如下一些10g的新功能:
ASH(Active Session History)
ASSM(Automatic Shared Memory Management)
AWR(Automatic Workload Repository)
ADDM(Automatic Database Diagnostic Monitor)
监控结果是自上次统计收集以来大概的INSERT/UPDATE/DELETE的记录数,当然这也与sga中维护的记录数有关,每15分钟,smon会刷新统计结果到数据字典中,可以通过如下DBA/ALL/USER_TAB_MODIFICATIONS数据字典查看监控结果,如果想立即看到监控结果,可以用exec dbms_stats.FLUSH_DATABASE_MONITORING_INFO()来刷新数据到数据字典中,oracle使用这些表的数据去判断表的统计数据是否过期,如果当表的数据改变超过10%,oracle就认为该表的统计数据已经过期.
Example:
--------
Let us take an example:
Step 1:
-------
Create table EMP. Its description is as follows
SQL> desc emp
SQL> select count(*) from emp;
COUNT(*)
----------
14
SQL> select * from user_tab_modifications;
no rows selected
Initially there are 14 rows in EMP.
Step 2:
-------
Set parameter STATISTICS_LEVEL='TYPICAL'
SQL> alter system set STATISTICS_LEVEL='TYPICAL';
System altered.
Step 3:
-------
Insert additional 14 rows. This will increase the data in EMP by 50% and
therefore the statistics in EMP will be regarded as stale by Oracle.
SQL> insert into emp select * from emp;
14 rows created.
SQL>commit;
Step 4:
-------
SQL> exec dbms_stats.FLUSH_DATABASE_MONITORING_INFO();
PL/SQL procedure successfully completed.
SQL> select * from user_tab_modifications;
TABLE_NAME PARTITION_NAME
------------------------------ ------------------------------
SUBPARTITION_NAME INSERTS UPDATES DELETES TIMESTAMP TRU
------------------------------ ---------- ---------- ---------- --------- ---
EMP
14 0 0 16-OCT-03 NO
Step 5:
-------
If a monitored table has been modified more than 10%, then these
statistics are considered stale
Analyze the tables whose statistics have become stale using the following command:
execute DBMS_STATS.GATHER_SCHEMA_STATS ('RAJIV',
NULL,
FALSE,
'FOR ALL COLUMNS SIZE 1',
NULL,
'DEFAULT',
TRUE,
NULL,
NULL,
'GATHER STALE',
'LIST' );
Step 6:
-------
Query dba_tab_modifications to check whether the table has been analyzed
or not?
SQL> select * from user_tab_modifications;
no rows selected
No rows in dba_tab_modifications indicates that the table is analyzed.
分享到:
相关推荐
Oracle 11g作为一款成熟的关系型数据库管理系统,其性能调整能力一直是众多数据库管理员(DBA)和开发人员关注的焦点。本学习笔记以第17章构筑高速运行的SQL语句为例,详细探讨了Oracle数据库性能调整的相关知识点。 ...
### Oracle 10g OCP 试题解析 #### 题目一:丢失只读表空间的恢复策略 **题目背景:** 您丢失了名为 PRODSTD 的只读表空间,该表空间在最后一次备份时已经是只读状态。在这种情况下,您如何恢复这个表空间? **...
自动工作负载仓库(Automatic Workload Repository,简称AWR)是Oracle数据库中的一个关键性能监控工具,自Oracle 10g版本开始引入。AWR通过收集和存储数据库的性能数据,为DBA提供了一个全面了解数据库健康状况的...
Oracle 10g 的高可用性与恢复功能对于确保数据安全至关重要。以下列出的视图提供了关于备份、归档和恢复过程的关键信息。 1. **V$ARCHIVE**: 展示了归档日志的状态和相关信息,包括日志文件名、状态等。 2. **V$...
Oracle Wait Interface(简称OWI)是Oracle数据库管理系统中的一个重要组成部分,主要用于监控和诊断数据库实例的等待事件。通过OWI,DBA(数据库管理员)可以深入理解数据库在运行过程中的等待行为,并据此进行性能...
8. **statistics_level** 和 **timed_statistics**: 统计级别设定影响性能监控和SQL优化。设置为'all'开启所有统计,而timed_statistics设为true会收集CPU时间的统计信息。 9. **db_block_checking** 和 **db_block...
在Oracle 10G环境中,调优是确保高效运行的关键步骤,尤其是在处理大量数据和并发用户时。本文将探讨调优的重要性、常见问题的原因以及如何使用Oracle提供的工具进行诊断和优化。 首先,调优是必要的,因为用户可能...
从Oracle 9i开始,可以在运行时动态修改SGA参数,而在Oracle 10g及更高版本中,可以直接修改SGA的当前内存值。 了解和正确管理SGA对于优化Oracle数据库的性能至关重要。通过监控SGA的使用情况,适时调整相关参数,...
在Oracle 10g R2版本中,Oracle引入了自动内存管理(Automatic Memory Management, AMM)功能,允许数据库管理员通过设置`SGA_TARGET`或`PGA_AGGREGATE_TARGET`参数来控制共享全局区(SGA)和程序全局区(PGA)的大小。...
1. **`V$SEGMENT_STATISTICS`**: 当`STATISTICS_LEVEL`参数被设置为`TYPICAL`时,此视图提供了每个数据段的统计信息。需要注意的是,它不包含关于undoblock和undo header transfers的信息。 2. **`V$INSTANCE_CACHE_...
- **自动收集**:当参数`STATISTICS_LEVEL`设置为`TYPICAL`或`ALL`时,系统会在夜间自动收集统计信息。 - **手动收集**:对于更新频繁的对象,建议手动触发统计信息的收集以保持统计信息的新鲜度。 - 使用`BEGIN ...
启用AWR需要设置Statistics level参数,Basic适合小型系统,Typical适中规模,All则适合全面监控。根据需求选择适当的参数,并定期清理AWR数据,以平衡性能监控与资源消耗。 六、故障诊断与优化 在日期型数据出现...
这可以通过在`init.ora`参数文件中设置`TIMED_STATISTICS = TRUE`来实现,并且可以在会话层设置`ALTER SESSION SET STATISTICS_LEVEL = TRUE`。此外,还可以利用Oracle自带的工具进行性能统计分析,例如通过`svrmgrl...
AWR自Oracle 10g版本开始引入,为DBAs提供了持续监控和诊断数据库性能问题的有效工具。 1. AWR的由来 在Oracle 10g之前,数据库通过v$session和v$session_wait记录会话信息,但这些信息在会话断开后会被删除。...
- **设置**:`STATISTICS_LEVEL` 参数定义了统计级别的设置,`SGA_TARGET` 参数则用于指定SGA的大小。 #### 三、总结 通过以上对Oracle数据库中关键后台进程的详细解析,我们可以看出这些进程在数据库的日常运作中...
- **监控数据库性能**:利用Oracle内置的监控工具,如`TIMED_STATISTICS`和`STATISTICS_LEVEL`参数,以及`V$`视图系列,定期分析数据库性能指标。 - **性能基线设定**:建立性能基线,对比不同时间段的性能差异,...
在"ORACLE基本优化工具.ppt"中,主要讨论了几种关键的Oracle优化工具及其应用。 1. **基本工具**: - **时间模型**:时间模型提供了关于数据库时间分配的概览,显示了CPU时间与等待时间的比例,帮助识别系统的主要...