PGA

本文介绍Oracle 9i数据库中程序全局区域(PGA)的监控与资源管理方法,包括如何设置PGA_AGGREGATE_TARGET参数以优化SQL操作程序性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PGA

描述

注意:
此资源模型仅适用于 Oracle 9i。

在程序全局区域中监控以下内容:

  • 多通执行 — 以多通内存大小执行的工作区的总数量。
  • 最佳百分比 — 以最佳内存大小执行的工作区的百分比。
  • 工作区百分比 — 在分配数据库的其它组件后对工作区可用的程序全局区域内存的百分比。
  • 工作区最大空间大小 — 以 AUTO 方式执行的内存工作区的最大空间大小。
  • 组件区域 — 由程序全局区域内存的消耗组件消耗的而不是为自动工作区消耗的内存量。

为使 PGA 资源模型能正确运行,WORKAREA_SIZE_POLICY 初始化参数必须设置为 "Auto." 您可以通过输入以下 SQL 命令在正在运行的数据库上设置该值:

alter system set pga_aggregate_target = <size>;
alter system set workarea_size_policy = auto;
程序全局区域(或 PGA)是包含服务器进程的数据和控制信息的非共享内存区域。只要服务器进程启动,Oracle 就创建程序全局区域。为活动工作区分配的程序全局区域内存是从 PGA_AGGREGATE_TARGET 初始化参数自动派生的。Oracle 授权 DBA 设置的 PGA_AGGREGATE_TARGET 限制控制分配给 SQL 工作区的程序全局区域内存的数量。Oracle 也使正在使用最佳数量的程序全局区域内存(高速缓存)使所有内存密集型 SQL 操作程序的性能最大化的工作区数量最大化。其余工作区以一次方式执行,除非程序全局区域内存限制过低,而需要多次执行以进一步减少使用程序全局区域内存并授权程序全局区域目标限制。

工作区是用于执行数据操作(例如排序或散列连接)的内存区域。可以控制并调整工作区的大小。大工作区提高特定操作程序的性能,代价是较高的内存消耗。工作区的大小应足够大,用于存放相应 SQL 操作程序分配的输入数据和辅助内存结构。此大小称为工作区的最佳大小。最佳百分比显示以最佳方式运行的工作区百分比。工作区完全在内存中执行操作时以最佳方式运行。

工作区大小对于输入数据大小过小时,需要通过多次输入数据,也称为多通执行。多次执行增大操作程序的响应时间并降低性能。通过使用合理数量的程序全局区域内存配置系统,避免多次执行。应尽量使大多数工作区使用最佳大小运行,并使其中一小部分使用一次大小运行。应避免多通执行。

资源模型概述
内部名称 OraclePGA
类别 Oracle
指示 当多通执行数超出指定阈值时,发生高 PGA 多通执行
当程序全局区域最佳百分比超出指定阈值时,发生高 PGA 最佳百分比
当程序全局区域组件区域小于指定阈值时,发生低 PGA 组件区域
当程序全局区域中工作区的大小最大值超出指定阈值时,发生低 PGA 工作区最大空间大小
当工作区中 PGA 内存的百分比超出指定阈值时,发生低 PGA 工作区百分比
任务和内置操作
缺省周期时间 1800 秒

目标受管资源

OracleDatabaseManager, OracleInstanceManager

指示及事件

下表总结该资源模型的指示、与指示关联的事件、事件的缺省严重性以及何处查找该指示的详细描述。当触动为指示指定的阈值时,资源模型生成一个事件。

指示 生成的事件 缺省严重性 清除事件 页码
高 PGA 多次执行数 Oracle_High_PGAMultipassExecutions
紧急 "高 PGA 多通执行指示"
高 PGA 最佳百分比 Oracle_High_PGAOptimalPercentage
紧急 "高 PGA 最佳百分比指示"
低 PGA 组件区域 Oracle_Low_PGAComponentArea
紧急 "低 PGA 组件区域指示"
低 PGA 工作区大小最大值 Oracle_Low_PGAWorkAreaMaxSize
紧急 "低 PGA 工作区大小最大值指示"
低 PGA 工作区百分比 Oracle_Low_PGAWorkAreaPercentage
紧急 "低 PGA 工作区百分比指示"

 

高 PGA 多通执行指示

当多通执行数超出指定阈值时发生。指示发生频率高到足以触发事件时,事件向 Tivoli Enterprise Console 发送消息,消息格式如下:

<application_label>:Oracle
实例命中百分比 <InstanceName> 已跨越至预定义的阈值之上
(<Threshold> 执行)之上,当前为
<PGAMultipassExecutions> 执行。

