ITPub博客

首页 > 数据库 > Oracle > [20260426]验证21c下pre_page_sga=false时是否启动SA后台进程.txt

[20260426]验证21c下pre_page_sga=false时是否启动SA后台进程.txt

原创 Oracle 作者:lfree 时间:2026-04-28 20:28:37 0 删除 编辑

[20260426]验证21c下pre_page_sga=false时是否启动SA后台进程.txt

--//验证pre_page_sga=false时是否启动SA后台进程.

1.环境:
SYS@book> @ ver2
==============================
PORT_STRING                   : x86_64/Linux 2.4.xx
VERSION                       : 21.0.0.0.0
BANNER                        : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
BANNER_FULL                   : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0
BANNER_LEGACY                 : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
CON_ID                        : 0
PL/SQL procedure successfully completed.

SYS@book> @ hidez ^use_large_pages
SYS@book> @ pr
==============================
NUM                           : 180
N_HEX                         :    B4
CON_ID                        : 0
NAME                          : use_large_pages
DESCRIPTION                   : Use large pages if available (TRUE/FALSE/ONLY)
DEFAULT_VALUE                 : FALSE
SESSION_VALUE                 : ONLY
SYSTEM_VALUE                  : ONLY
ISSES_MODIFIABLE              : FALSE
ISSYS_MODIFIABLE              : FALSE
PL/SQL procedure successfully completed.

2.测试:
--//修改pre_page_sga=FALSE。
SYS@book> alter system set pre_page_sga=FALSE scope=spfile ;
System altered.

SYS@book> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

$ watch -n 0.1 "pgrep -l ora_sa00_book|ts.awk | tee -a p8.txt"
Every 0.1s: pgrep -l ora_sa00_book|ts.awk | tee -a p8.txt     

--//重新启动数据库:
$ cat p8.txt
[2026-04-26 16:34:28] 4461 ora_sa00_book

--//可以发现即使pre_page_sga=FALSE也会启动后台进程SA。
--//查看alert日志,没有启动SA00的记录。
$ grep -i SA00 alert_book.log

$ grep -i hugepages /proc/meminfo
AnonHugePages:     69632 kB
HugePages_Total:     530
HugePages_Free:      206
HugePages_Rsvd:      206
HugePages_Surp:        0
Hugepagesize:       2048 kB
--//当前仅仅使用530-206 = 324
--//看来kimi,许多AI实际上在胡说霸道,一点不靠谱。

3.收尾还原:

SYS@book> alter system reset pre_page_sga;
System altered.

SYS@book> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SYS@book> startup
ORACLE instance started.
Total System Global Area 1107294056 bytes
Fixed Size                  9684840 bytes
Variable Size             654311424 bytes
Database Buffers          436207616 bytes
Redo Buffers                7090176 bytes
Database mounted.
Database opened.

SYS@book> show parameter pre_page_sga
PARAMETER_NAME TYPE    VALUE
-------------- ------- -------
pre_page_sga   boolean TRUE
--//缺省pre_page_sga=true

$ grep -i hugepages /proc/meminfo
AnonHugePages:    143360 kB
HugePages_Total:     530
HugePages_Free:        7
HugePages_Rsvd:        7
HugePages_Surp:        0
Hugepagesize:       2048 kB
--//有点奇怪就是即使设置pre_page_sga=true,HugePages_Rsvd也不是等于0,总是保留1小部分,没有分配。

--//在11g下pre_page_sga=true的情况下,sga内存是全部分配。
SYS@book> alter system set pre_page_sga=true scope=spfile;
System altered.

SYS@book> shutdown immediate ;
Database closed.
Database dismounted.
ORACLE instance shut down.

SYS@book> startup
ORACLE instance started.
Total System Global Area  801701888 bytes
Fixed Size                  2257520 bytes
Variable Size             285216144 bytes
Database Buffers          507510784 bytes
Redo Buffers                6717440 bytes
Database mounted.
Database opened.

$ grep -i hugepages /proc/meminfo
AnonHugePages:     16384 kB
HugePages_Total:     385
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
--//可以发现全部分配,与21c的情况完全不同,21c总存在小量内存没有分配。
--//为什么不是很清楚。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-3116916/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    4006
  • 访问量
    7969349