修改SGA,PGA

论坛 期权论坛 脚本     
匿名技术用户   2021-1-4 04:50   141   0

一:查看当前SGA,PGA设置

show parameter sga;

show parameter pga;


oracle推荐OLTP(on-line Transaction Processing)系统oracle占系统总内存的80%,然后再分配80%给SGA,20%给PGA。也就是
SGA=system_total_memory*80%*80%
PGA=system_total_memory*80%*20%

二:调整SGA,PGA

(1).确认数据库参数为spfile

SELECT NAME, VALUE, display_value FROM v$parameter WHERE NAME = 'spfile';

查询结果如下:


(2).调整SGA,PGA:

alter system set sga_target=10G scope=spfile;

alter system set pga_aggregate_target=2G scope=spfile;

(3).重启数据库使修改生效:

关闭数据库:shutdown immediate

启动数据库:startup

注意:如果修改的SGA,PGA过大,会导致内存不足,数据库启动失败,如下图所示:

此时需要先在Oracle的admin目录下找到pfile文件

find . -name init.ora*

如下图所示:


然后根据此pfile文件,重新启动数据库:

startup pfile=''

如下图所示:

此时数据库启动开后不能直接修改PGA,SGA,需要先创建spfile文件:

create spfile from pfile='启动的那个文件目录/init.ora.*'

然后重启数据库,此时重启就不用pfile文件重启了,正常重启就可以。

此时的SGA,PGA会变回调整之前的大小。

然后,重新修改SGA,PGA即可。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP