Oracle 21c 新特性:Object Activity Tracking System
在Oracle Online文档的monitor database 章节中有描述Oracle 数据库可以自动跟踪某些SCHEMA的对象(例如表和物化视图)的活动和使用情况。
对象活动跟踪系统 (OATS) 跟踪与数据库对象相关的各种活动。可以在数据库级别和可插入数据库 (PDB) 级别执行跟踪。跟踪的活动包括对表的 DML 操作、表和分区扫描、分区维护操作 (PMOP)、物化视图重写和刷新以及索引等辅助结构的使用。统计信息用于支持automated database 功能,例如自动物化视图、Access Advisors。使用 DBMS_ACTIVITY 包中的过程和函数来控制 OATS 捕获的信息。
要启用对象活动跟踪系统:
将 STATISTICS_LEVEL 初始化参数设置为 TYPICAL 或 ALL。
可以在以下数据字典视图中查看 OATS 跟踪的统计信息:
SQL> @d DBA_ACTIVITY Show data dictionary views and x$ tables matching the expression "DBA_ACTIVITY"... TABLE_NAME COMMENTS ------------------------------ -------------------------------------------------------------------------------- DBA_ACTIVITY_CONFIG Object Activity Tracking Configuation DBA_ACTIVITY_MVIEW Object Activity Tracking for Materialized Views DBA_ACTIVITY_SNAPSHOT_META Object Activity Tracking Metadata for Snapshot Intervals DBA_ACTIVITY_TABLE Object Activity Tracking for Tables SQL> @st DBA_ACTIVITY_CONFIG CON_DBNAME PARAMETER_NAME PARAMETER_ LAST_UPDATED_TIME LAST_UPDAT ------------------------------ ------------------------------ ---------- ---------------------------------------- ---------- CDB$ROOT ACTIVITY_INTERVAL_MINUTES 15 27-JUL-21 07.16.07.000 PM SYS CDB$ROOT ACTIVITY_RETENTION_DAYS 400 27-JUL-21 07.16.07.000 PM SYS CDB$ROOT ACTIVITY_SPACE_PERCENT 5 27-JUL-21 07.16.07.000 PM SYS CDB$ROOT ACTIVITY_SYS_TABLES NO 27-JUL-21 07.16.07.000 PM SYS SQL> desc DBMS_ACTIVITY PROCEDURE CONFIGURE Argument Name Type In/Out Default? ------------------------------ ----------------------- ------ -------- PARAMETER_NAME VARCHAR2 IN PARAMETER_VALUE VARCHAR2 IN CON_DBNAME VARCHAR2 IN DEFAULT FUNCTION CREATE_SNAPSHOT RETURNS NUMBER Argument Name Type In/Out Default? ------------------------------ ----------------------- ------ -------- ALL_INSTANCES BOOLEAN IN DEFAULT CON_DBNAME VARCHAR2 IN DEFAULT FUNCTION DELETE_SNAPSHOTS RETURNS BOOLEAN Argument Name Type In/Out Default? ------------------------------ ----------------------- ------ -------- BEFORE_SNAP_ID NUMBER IN CON_DBNAME VARCHAR2 IN DEFAULT FUNCTION DELETE_SNAPSHOTS RETURNS BOOLEAN Argument Name Type In/Out Default? ------------------------------ ----------------------- ------ -------- BEFORE_TIME TIMESTAMP IN CON_DBNAME VARCHAR2 IN DEFAULT
The database objects whose activities are tracked include tables and materialized views. Different types of activities include row insert, delete and update, table scan, load and truncate, partition maintenance operations (create, drop, move, split, merge, and exchange), materialized view rewrite and refresh.
跟踪类型
精确跟踪:以 100% 的准确度记录活动。在多处理器环境中需要某种形式的原子更新或某种锁存来获得精确的跟踪。 OATS 通常避免精确跟踪,除非客户需要那种精确度。
近似跟踪:几乎在所有情况下都会考虑一项活动。近似跟踪的一个例子是活动计数器的脏更新。不执行锁定或闩锁,并且在更改计数器时不使用原子操作。但是,脏更新会导致更新丢失,从而导致计数不足。
Probabilistic Tracking:一个活动以一定的概率被采样,当它成为样本的一部分时就被考虑在内。概率跟踪产生的活动数据不太准确,但会阻止频繁的跟踪操作
发生跟踪:记录某个时间间隔内发生的某些活动。具体而言,事件跟踪提供的信息表明特定对象活动在给定时间间隔内至少发生了一次,而无需说明它发生了多少次。
事务和回滚的计数器效果:除了精确跟踪计数器外,其他类型的计数器都不是事务性的或受回滚影响的。这意味着如果交易失败,近似计数器可能仍会记录来自该交易的任何操作。
对不起,这篇文章暂时关闭评论。