如果您已经通过 Tivoli Business Systems Manager 配置了系统,Tivoli Enterprise Console 将事件转发给 Tivoli Business Systems Manager。

您可以在 IBM Tivoli Monitoring Web 运行状况控制台中检查该资源模型的运行状况。有关详细信息,请参阅《IBM Tivoli Monitoring Web 运行状况控制台》文档。

如果多次执行数较高,请考虑增大 PGA_AGGREGATE_TARGET 参数的值。一次执行百分比与最佳值相比较高时,也请考虑增大 PGA_AGGREGATE_TARGET 的值。如果最佳工作区百分比为 100%,请考虑减小 PGA_AGGREGATE_TARGET。

指示拥有以下属性:

 

DatabaseName
Oracle 数据库实例的名称数据库名称最多可包含 8 个字符,与 CREATE DATABASE 语句中指定的名称一致,在数据库初始化参数文件中 DB_NAME 参数里标识。

 

InstanceName
Oracle数据库实例的名称。实例名称由数据库初始化参数文件中的 INSTANCE_NAME 数据库标识且对应实例的 OracleSystem Identifier (SID)。

 

PGAMultipassExecutions
以多次内存大小执行的工作区总数。

该指示包含以下阈值:

  • 最大 PGA 多次执行数

关于这些阈值的更多信息,请参阅阈值

下表描述了该指示的缺省设置。

设置 缺省值
将指示发送到 Tivoli Enterprise Console
将指示发送到 Tivoli Business Systems Manager
发生次数 1
空洞 0
关联的任务和内置操作

注意:
如果您通过 Tivoli Business Systems Manager 配置了系统,Tivoli Enterprise Console 自动将事件转发给 Tivoli Business Systems Manager。请不要更改此指示的配置以发送事件到 Tivoli Business Systems Manager。

 

高 PGA 最佳百分比指示

 

当程序全局区域最佳百分比超过指定阈值时发生。这是为了监视以最佳大小创建的工作区的百分比。指示发生频率高到足以触发事件时,事件向 Tivoli Enterprise Console 发送消息,消息格式如下:

<application_label>:Oracle 实例 PGA 最佳百分比 <InstanceName>
已跨越至预定义的阈值之上(<Threshold>%),
当前为百分比 <PGAOptimalPercentage>。

如果您已经通过 Tivoli Business Systems Manager 配置了系统,Tivoli Enterprise Console 将事件转发给 Tivoli Business Systems Manager。

您可以在 IBM Tivoli Monitoring Web 运行状况控制台中检查该资源模型的运行状况。有关详细信息,请参阅《IBM Tivoli Monitoring Web 运行状况控制台》文档。

指示拥有以下属性:

 

DatabaseName
Oracle 数据库名称。数据库名称最多可包含 8 个字符,与 CREATE DATABASE 语句中指定的名称一致,在数据库初始化参数文件中 DB_NAME 参数里标识。

 

InstanceName
Oracle数据库实例的名称。实例名称由数据库初始化参数文件中的 INSTANCE_NAME 数据库标识且对应实例的 OracleSystem Identifier (SID)。

 

PGAOptimalPercentage
以最佳内存大小执行的工作区百分比。

该指示包含以下阈值:

  • 最大 PGA 最佳百分比

关于这些阈值的更多信息,请参阅阈值

下表描述了该指示的缺省设置。

设置 缺省值
将指示发送到 Tivoli Enterprise Console
将指示发送到 Tivoli Business Systems Manager
发生次数 1
空洞 0
关联的任务和内置操作

注意:
如果您通过 Tivoli Business Systems Manager 配置了系统,Tivoli Enterprise Console 自动将事件转发给 Tivoli Business Systems Manager。请不要更改此指示的配置以发送事件到 Tivoli Business Systems Manager。

 

低 PGA 组件区域指示

 

当程序全局区域最佳百分比低于指定阈值时发生。指示发生频率高到足以触发事件时,事件向 Tivoli Enterprise Console 发送消息,消息格式如下:

<application_label>:Oracle实例 <InstanceName> 的 PGA 组件区域已低于 <Threshold>
百分比预定义的阈值且当前处于 <PGAComponentArea> 百分比。

如果您已经通过 Tivoli Business Systems Manager 配置了系统,Tivoli Enterprise Console 将事件转发给 Tivoli Business Systems Manager。

您可以在 IBM Tivoli Monitoring Web 运行状况控制台中检查该资源模型的运行状况。有关详细信息,请参阅《IBM Tivoli Monitoring Web 运行状况控制台》文档。

