管理Oracle PGA的方法

PGA

PGA(Program Global Area程序全局区)是一块包含一个服务进程的数据和控制信息的内存区域。 它是Oracle在一个服务进程启动是创建的,是非共享的。一个Oracle进程拥有一个PGA内存区。一个PGA 也只能被拥有它的那个服务进程所访问,只有这个进程中的Oracle代码才能读写它。因此,PGA中的结 构是不需要Latch保护的。

我们可以设置所有服务进程的PGA内存总数受到实例分配的总体PGA(Aggregated PGA)限制。

在专有服务器(Dedicated Server)模式下,Oracle会为每个会话启动一个Oracle进程;而在多线 程服务(Multi-Thread Server MTS)模式下,由多个会话共享通一个Oracle服务进程。

PGA中包含了关于进程使用到的操作系统资源的信息,以及一些关于进程状态的信息。而关于进程使 用的Oracle共享资源的信息则是在SGA中。这样做可以使在进程以外中止时,能够及时释放和清除这些 资源。

·Stack Space是用来存储用户会话变量和数组的存储区域;

·User Session Data是为用户会话使用的附加存储区。

|--Session Information

|--Sort Area

|--Cursor Information

注意Session information(用户会话信息)在独占服务器中与在共享服务器中所处的内存区域是不 同的。

2.1 PGA的组成

PGA由两组区域组成:固定PGA和可变PGA(或者叫PGA堆,PGA Heap【堆——Heap就是一 个受管理的内存区】)。固定PGA和固定SGA类似,它的大小时固定的,包含了大量原子变量、小的数据 结构和指向可变PGA的指针。

可变PGA是一个内存堆。它的内存段可以通过视图X$KSMPP(另外一个视图X$KSMSP可以查到可变SGA 的内存段信息,他们的结构相同)查到。PGA堆包含用于存放X$表的的内存(依赖与参数设置,包括 DB_FILES、CONTROL_FILES)。

总的来说,PGA的可变区中主要分为以下三部分内容:

1)私有SQL区;

2)游标和SQL区

3)会话内存

时间: 2024-12-02 02:04:51

管理Oracle PGA的方法的相关文章

chapter5:管理 Oracle 例程

oracle 第 5 章:管理 Oracle 例程 返回课程列表 目的 本章重点讲述了管理例程所涉及到的任务.在本章中,您将了解到如何使用 Enterprise Manager 的 Administration 页面的 Instance 区域中的属性页面. 主题 本章讨论了以下内容: 使用 Enterprise Manager 来启动和关闭 Oracle 例程 查看初始化参数 Managing Memory Parameters 查看屏幕截图 将鼠标移到这个图标上,显示所有的屏幕截图.您还可以将

细谈 oracle备份的方法

细谈 oracle备份的方法 [内容导航] 第1页:了解ORACLE的运行方式 第2页:ORACLE备份的分类 第3页:定制恰当的备份策略 [IT168 服务器学院]一.了解备份的重要性  可以说,从计算机系统出世的那天起,就有了备份这个概念,计算机以其强大的速度处理能力,取代了很多人为的工作,但是,往往很多时候,它又是那么弱不禁风,主板上的芯片.主板电路.内存.电源等任何一项不能正常工作,都会导致计算机系统不能正常工作.当然,这些损坏可以修复,不会导致应用和数据的损坏.但是,如果计算机的硬盘损

使用外部表管理Oracle 告警日志(ALAERT_$SID.LOG)

--================================================ -- 使用外部表管理Oracle 告警日志(ALAERT_$SID.LOG) --================================================       Oracle 告警日志时DBA维护数据库经常需要关注的一部分内容.然而告警日志以文本文件,按时间的先后顺序不断累积的形式来存储,久而 久之,势必造成告警日志的过大,难于维护和查找相关的信息.使用外表表方式来

ASP.NET访问Oracle数据库的方法

asp.net|oracle|访问|数据|数据库 引言 Microsoft .NET Framework Data Provider for Oracle(以下简称为.NET for Oracle)是一个.NET Framework的组件.这个组件为我们使用.NET访问Oracle数据库提供了极大的方便.那些使用.NET和Oracle的开发人员,相信会乐的手舞足蹈,因为他们再也不必使用那个并不十分"专业="的OLEDB来访问Oracle数据库了.这个组件的设计非常类似.NET中内置的M

简介使用ASP.NET访问Oracle数据库的方法

asp.net|oracle|访问|数据|数据库 摘要 本文简要介绍了使用ASP.NET访问Oracle数据库的方法.首先,介绍了组件的安装:其次,简单说明了System.Data.OracleClient中包含的核心类:最后,通过一个实例讲解了具体的使用方法. -------------------------------------------------------------------------------- 目录 引言 系统需求和安装 核心类介绍 举例说明 参考信息 -------

利用srvctl管理Oracle RAC数据库

srvctl即Server Control,是Oracle提供的一个命令行工具,用以用于管理Oracle的RAC环境.srvctl在Oracle 9i中被引入,Oracle10g.11g对其功能进行了很大的增强和改进.下面介绍下此命令的简单用法. 一. 查看实例状态(srvctl status) 查询所有实例和服务的状态: [oracle@node-rac1 ~]$ srvctl status database -d racdb Instance racdb2 is running on nod

PowerPoint 2013中管理幻灯片母版的方法

  PowerPoint 2013中管理幻灯片母版的方法           1.启动PowerPoint 2013并打开演示文稿,进入"幻灯片母版"视图.在"幻灯片母版"选项卡的"编辑母版"组中单击"插入幻灯片母版"按钮为幻灯片添加一个幻灯片母版,该母版由1个主题母版和11个版式母版构成,如图1所示. 图1 插入幻灯片母版 注意 在选择一个幻灯片的版式母版后,按"Enter"键即可在该母版后面添加一个与其

python链接Oracle数据库的方法

  本文实例讲述了python链接Oracle数据库的方法.分享给大家供大家参考.具体如下: 这里使用python链接Oracle数据库需要引用cx_Oracle库 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #coding=UTF-8 import cx_Oracle def hello(): '''Hello cx_Oracle示例: 1)打印数据库版本信息. 2)查询表数据.''' conn = cx_Oracle.connect("obs

Win7系统右键计算机不能打开管理选项的解决方法

  Win7系统右键计算机不能打开管理选项的解决方法           Win7系统右键计算机不能打开"管理"怎么办?Win7操作系统使用一段时间之后,右击计算机中的"管理"点击后没有反应,所以也就不能弹出"计算机管理"窗口,下面小编就给大家带来Win7系统右键计算机不能打开管理选项的解决方法,一起来看看吧. 解决方案: 1.在运行窗口中输入:regedit(快捷键:win+r); 2.将注册表中: [HKEY_LOCAL_MACHINESOF