很多时候本地测试环境无法
100%
的模拟出客户生产系统的所有性能问题,可能在本地环境中速度很快只需几分钟,但在客户那边却往往要跑上几个小时,这个时候除了想办法模拟出客户生产系统中一样多的数据外,还需要得到生产系统的统计信息,导入本地系统重现性能问题
!
下面的语句就是具体的操作步骤
!
生产系统:
--
执行统计信息操作
BEGIN
DBMS_STATS.GATHER_SCHEMA_STATS( 'CITICTEST' , 10 );
END;
-- 创建一个统计信息实体表
BEGIN
DBMS_STATS.CREATE_STAT_TABLE(null, 'STATISTICS' , null );
END;
BEGIN
DBMS_STATS.GATHER_SCHEMA_STATS( 'CITICTEST' , 10 );
END;
-- 创建一个统计信息实体表
BEGIN
DBMS_STATS.CREATE_STAT_TABLE(null, 'STATISTICS' , null );
END;
--
统计信息导出至实体表
BEGIN
DBMS_STATS.EXPORT_SCHEMA_STATS ( 'CITICTEST' , 'STATISTICS' , NULL, NULL);
END;
BEGIN
DBMS_STATS.EXPORT_SCHEMA_STATS ( 'CITICTEST' , 'STATISTICS' , NULL, NULL);
END;
--
导出实体表
exp
citictest/citictest@colm2
tables=STATISTICS file=statistics.dmp log=statistics_export.log
测试系统:
--
导入实体表
imp
test/test@colm2
tables=STATISTICS file=statistics.dmp log=statistics_import.log ignore=y
--
更新一下用户名
update
statistics set c5=
'TEST'
--
实体表汇入至统计信息
begin
DBMS_STATS.import_schema_stats( 'TEST' , 'STATISTICS' ,NULL, NULL, NULL);
end;
DBMS_STATS.import_schema_stats( 'TEST' , 'STATISTICS' ,NULL, NULL, NULL);
end;
--
查看统计信息
select
user_tables.num_rows,user_tables.last_analyzed,user_tables.* from user_tables