有没有办法找出数据库的最大内存?

时间:2019-09-05 07:35:57

标签: sql database oracle

我正在用Oracle Apex编写Web应用程序。有没有可以找到最大可用内存的表?它必须是一个SQL语句。

我在Google上进行了搜索,但找不到适合我问题的正确答案。

1 个答案:

答案 0 :(得分:2)

基本上,Oracle内存分为两个块:

  1. 共享的全球区域
  2. 计划全球专区

这些块被细分为支持不同类型的数据库操作。该文档更详细地介绍了所有这些内容。 Find out more.

为了您的特定目的,SGA和PGA的最大大小将为您提供“最大可用内存” 。该查询提供了以下信息:

select name, value
from   v$parameter
where  name in ('sga_max_size', 'pga_aggregate_limit')

对于这些参数,value以字节为单位。您可能希望将它们加在一起,但是这两个区域是不可替代的,因此了解这两个分配可能更有用。

请注意,默认情况下v$parameter不会暴露给非DBA用户。因此,您可能需要先授予用户特权,然后才能在其上构建Apex屏幕。