【发布时间】:2014-04-02 18:18:42
【问题描述】:
我们目前为每个 Oracle 实例维护“N”个表空间。我们想看看我们是否可以扩大规模。有没有办法找到每个表空间的共享池使用情况? Oracle 是否也维护这些统计信息?
Oracle 让我们可以访问许多视图,所以我想知道如何最好地解决这个问题。
【问题讨论】:
-
你想“扩大规模”什么?您是否正在谈论添加表空间,因为您将多个数据库整合到一个数据库中,从而增加了表空间的数量?否则,我不确定我是否了解您要解决的业务问题。无论您要解决什么问题,我都会打赌有更好的方法。如果您确定您的方法是您想要的方法,我猜您希望报告基于缓冲区缓存(存储数据块)而不是共享池(存储 SQL 语句)中的内容。
-
啊,是的。我想在不超载实例的情况下向同一个实例添加更多表空间。你是正确的,共享池不是唯一共享的区域。基本上,我正在寻找每个表空间的 SGA 使用情况。
-
您是否因为将多个数据库中的应用程序整合到一个数据库中而添加了更多表空间?否则,我不清楚添加表空间如何或为什么会与系统过载有关。如果您的工作负载保持不变,则表空间的数量无关紧要。
-
是的,这是为了将更多应用程序引入单个数据库。工作量必然会与表空间的数量成比例地增加。
-
如果您正在谈论向现有应用程序添加功能,那么专注于表空间是一个红鲱鱼。这是您需要关注的额外工作负载,无论工作负载影响的对象驻留在哪个表空间中。如果您正在编写其他功能,您通常希望在较低环境中运行一些性能测试以确定新功能对现有功能的影响,这些影响可能来自缓冲区缓存之外的各种不同因素。
标签: oracle shared-memory tablespace