PLSQL_统计信息系列07_数据字典统计信息的导出和导入

2014-05-05 Created By BaoXinjian

一、摘要


字典统计信息的导出和导入,用以备份dba_tab_statistics字典表中的统计信息

1. Export语法

DBMS_STATS.EXPORT_DICTIONARY_STATS (
    stattab VARCHAR2,  -- User statistics table identifier describing where to store the statistics
    statid VARCHAR2 DEFAULT NULL, -- Identifier (optional) to associate with these statistics within stattab
    statown VARCHAR2 DEFAULT NULL -- Schema containing stattab (if different from current schema)
);

2. Import语法

DBMS_STATS.IMPORT_DICTIONARY_STATS('STATS_DUMP','TEST1','MY_USER'); 

3. Fixed Table表统计信息的导出

DBMS_STATS.EXPORT_FIXED_OBJECTS_STATS(stattab=>'STATS_DUMP', statown=>'MY_USER');

 

二、案例


1. 查看需要备份字典统计信息的目录

SELECT   owner, table_name, last_analyzed
  FROM   dba_tab_statistics
 WHERE   table_name NOT LIKE 'X$%' AND owner IN ('SYS', 'SYSTEM')
   AND   table_name = 'AUDIT$'

 

2. 创建存放统计信息的备份表

BEGIN
 DBMS_STATS.CREATE_STAT_TABLE('SCOTT','STATS_DUMP');
END;

 

3. 将统计信息导入至备份表中

BEGIN 
 DBMS_STATS.EXPORT_DICTIONARY_STATS('STATS_DUMP','TEST1','SCOTT');
END;

 

4. 查看备份表中的资料

SELECT * FROM scott.stats_dump
WHERE c1='AUDIT$'

 

5. 比较字典表和备份表的数据情况

SQL> SELECT count(*) FROM dba_tab_statistics;
  COUNT(*)
----------
      4728

SQL> SELECT count(*) FROM scott.stats_dump
  2  ;
  COUNT(*)
----------
     64691

 

6. 在字典表中AUDIT$中的数据

 

7. 在备份表STAT_DUMP中的数据

 

 

Thanks and Regards


posted on 2014-01-13 13:24  东方瀚海  阅读(927)  评论(0编辑  收藏  举报