系统对象统计信息用来票数oracle数据库里的一些内部表(X$系列表)的详细信息。实际上X$系列表实际上只是Oracle自定义的内存结构,X$表里面会存储与示例相关的各类信息。数据库
在数据库运行的阶段,X$是被频繁访问的。oracle
一次性收集全部X$表的内部对象统计信息:对象
SQL> exec dbms_stats.gather_fixed_objects_stats();内存
一次性删除全部X$表的内部对象统计信息:资源
SQL> exec dbms_stats.delete_fixed_objects_stats();table
固然也能够经过dbms_stats包来对单个对象收集统计信息:object
SQL> exec dbms_stats.gather_table_stats('SYS','X$KCCRSR',cascade=>true,estimate_percent=>100);im
相应的,也能够对单个内部表对象删除统计信息:统计
SQL> dbms_stats.delete_table_stats('SYS','X$KCCRSR');数据
不建议频繁的收集内部对象统计信息,由于在收集内部对象统计信息的时候oracle会持有相关对象的Latch(mutex)会损耗CPU资源,对于系统而言压力将很是大。
若是诊断出来是内部对象统计信息的问题,能够经过收集单个内部对象统计信息,而不要一次性收集全部内部对象统计信息。