Oracle针对表的统计信息收集和导入(2)

 

3.3.4 将源数据库统计信息表导入至目标数据库 
将新增表的统计信息导出成insert语句文本文件,然后在目标数据库建立存放统计信息的表,然后执行文本文件将源数据库统计信息导入到目标数据数据库统计信息表中, 
@Statinfo.sql 
设置c5列为目标用户名 
Update xllstatinfo set c5='MREAD'; 
针对所有表 将统计表中的统计信息导入到数据字典,执行以下sql: 
begin 
p_func_impstats_new('xllstatinfo', 'statid'); 
end; 

.导入完成请查看日志导入是否有报错信息。 
select * from IMPSTATSLOG where err_msg not like 'USUAL_%'; 


针对单个表: 发布新增表的统计信息到目标数据库的数据字典 
【命令】 
BEGIN 
dbms_stats.import_table_stats( 
ownname => 'username', 
tabname => 'tablename', 
stattab => 'newtable', 
statid => 'statid'); 
END; 

【命令说明】 
ownname:目标数据库用户名; 
tabname:新建表名; 
stattab:存放表统计信息的表名称,与3.3.1建立的表名一致; 
statid:指定为开发补丁或小版本的编号,与3.3.3设定编号相同