请叙述RAC的是否需要额外的内存需求 ?
参考答案:
RAC,即Real Application Clusters,是Oracle数据库的一个组件,它允许Oracle数据库跨一组集群服务器运行任何打包的或自定义的应用程序,而无需对这些应用程序做任何改动。在RAC环境中,多个实例共享一个数据库,但并非分布式系统,而是形成了一个集群。
由于RAC的架构特性,它确实需要额外的内存需求。RAC特有的内存多数是在SGA(系统全局区)创建时从shared pool(共享池)中分配的。由于blocks(数据块)可能跨越多个实例被缓冲,因此必须要求更大的缓冲区。这意味着当将单实例的数据库迁移到RAC环境中时,为了保持每个实例的请求工作量与单实例时相当,需要对运行RAC的实例增大一定比例的buffer cache(缓冲区缓存)和shared pool。具体来说,可能需要增大10%的buffer cache和15%的shared pool。
因此,RAC确实需要额外的内存需求。这些额外的内存需求是为了确保RAC能够在多个实例之间有效地共享和管理数据库资源,从而提高整个系统的可用性和性能。