0

我在 ORACLE 10g 数据库上运行了一些 SQL。其中一些 SQL 使用了 oracle 示例子句。例如

select /*+ use_nl(emp,dept) +*/ *
from emp, dept
sample(10)
where emp.deptno=dept.deptno

现在,oracle 10g 将升级到 11g。我们必须证明对数据库升级的示例子句没有性能影响。换句话说,我应该证明示例子句在性能方面在 oracle 11g 中运行良好。

但我花了一整天在谷歌上搜索,没有预期的答案。你能给我一个答案或建议吗?太感谢了。

4

1 回答 1

3

好消息是它与 Oracle 内部用于采样的子句完全相同——尤其是用于 DBMS_Stats 程序。所以我想说,除了变得更快之外,它不太可能做任何事情。

坏消息是,在升级过程中存在大量可能损害或提高性能的问题,但是您很可能很快就会发现问题,并且会有可用的修复程序。但是,如果在升级过程中发生任何变化,有人不想被责备,而是通过让您将时间浪费在注定是徒劳且没有结果的努力上来掩饰他们的屁股。

调查这个问题的正确方法是用你实际将要使用的新版本建立一个新系统——没有削减的数据集,如果你要做的是一个输入-地方升级(您希望物理数据布局与生产完全相同),没有“小的代表性查询集”,使用相同的存储架构、处理器类型和内存配置。在真实数据上运行您的实际应用程序,并以有意义的方式比较升级前后的性能。

这绝对是唯一可以确定的方法,因为您已经设定的任务的根本问题是您必须寻找不存在的东西(性能问题)的证据。这就像试图证明洗衣机中不存在隐形小精灵,它们会从每双袜子中吃掉一只袜子——几乎不可能!举证责任在于那些说某事可能存在的人。

http://www.logicallyfallacious.com/index.php/logical-fallacies/146-proving-non-existence

以下是您可以采取的一些建设性步骤:

  1. 搜索 Metalink - 这是升级问题的第一大权威来源,因为问题通过 Metalink 报告,并且要么提出错误,要么发布解释。
  2. 搜索 Oracle 论坛——如果人们遇到的行为发生普遍变化,那么他们会在这里提出质疑。
  3. 一般在网上搜索。

如果你已经完成了所有这些,那么这就是你可以期望付出的努力的极限。

如果这还不够,那么您或这次迁移背后的人只需要升级它,并提出一些尴尬的问题:从 9i 迁移到 10g 是否需要这种级别的证明?从 10.2.0.2 升级到 10.2.0.5 是否需要?

我真的很想知道这背后的政治——这听起来像是一个可怕的工作场所。

于 2013-05-29T07:55:35.067 回答