oracle sga pga mysql_oracle实例内存(SGA和PGA)调整-xin

本文详细介绍了Oracle数据库的System Global Area (SGA)和Process Global Area (PGA)的组成及作用。SGA主要包括共享池、数据缓冲区和日志缓冲区等,而PGA则是为每个用户进程保留的内存。文章提供了分析和调整SGA组件如共享池、缓冲区高速缓存和日志缓冲区的方法,以及PGA的自动管理与调整策略。通过SQL查询监控内存使用情况,确保数据库性能优化。

一、名词解释

(1)SGA:System Global Area是Oracle Instance的基本组成部分,在实例启动时分配;系统全局域SGA主要由三部分构成:共享池、数据缓冲区、日志缓冲区。

(2)共享池:Shared Pool用于缓存最近被执行的SQL语句和最近被使用的数据定义,主要包括:Library cache(共享SQL区)和Data dictionary cache(数据字典缓冲区)。  共享SQL区是存放用户SQL命令的区域,数据字典缓冲区存放数据库运行的动态信息。

(3)缓冲区高速缓存:Database Buffer Cache用于缓存从数据文件中检索出来的数据块,可以大大提高查询和更新数据的性能。

(4)大型池:Large Pool是SGA中一个可选的内存区域,它只用于shared server环境。

(5)Java池:Java Pool为Java命令的语法分析提供服务。

(6)PGA:Process Global Area是为每个连接到Oracle database的用户进程保留的内存。

二、分析与调整

(1)系统全局域:

SGA与操作系统、内存大小、cpu、同时登录的用户数有关。可占OS系统物理内存的1/3到1/2。

a.共享池:

查看共享SQL区的使用率:

Sql代码  3944d4f12684d37ba627adfced4c250b.png

select(sum(pins-reloads))/sum(pins) "Library cache" from v$librarycache;--动态性能表

这个使用率应该在90%以上,否则需要增加共享池的大小。

查看数据字典缓冲区的使用率:

Sql代码  3944d4f12684d37ba627adfced4c250b.png

select (sum(gets-getmisses-usage-fixed))/sum(gets) "Data dictionary cache" from v$rowcache;--动态性能表

这个使用率也应该在90%以上,否则需要增加共享池的大小。

修改共享池的大小:

Sql代码  3944d4f12684d37ba627adfced4c250b.png

ALTER SYSTEM SET SHARED_POOL_SIZE = 64M;

b.缓冲区高速缓存:

查看数据库数据缓冲区的使用情况:

Sql代码  3944d4f12684d37ba627adfced4c250b.png

SELECT name,value FROM v$sysstat order by name WHERE name IN(''DB BLOCK GETS'',''CONSISTENT GETS'',''PHYSICAL READS'');

计算出来数据缓冲区的使用命中率=1-(physical reads/(db block gets+consistent gets)),这个命中率应该在90%以上,否则需要增加数据缓冲区的大小。

c.日志缓冲区

查看日志缓冲区的使用情况:

Sql代码  3944d4f12684d37ba627adfced4c250b.png

SELECT name, value  FROM v$sysstat WHERE name IN (''redo entries'',''redo log space requests'');

查询出的结果可以计算出日志缓冲区的申请失败率:

申请失败率=requests/entries,申请失败率应该接近于0,否则说明日志缓冲区开设太小,需要增加ORACLE数据库的日志缓冲区。

d.大型池:

可以减轻共享池的负担,可以为备份、恢复等操作来使用,不使用LRU算法来管理。其大小由数据库的‘共享模式/db模式’如果是共享模式的话,要分配的大一些。

指定Large Pool的大小:

Sql代码  3944d4f12684d37ba627adfced4c250b.png

ALTER SYSTEM SET LARGE_POOL_SIZE=64M

e.Java池:

在安装和使用Java的情况下使用。

(2)PGA调整

a.PGA_AGGREGATE_TARGET初始化设置

PGA_AGGREGATE_TARGET的值应该基于Oracle实例可利用内存的总量来设置,这个参数可以被动态的修改。假设Oracle实例可分配4GB的物理内存,剩下的内存分配给操作系统和其它应用程序。你也许会分配80%的可用内存给Oracle实例,即3.2G。现在必须在内存中划分SGA和PGA区域。

