最近,我的任务是将Oracle11g数据库从linux CentOS桌面转移到Windows2008服务器。考虑到我还没有在幕后做过很多关于甲骨文的事情,在我有点不深入之前。
我从源服务器执行了一个完整的expdp,并将其导入目标服务器(我在加载之前构建了表空间,但没有其他任何内容)。
一切都进行得很顺利(一些与不同global_name相关的错误,从文档来看,似乎是可以忽略的。
我遇到的问题是,与旧服务器相比,新服务器运行查询所需的时间似乎更长。这是尽管有更多的核心和更多的RAM。我认为这个问题是由于旧服务器在SSD上运行时的I/O限制造成的。
我在查询中得到了同样的“解释计划”,但在v$sql_longops上完成这些块似乎要花费更长的时间.有人能提供详细的信息来检查和比较输出,这样我就可以尝试确定潜在的问题了吗?
发布于 2012-10-27 10:14:05
取决于版本(企业、标准、快递等)、许可选项(特别是性能和调优包),以及您是否安装了Statspack,在两个系统执行类似的工作负载时,我将首先获取一个AWR或Statspack报告,并对它们进行比较。如果您被授权使用AWR (请注意,查询AWR表违反了您的许可协议),请使用AWR报告。否则,假设您(或之前的DBA)安装了Statspack,请使用它。否则,您将不得不在两个系统中安装Statspack。
如果您的猜测是正确的,I/O是瓶颈,问题是新服务器上的I/O子系统要比旧服务器上的I/O子系统慢,您可能会期望新服务器上的报表中的顶级等待事件主要是I/O,I/O的数量在各个报表中是一致的,并且您会看到各个表空间和数据文件上的单个I/O操作在新系统上始终较慢。否则,比较报告应该能告诉你瓶颈是什么(尽管AWR报告包含大量信息,全面讨论解释AWR报告是一本书,而不是论坛文章)。
https://dba.stackexchange.com/questions/27722
复制相似问题