如果此度量返回的值为负,请通过增大初始化参数 PGA_AGGREGATE_TARGET 的值增大 PGA 内存的大小。如果自动 PGA 内存管理处于关闭状态,则返回的值不适用。

指示拥有以下属性:

 

DatabaseName
Oracle 数据库名称。数据库名称最多可包含 8 个字符,与 CREATE DATABASE 语句中指定的名称一致,在数据库初始化参数文件中 DB_NAME 参数里标识。

 

InstanceName
Oracle数据库实例的名称。实例名称由数据库初始化参数文件中的 INSTANCE_NAME 数据库标识且对应实例的 OracleSystem Identifier (SID)。

 

PGAComponentArea
由程序全局区域消耗者而不是自动工作区消耗的内存量。

该指示包含以下阈值:

  • 最小 PGA 组件区域

关于这些阈值的更多信息,请参阅阈值

下表描述了该指示的缺省设置。

设置 缺省值
将指示发送到 Tivoli Enterprise Console
将指示发送到 Tivoli Business Systems Manager
发生次数 1
空洞 0
关联的任务和内置操作

注意:
如果您通过 Tivoli Business Systems Manager 配置了系统,Tivoli Enterprise Console 自动将事件转发给 Tivoli Business Systems Manager。请不要更改此指示的配置以发送事件到 Tivoli Business Systems Manager。

 

低 PGA 工作区大小最大值指示

 

如果程序全局区域中工作区大小的最大值低于指定阈值时发生。指示发生频率高到足以触发事件时,事件向 Tivoli Enterprise Console 发送消息,消息格式如下:

<application_label>:符合 Oracle 实例 实例百分比 <InstanceName> 已低于预定义
的阈值 <Threshold> KB 预定义的阈值且当前处于 <PGAWorkAreaMaxSize> KB。

如果您已经通过 Tivoli Business Systems Manager 配置了系统,Tivoli Enterprise Console 将事件转发给 Tivoli Business Systems Manager。

您可以在 IBM Tivoli Monitoring Web 运行状况控制台中检查该资源模型的运行状况。有关详细信息,请参阅《IBM Tivoli Monitoring Web 运行状况控制台》文档。

如果此监视器返回的值小于 1 兆字节,请通过增大初始化参数PGA_AGGREGATE_TARGET 的值增大 PGA 内存的大小。

指示拥有以下属性:

 

DatabaseName
Oracle 数据库名称。数据库名称最多可包含 8 个字符,与 CREATE DATABASE 语句中指定的名称一致,在数据库初始化参数文件中 DB_NAME 参数里标识。

 

InstanceName
Oracle数据库实例的名称。实例名称由数据库初始化参数文件中的 INSTANCE_NAME 数据库标识且对应实例的 OracleSystem Identifier (SID)。

 

PGAWorkAreaMaxSize
以“自动”方式执行的工作区大小的最大值。

该指示包含以下阈值:

  • 最小 PGA 工作区大小最大值

关于这些阈值的更多信息,请参阅阈值

下表描述了该指示的缺省设置。

设置 缺省值
将指示发送到 Tivoli Enterprise Console
将指示发送到 Tivoli Business Systems Manager
发生次数 1
空洞 0
关联的任务和内置操作

注意:
如果您通过 Tivoli Business Systems Manager 配置了系统,Tivoli Enterprise Console 自动将事件转发给 Tivoli Business Systems Manager。请不要更改此指示的配置以发送事件到 Tivoli Business Systems Manager。

 

低 PGA 工作区百分比指示

 

当工作区中 PGA 内存的百分比低于指定阈值时发生。此指示返回在数据库的其它组件分配其 PGA 内存区域之后对工作区可用的 PGA 内存百分比。指示发生频率高到足以触发事件时,事件向 Tivoli Enterprise Console 发送消息,消息格式如下:

<application_label>:符合 Oracle 实例百分比(时间间隔)<InstanceName> 已低于预定义
的阈值(<Threshold>%),当前为处于 <PGAWorkAreaPercentage> 百分比。

如果您已经通过 Tivoli Business Systems Manager 配置了系统,Tivoli Enterprise Console 将事件转发给 Tivoli Business Systems Manager。

您可以在 IBM Tivoli Monitoring Web 运行状况控制台中检查该资源模型的运行状况。有关详细信息,请参阅《IBM Tivoli Monitoring Web 运行状况控制台》文档。

指示拥有以下属性:

 

DatabaseName
Oracle 数据库名称。数据库名称最多可包含 8 个字符,与 CREATE DATABASE 语句中指定的名称一致,在数据库初始化参数文件中 DB_NAME 参数里标识。

 