在OLTP(联机事务处理)系统中,典型PGA内存设置应该是总内存的较小部分(例如20%),剩下80%分配给SGA。

OLTP:PGA_AGGREGATE_TARGET = (total_mem * 80%) * 20%

在DSS(数据集)系统中,由于会运行一些很大的查询,典型的PGA内存最多分配70%的内存。

DSS:PGA_AGGREGATE_TARGET = (total_mem * 80%) * 50%

在这个例子中,总内存4GB,DSS系统,你可以设置PGA_AGGREGATE_TARGET为1600MB,OLTP则为655MB。

b.配置PGA自动管理

不用重启DB,直接在线修改。

SQL> alter system set workarea_size_policy=auto scope=both;

System altered.

SQL> alter system set pga_aggregate_target=512m scope=both;

System altered.

SQL> show parameter workarea

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

workarea_size_policy                 string      AUTO --这个设置成AUTO

SQL> show parameter pga

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

pga_aggregate_target                 big integer 536870912

SQL>

c.监控自动PGA内存管理的性能

V$PGASTAT:这个视图给出了一个实例级别的PGA内存使用和自动分配的统计。

SQL> set lines 256

SQL> set pages 42

SQL> SELECT * FROM V$PGASTAT;

NAME                                                                  VALUE UNIT

---------------------------------------------------------------- ---------- ------------

aggregate PGA target parameter                                    536870912 bytes    --当前PGA_AGGREGATE_TARGET的值

aggregate PGA auto target                                         477379584 bytes    --当前可用于自动分配了的PGA大小,应该比PGA_AGGREGATE_TARGET 小

global memory bound                                                26843136 bytes    --自动模式下工作区域的最大大小,Oracle根据工作负载自动调整。

total PGA inuse                                                     6448128 bytes

total PGA allocated                                                11598848 bytes    --PGA的最大分配

maximum PGA allocated                                             166175744 bytes

total freeable PGA memory                                            393216 bytes    --PGA的最大空闲大小

PGA memory freed back to OS                                        69074944 bytes

total PGA used for auto workareas                                         0 bytes    --PGA分配给auto workareas的大小

maximum PGA used for auto workareas                                 1049600 bytes

total PGA used for manual workareas                                       0 bytes

maximum PGA used for manual workareas                                530432 bytes

over allocation count                                                  1118    --实例启动后,发生的分配次数,如果这个值大于0,就要考虑增加pga的值

bytes processed                                                   114895872 bytes

extra bytes read/written                                            4608000 bytes

cache hit percentage                                                  96.14 percent    --命中率

16 rows selected.

--V$PGA_TARGET_ADVICE

SQL> SELECT round(PGA_TARGET_FOR_ESTIMATE/1024/1024) target_mb,

ESTD_PGA_CACHE_HIT_PERCENTAGE cache_hit_perc,

ESTD_OVERALLOC_COUNT

FROM v$pga_target_advice;

The output of this query might look like the following:

TARGET_MB   CACHE_HIT_PERC ESTD_OVERALLOC_COUNT

---------- -------------- --------------------

63       23          367

125        24          30

250        30          3

375        39          0

500        58          0

600        59          0

700        59          0

800        60          0

900        60          0

1000    61          0

1500    67          0

2000    76          0

3000    83          0

4000    85          0

可以看出当TARGET_MB 为375M是ESTD_OVERALLOC_COUNT=0,所以可以将PGA_AGGREGATE_TARGET设置成375M。

附:oracle SGA与PGA区别:

SGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle 服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。

PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA 正相反,PGA 是只被一个进程使用的区域,PGA 在创建进程时分配,在终止进程时回收。

bfad190720137f9b02f5d70bd62c3596.png

