Oracle统计数据的迁移

发表于:2010-5-28 10:53

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  自从9iR2开始,可以利用DBMS_STATS对统计数据进行数据库间的迁移,如果要迁移schema或database级别的统计数据,还需要DBA权限。

  10G开始,Oracle默认情况下可以自动保存最近31天的统计数据。Table级的统计数据存储在[DBA|ALL|USER]_TAB_STATS_HISTORY视图中;而schema、database级的统计数据保存在DBA_OPTSTAT_OPERATIONS视图中,当STATISTICS_LEVEL参数设置成ALL或TYPICAL时,Oracle会在最近一次的统计数据收集时自动删除旧的统计数据,也可以通过DBMS_STATS.PURGE_STATS手动清楚指定时间之前的历史数据。(统计数据的保存周期用DBMS_STATS.ALERT_STATISTICS_HISTORY_RETENTION进行调整)。

  记录一下统计数据的导出过程:

  1、源库导出统计数据

  创建保存统计数据的中间表

  中间表用来存储要迁移的统计数据,统计数据都存储在数据字典中,所以在迁移前必须导出到一张中间表。中间表的创建用DBMS_STATS.CREATE_STAT_TABLE。

BEGIN
DBMS_STATS.CREATE_STAT_TABLE(ownname=>'SYSTEM',stattab=>'STAT_TAB',tblspace=>'TOOLS');
DBMS_OUTPUT.PUT_LINE('Create table complete!');
END;
/

  导出统计数据到中间表

  用DBMS_STATS.EXPORT_*_STATS系列方法导出统计数据。这里演示导出一个schema的统计数据。

BEGIN
dbms_stats.export_schema_stats(ownname=>'IQUEWEB',stattab=>'STAT_TAB',statid=>'IQUEWEB_20100526',statown=>'SYSTEM');END;
/

  将iqueweb的统计数据导出中间表system.stat_tab表中。

  Export表STAT_TAB

  用exp或expdp导出STAT_TAB.

expdp system/****@**** tables=(stat_tab) directory=export dumpfile=expdat.dmp logfile=iqueweb_stat20100526_e.log

  将导出的expdat.dmp文件传入远程的目标数据库。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号