InstanceName
Oracle数据库实例的名称。实例名称由数据库初始化参数文件中的 INSTANCE_NAME 数据库标识且对应实例的 OracleSystem Identifier (SID)。

 

PGAWorkAreaPercentage
在数据库的其它组件分配其程序全局区域内存的区域之后对工作区可用的程序全局区域内存百分比。

该指示包含以下阈值:

  • 最小 PGA 工作区百分比

关于这些阈值的更多信息,请参阅阈值

下表描述了该指示的缺省设置。

设置 缺省值
将指示发送到 Tivoli Enterprise Console
将指示发送到 Tivoli Business Systems Manager
发生次数 1
空洞 0
关联的任务和内置操作

注意:
如果您通过 Tivoli Business Systems Manager 配置了系统,Tivoli Enterprise Console 自动将事件转发给 Tivoli Business Systems Manager。请不要更改此指示的配置以发送事件到 Tivoli Business Systems Manager。

阈值

下表列出了可设置的 PGA 资源模型阈值。对于每个阈值,它显示了名称、简短描述和缺省值:

阈值 描述 缺省值
最大 PGA 多次执行数 如果 PGA 多次执行数超出此值,则出现指示。 0
最大 PGA 最佳百分比 如果 PGA 最佳百分比超出此值,则出现指示。 99
最小 PGA 组件区域 如果 PGA 组件区域小于此值,则出现指示。 0
最小 PGA 工作区大小最大值 如果 PGA 工作区大小最大值小于此值,则出现指示。 1024
最小 PGA 工作区百分比 如果 PGA 工作区百分比超出此值,则出现指示。 40

参数

注意:
加号(+)表示以选择性记录为特色的参数。选择性记录可使您选择要记录的度量/属性。选择性记录度量列在“参数”窗口的值字段中。

下表列出了可设置的 PGA 资源模型参数。该表显示了每个参数的名称、简短描述和缺省值:

参数 描述 缺省值
Instance Metrics + 选择要记录的度量。对每个度量的描述,请参阅以下记录表。

PGA 组件区域

PGA 多次执行

PGA 最佳百分比

PGA 工作区百分比

PGA 工作区大小最大值

任务及内置操作

记录

可以为下表中列出的受管资源属性记录数据。下表显示出受管资源的上下文和资源模型为 IBM Tivoli Monitoring Web 运行状况控制台记录的属性。

受管资源 上下文 属性
OracleInstance 内存

 

InstanceName*
Oracle 数据库实例的名称

 

OracleDatabase.DatabaseName*
Oracle 数据库实例的名称

 

PGAComponentArea
由程序全局区域消耗者而不是自动工作区消耗的内存量。

 

PGAMultipassExecutions
以多次内存大小执行的工作区总数。

 

PGAOptimalPercentage
以最佳内存大小执行的工作区百分比。

 

PGAWorkAreaMaxSize
以“自动”方式执行的工作区大小的最大值。

 

PGAWorkAreaPercentage
在数据库的其它组件分配其程序全局区域内存的区域之后对工作区可用的程序全局区域内存百分比。

注意:
星号(*)表示关键属性。

返回码

表 2 包含一个列表,其中包括资源模型、返回码、其描述和解析各代码可以采取的操作。返回码在 IBM Tivoli Monitoring Web 运行状况控制台状态字段中显示,或者可通过使用 wdmlseng 目录显示。

CLI 示例

wdmeditprf -P OracleProfile#tme-region -add OraclePGA -c 1800 /
 -Log -LogDisable -p 12:00 -Agg no -ap 00:15 -NoMin -NoMax -Avg  /
-t Oracle_Maximum_PGAMultipassExecutions 0.000000 /
-t Oracle_Maximum_PGAOptimalPercentage 99.000000 /
-t Oracle_Maximum_PGAWorkAreaPercentage 0.000000 /
-t Oracle_Minimum_PGAComponentArea 0.000000 /
-t Oracle_Minimum_PGAWorkAreaMaxSize 1024.000000 /
-AddPar InstanceMetrics "PGAMultipassExecutions" /
-AddPar InstanceMetrics "PGAOptimalPercentage" /
-AddPar InstanceMetrics "PGAWorkAreaPercentage" /
-AddPar InstanceMetrics "PGAWorkAreaMaxSize" /
-AddPar InstanceMetrics "PGAComponentArea" /
-e Oracle_Low_PGAComponentArea /
    -o 1 -h 0 -severity CRITICAL -SendTBSM -SendTec /
