MONITORING参数说明:创建表时设置MONITORING参数, 使得Oracle跟踪对表的DML操作,预估DML操作所影响的记录数量。在Oracle 9i中, MONITORING参数不是默认的,需要手工执行,而在Oracle 10g及以上版本中, 该参数为默认设置。
1.创建表时设置MONITORING参数
create table a
(
value int
)
MONITORING
;
2.打开表a的监控
ALTER TABLE a MONITORING;
3.对test下的所有表进行监控
BEGIN
DBMS_STATS.alter_schema_tab_monitoring(test,true);
END; 实例:
SQL> exec DBMS_STATS.alter_schema_tab_monitoring('test',true);
PL/SQL 过程已成功完成。
SQL> insert into a values(2);
已创建 1 行。
SQL> commit;
提交完成。
SQL> delete a;
已删除3行。
SQL> commit;
提交完成。
SQL> exec DBMS_STATS.alter_schema_tab_monitoring('test',true);
PL/SQL 过程已成功完成。
TABLE_NAME INSERTS UPDATES DELETES TRU
------------------------------ ---------- - --------- ---------- - --
A 1 1 NO
SQL> exec DBMS_STATS.alter_schema_tab_monitoring('test',true);
begin DBMS_STATS.alter_schema_tab_monitoring('test',true); end;
*
ERROR at line 1:
ORA-06550: line 1, column 18:
PLS-00302: component 'ALTER_SCHEMA_TAB_MONITORING' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
则需以sysdba权限用户执行,或通过sys授予用户dbms_stats的执行权限。
oracle>sqlplus '/ as sysdba'
SQL>grant execute on dbms_stats to hr;