Performance 如何使用当前可用内存来最小化创建索引的时间?

Performance 如何使用当前可用内存来最小化创建索引的时间?,performance,oracle,oracle11g,indexing,database-migration,Performance,Oracle,Oracle11g,Indexing,Database Migration,我需要在几周内将我们的主数据库迁移到一个新的服务器和存储子系统。Oracle 11目前正在Windows上运行,我们将为其安装一个全新的SuSE。不会有其他重大变化。内存将是相同的,服务器只是更新了一点 我主要关心的是创建索引所需的时间。我们上次创建一些索引的经验花费了很长时间,从那以后,我正在研究如何优化它 当前服务器有128GB内存,我们使用的是Oracle ASSM(51GB用于SGA,44GB用于PGA),而Spotlight On Oracle报告没有数据文件的物理读取活动。所有东西都

我需要在几周内将我们的主数据库迁移到一个新的服务器和存储子系统。Oracle 11目前正在Windows上运行,我们将为其安装一个全新的SuSE。不会有其他重大变化。内存将是相同的,服务器只是更新了一点

我主要关心的是创建索引所需的时间。我们上次创建一些索引的经验花费了很长时间,从那以后,我正在研究如何优化它

当前服务器有128GB内存,我们使用的是Oracle ASSM(51GB用于SGA,44GB用于PGA),而Spotlight On Oracle报告没有数据文件的物理读取活动。所有东西都缓存在内存中,性能非常好。Spotlight还指出PGA消耗量仅为500 MB

我知道我最大的表有1亿行,占用15GB。然而,它的索引占用53GB。当我重新创建其中一个时,我可以在临时表空间中看到很多写活动

所以问题是:如何使用所有可用内存来最小化临时活动

我不确定这是否相关,但我们看到平均有300-350个用户连接,我将初始化参数提高到最多700个会话


诚挚的问候,

< P>你应该考虑为工作人员设置索引,然后将SotJiaRayaSelm设置为足够大的数字。(最大值取决于O/S,但2GB是一个很好的起点。)

此外,尽管你没有提到它,你也应该考虑使用NoCrices来提高性能。


希望能有所帮助。

您的建议很有效,谢谢!我还发现,您可以使用调整为系统中处理器数量两倍的并行程序。请谨慎使用并行程序,尤其是在重建过程中运行其他对性能敏感的任务时。如果你不小心,你可能会对其他任务的性能造成严重影响。