-e Oracle_Low_PGAWorkAreaMaxSize /
    -o 1 -h 0 -severity CRITICAL -SendTBSM -SendTec /
-e Oracle_High_PGAOptimalPercentage /
    -o 1 -h 0 -severity CRITICAL -SendTBSM -SendTec /
-e Oracle_High_PGAMultipassExecutions /
    -o 1 -h 0 -severity CRITICAL -SendTBSM -SendTec /
-e Oracle_High_PGAWorkAreaPercentage /
    -o 1 -h 0 -severity CRITICAL -SendTBSM -SendTec
 
04-03
<think>好的,我现在需要回答用户关于PGA(可编程门阵列)的问题。首先,用户提到可能与PGA相关,但缺乏上下文,所以我要先确认PGA的定义和基本概念。 首先,PGA的全称是Programmable Gate Array,即可编程门阵列。根据我的知识,PGA属于FPGA(现场可编程门阵列)的一种类型,或者可能用户将两者混淆了。需要明确两者的区别和联系。可能PGA和FPGA在某些文献中被交替使用,但严格来说,FPGA是更常见的术语。我需要确认这一点,避免给出错误信息。 接下来,我应该解释PGA的基本结构和工作原理。例如,PGA由可编程逻辑块、互连资源和I/O单元组成,用户可以通过编程配置这些资源来实现特定的电路功能。这里需要确保技术术语的准确性,比如逻辑块、查找表(LUT)、触发器、可编程互连等。 然后,需要提到PGA的应用领域,比如数字电路设计、原型验证、嵌入式系统等。同时,可能需要比较PGA与ASIC(专用集成电路)的优势和劣势,比如灵活性、开发周期、成本等方面。 用户的问题可能还涉及到PGA的编程方式,比如使用硬件描述语言(HDL)如Verilog或VHDL,以及综合工具将代码转换为配置位流。此外,可能需要提到常见的PGA厂商,如Xilinx和Intel(原Altera),但要注意这些厂商主要生产FPGA,所以需要澄清术语是否一致。 在回答过程中,需要遵循用户给出的系统级指令:使用中文,数学公式用$...$和$$...$$格式,正确使用LaTeX语法,生成相关问题。同时,确保回答结构清晰,分点说明,帮助用户逐步理解。 可能还需要检查是否有引用需求。用户提供的引用标识示例中,引用了快速排序的相关内容,但当前问题涉及PGA,可能需要引用相关文献或资料。不过由于用户没有提供具体的引用来源,这里可能需要省略引用,或者假设某些常识内容不需要引用。 最后,生成的相关问题需要围绕PGA展开,比如工作原理、与FPGA的区别、应用场景、设计流程等。确保问题具有针对性,能够帮助用户进一步探索该主题。 现在需要组织这些思路,形成结构化的回答,并确保符合所有格式要求。同时,要避免使用Markdown,保持自然的中文表达,分步骤解释,并在末尾添加相关问题。</think>### 关于PGA(可编程门阵列)的解析 PGA(Programmable Gate Array,可编程门阵列)是一种可通过编程配置实现定制数字电路功能的半导体器件。它由可编程逻辑单元、互连资源和输入输出模块组成,允许用户根据需求设计专用电路,兼具灵活性和高性能[^1]。 #### 核心特点 1. **可重构性** PGA的逻辑功能可通过硬件描述语言(如Verilog/VHDL)定义,经综合工具生成配置位流(bitstream)后加载到器件中。例如,一个加法器电路可表示为: ```verilog module adder(input [3:0] a, b, output [4:0] sum); assign sum = a + b; endmodule ``` 2. **并行计算能力** 与CPU顺序执行不同,PGA的电路可并行运行。例如,两个独立乘法运算$z_1 = x_1 \times y_1$和$z_2 = x_2 \times y_2$可在同一时钟周期内完成。 3. **低延迟处理** 信号传输路径通过硬件直接实现,避免了软件栈开销。例如,图像滤波算法的延迟可降低至微秒级。 #### 与FPGA的关系 - **术语差异**:FPGA(Field-Programmable Gate Array,现场可编程门阵列)是更通用的名称,强调“现场可编程”(即用户可自行配置),而PGA有时指早期或特定类型的可编程器件。 - **技术演进**:现代FPGA集成更多资源(如DSP模块、高速串行接口),而传统PGA可能功能较基础。 #### 典型应用场景 - **通信系统**:实现5G基带信号处理中的FFT运算 - **嵌入式加速**:在自动驾驶中实时处理传感器数据 - **原型验证**:ASIC设计前的功能仿真
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值