为什么我的 Oracle 要从磁盘读取?

为什么我的 Oracle 要从磁盘读取?

我们的 Oracle 服务器(版本 12c)在具有 128GB RAM 的 RedHat-6.7 服务器上运行。

目前其上唯一的数据库大小只有约60GB。

然而,我们在输出中看到大量磁盘读取(在存储数据库的设备上)iostat(以蓝色显示)。当然,也有一些写入(以黄色显示):

在此处输入图片描述

虽然写入永久存储是有意义的,因为我们有时会对数据进行修改,但读取却没有意义——整个数据库可以两次装入内存……事实上,我们应该能够将其存储在 USB 上并仍具有良好的读取时间。

我们应该检查和调整 Oracle 配置的哪些部分,以使服务器使用所有可用的 RAM?

更新:我们将看看在记忆中设置——感谢@lenniey。但似乎,当服务器必须(由于 RAM 短缺)决定从内存中删除哪些内容以便稍后重新读取时,INMEMORY 参数就会发挥作用。在我们的例子中没有什么永远不应该从记忆中删除,因为还有空间一切。然而,有些东西显然被一遍又一遍地重读……

答案1

您是否在该 Oracle 实例上运行多个数据库?如果是,请确保有问题的读取发生在该实例的所有数据库中。如果不是这种情况,请检查日志和进程,并尝试将其缩小到特定查询和作业。在执行此操作之前,您必须问自己从该数据库获得的性能是否足够好?您是否收到投诉?有时我们最终会尝试优化运行良好的东西。祝你好运!

相关内容