代码下载链接: https://pan.quark.cn/s/a4b39357ea24 依据所提供的文件资料,可以归纳出以下关于“数字三角形 C++”的相关知识要点: ## 数字三角形问题概述 数字三角形问题是指在一个由数字构成的三角形中,寻找一条从顶部到底部的路径,使得该路径上数字的总达到最大值。这个问题可以通过动态规划技术进行求解。 ### 问题定义 给定一个数字三角形,其结构如下所示: ``` 3 7 4 2 4 6 8 5 9 3 ``` 目标是从顶端出发到达最底端的一行,并找到一条路径,使得该路径上数字的累计值最大。例如,在上述示例中,路径 `3 → 7 → 4 → 9` 的总为 23,这是所有可能路径中的最大数值。 ### 动态规划算法 #### 解决思路 1. **初始设定**:假定三角形的第0行为1个元素,第1行为2个元素,依此类推。 2. **递推关系式**:对于每一个位置 `(row, col)`,可以选择下一行的两个相邻元素之一进行相加,即 `tridata[row][col] += max(tridata[row+1][col], tridata[row+1][col+1])`。 3. **求解终点**:最终的最大值位于三角形的顶端位置,即 `tridata[0][0]`。 #### 算法步骤 1. **输入阶段**:读取用户输入的三角形高度 `n` 以及各节点的数值。 2. **计算环节**:从倒数第二行开始,逐行逐列更新每个节点的值。 3. **结果输出**:输出计算得出的最大路径。 ### 示例代码解析 ```cpp int GetMax(int tridata[20][20], int &Num) { // 从倒数第二行开始...
内容概要:本文系统研究了同步电机与构网型变流器在低惯量电力系统中的频率稳定性问题,重点基于IEEE9节点系统构建混合拓扑结构,开展电磁暂态仿真分析。研究涵盖了构网型变流器的多种先进控制策略建模与对比,包括下垂控制、虚拟同步机控制(VSM)、匹配控制及可调度虚拟振荡器控制(dVOC),深入探讨其对系统频率响应特性的影响。同时,研究集成了基于KPCA的故障检测方法、储能系统以经济效益最大化为目标的运行优化策略,并结合Matlab/Simulink平台实现了完整的仿真验证体系,为高比例新能源接入下的电力系统稳定运行提供了理论支持与技术路径。; 适合人群:具备电力系统分析、自动控制理论及新能源并网技术背景的科研人员与工程技术人员,特别适用于从事微电网控制、变流器建模、频率稳定与低惯量系统研究的研究生、高校教师及电力领域研发工程师。; 使用场景及目标:①用于高校与科研机构中对构网型变流器控制策略的教学演示与仿真验证;②支撑低惯量电力系统中频率稳定问题的机理分析与解决方案设计;③为实际工程中储能配置、故障快速识别与优化运行提供仿真工具链与决策依据。; 阅读建议:建议结合文中提供的Matlab/Simulink代码资源进行动手实践,重点关注不同控制策略的模型搭建细节、参数 tuning 过程及仿真结果的动态对比分析,同时关注故障检测与储能优化模块的集成实现方式,推荐通过公众号“荔枝科研社”获取完整资料包与技术支持,以全面提升仿真复现与科研创新能力。
标题SpringBoot学生成绩信息管理系统安全设计与实现AI更换标题第1章引言介绍学生成绩信息管理系统安全设计的研究背景、意义、现状及论文方法与创新点。1.1研究背景与意义阐述学生成绩信息管理系统安全设计的重要性与必要性。1.2国内外研究现状分析国内外学生成绩信息管理系统安全设计的研究进展。1.3研究方法以及创新点概述本文的研究方法及在安全设计方面的创新点。第2章相关理论总结评述学生成绩信息管理系统安全设计的相关理论。2.1信息安全基础理论阐述信息安全的基本概念、原则及重要性。2.2Web应用安全理论介绍Web应用安全漏洞、攻击手段及防御策略。2.3SpringBoot安全机制概述SpringBoot框架提供的安全机制及配置方法。第3章系统安全需求分析详细分析学生成绩信息管理系统的安全需求。3.1用户身份认证需求分析系统对用户身份认证的需求及安全要求。3.2数据传输安全需求阐述数据传输过程中的安全需求及加密技术。3.3数据存储安全需求介绍数据存储的安全需求及数据库安全策略。第4章系统安全设计详细介绍学生成绩信息管理系统的安全设计方案。4.1系统架构安全设计设计系统的整体架构,确保架构层面的安全性。4.2身份认证与授权设计设计用户身份认证授权机制,确保用户合法访问。4.3数据传输与存储安全设计设计数据传输存储的安全方案,保障数据安全性。第5章系统安全实现阐述学生成绩信息管理系统安全设计的具体实现过程。5.1开发环境与工具选择介绍系统开发所使用的环境工具。5.2安全功能模块实现详细描述各安全功能模块的实现代码逻辑。5.3系统测试与优化对系统进行安全测试,发现并修复潜在的安全漏洞。第6章研究结果呈现系统安全设计实现后的实验分析结果。6.1系统安全性能测试结果展示系统在不同安全测试场景下的性能表现。6.2安全漏洞修复情况介绍系统安全测试中发现并修复的安全漏洞情况。6.3
标题SpringBoot社区电子商务系统的设计与实现AI更换标题第1章引言介绍社区电子商务系统的发展背景、研究意义及SpringBoot技术的应用价值。1.1研究背景与意义阐述社区电子商务系统的兴起背景及其在社区服务中的重要性。1.2国内外研究现状分析国内外社区电子商务系统的研究现状及发展趋势。1.3研究方法及创新点概述本文采用的研究方法及SpringBoot技术应用的创新点。第2章相关理论总结SpringBoot框架及电子商务系统相关理论,为系统设计提供理论基础。2.1SpringBoot框架概述介绍SpringBoot框架的特点、优势及在Web开发中的应用。2.2电子商务系统理论基础阐述电子商务系统的基本概念、功能模块及关键技术。2.3社区电子商务系统特点分析社区电子商务系统的独特性,如社区化、本地化等。第3章系统需求分析对社区电子商务系统进行详细的需求分析,明确系统功能性能要求。3.1用户需求分析分析社区用户、商家及管理员等不同角色的需求。3.2功能需求分析列举系统应具备的主要功能,如商品展示、购物车、订单管理等。3.3性能需求分析提出系统在响应时间、并发处理等方面的性能要求。第4章系统设计详细介绍社区电子商务系统的设计方案,包括架构设计、数据库设计等。4.1系统架构设计给出系统的整体架构,包括前端、后端及数据库等组成部分。4.2数据库设计设计系统的数据库结构,包括表结构、字段定义及关系等。4.3模块设计详细介绍各个功能模块的设计思路及实现方法。第5章系统实现与测试阐述社区电子商务系统的实现过程,并进行系统测试以验证功能。5.1系统开发环境介绍系统开发所使用的软件、硬件环境及开发工具。5.2系统实现过程按照模块划分,详细介绍系统的实现步骤及关键代码。5.3系统测试与优化对系统进行功能测试、性能测试,并根据测试结果进行优化。第6章结论与展望总结社区电子商务系统的设计与
内容概要:本文档系统性地整理了基于Matlab/Simulink平台的水声网络(UAN)信道建模及其他多个科研领域的仿真代码资源,重点聚焦于水声通信环境中信道特性的建模与仿真,涵盖声波传播的衰减、时延、多径效应等关键因素。资源不仅包含水声信道建模,还广泛涉及智能优化算法、机器学习、路径规划、电力系统、信号处理、无人机控制、雷达追踪、图像处理等多个前沿科研方向,提供大量可用于学术复现、算法验证与性能评估的Matlab代码实例。文档强调科研过程中“借力”成熟工具与创新思维相结合的重要性,引导研究者高效开展仿真工作。; 适合人群:具备Matlab编程基础,从事通信工程、海洋工程、电子信息、自动化、电力系统及相关交叉学科的研究生、科研人员及工程技术人员,尤其适合研究水声通信、无线传感网络、智能优化算法应用等方向的学者; 使用场景及目标:① 学习并复现水声网络中的信道建模方法,深入理解水下声学传播特性及其对通信系统的影响;② 利用所提供的丰富代码资源进行学术论文复现、课题仿真验证、算法优化与性能对比;③ 借助跨领域案例拓展研究视野,提升科研效率,支撑学位论文撰写、项目申报及高水平期刊投稿; 阅读建议:建议读者结合文档提供的网盘资源,优先关注与水声通信信道建模相关的代码示例,并按照研究方向分类学习;同时可参考其他领域的仿真案例以激发创新思路,注意代码的参数配置与可移植性,结合理论模型进行仿真调试与结果分析,实现理论与实践的深度融合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值