【问题标题】:How to export Oracle statistics如何导出 Oracle 统计信息
【发布时间】:2011-01-30 18:06:32
【问题描述】:

我正在编写一些新的 SQL 查询,并想检查 Oracle 查询优化器在生产中提出的查询计划。

我的开发数据库没有生产数据库的数据量。

如何从生产数据库中导出数据库统计信息并将其重新导入开发数据库?我无权访问生产数据库,因此我无法在不通过第三方托管组织的情况下简单地生成生产解释计划。这很痛苦。所以我想要一个本地数据库,它在某种程度上代表生产,我可以在上面尝试不同的东西。

此外,这适用于旧版应用程序。我想通过添加适当的索引来“改进”架构。约束等。

我需要先在我的开发数据库中执行此操作,然后再进行测试和生产。

如果我在开发中添加索引并重新生成统计信息,那么统计信息将围绕开发数据量生成,这使得难以评估我的更改对生产的影响。

有人对如何处理这个问题有任何提示吗?或者它只是我们在生产中发现意外行为后修复它的一个案例?我确实有一个生产量的暂存数据库,但是我必须再次通过第三方来运行查询,这很痛苦。所以我在想办法尽可能地去掉中间人。

所有这些都使用 Oracle 9i。

谢谢。

【问题讨论】:

    标签: sql database oracle oracle9i


    【解决方案1】:

    请参阅 DBMS_STATS.EXPORT_SCHEMA_STATS 和 DBMS_STATS.IMPORT_SCHEMA_STATS 包的文档。如果您无权访问,则必须让具有必要权限的人为您在生产数据库中进行导出。如果您的开发硬件与生产硬件明显不同,您还应该使用 EXPORT/IMPORT_SYSTEM_STATS 过程导出/导入系统统计信息。

    记得关闭开发数据库中所有在您执行此操作后重新计算统计信息的作业。

    【讨论】:

      猜你喜欢
      • 2011-11-04
      • 2021-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-28
      • 2010-10-13
      相关资源
      最近更新 更多