[20170313]11G use_large_pages参数.txt

[20170313]11G use_large_pages参数.txt

--11G 增加参数use_large_pages,可以灵活使用hugepages.

1.环境:

SYS@book> @ &r/ver1
PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

SYS@book> @ &r/hide use_large_pages
NAME            DESCRIPTION                                    DEFAULT_VALUE          SESSION_VALUE          SYSTEM_VALUE
--------------- ---------------------------------------------- ---------------------- ---------------------- ----------------------
use_large_pages Use large pages if available (TRUE/FALSE/ONLY) TRUE                   TRUE                   TRUE

--//你查询参数use_large_pages,描述上说明Use large pages if available (TRUE/FALSE/ONLY),缺省就是true,如果设置false,实际上就不用.

如果参数为True,那么当系统的HugePage被使用尽,只有small pages的情况下,SGA也会继续运行。此时,Oracle实例就运行在内存使用
混合模式(Mixed Mode)下。

如果参数为是Only,从含义上,表示Oracle实例只会使用HugePage作为内存使用。如果系统在AMM模式或者HugePage用尽的时候,数据库
就不能启动或者报错。

如果参数为是false,就不使用HugePage.

--//可以参考链接:http://blog.itpub.net/267265/viewspace-2101170/

2.实际上还有一个参数设置use_large_pages=auto.
SYS@book> alter system set use_large_pages=auto scope=spfile;
System altered.

--//关闭数据库
--//修改/etc/sysctl.conf内容如下:
vm.nr_hugepages = 105

# sysctl -p
# cat /proc/meminfo | grep -i hugepage
AnonHugePages:         0 kB
HugePages_Total:     105
HugePages_Free:      105
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB

3.重启数据库:
Starting ORACLE instance (normal)
Specified value of sga_max_size is too small, bumping to 637534208
DISM started, OS id=52701
~~~~~~~~~~~~~~~~~~~~~~~~~
************************ Large Pages Information *******************
Parameter use_large_pages = AUTO
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Per process system memlock (soft) limit = 51 GB
Total Shared Global Region in Large Pages = 610 MB (100%)
Large Pages used by this instance: 305 (610 MB)
Large Pages unused system wide = 0 (0 KB)
Large Pages configured system wide = 305 (610 MB)
Large Page size = 2048 KB
Time taken to allocate Large Pages = 0.015337 sec
********************************************************************

--//注意看下划线行,出现DISM started, OS id=52701,可以修改内核参数vm.nr_hugepages,满足实例需要的页面数量.

# cat /proc/meminfo | grep -i hugepage
AnonHugePages:         0 kB
HugePages_Total:     305
HugePages_Free:       98
HugePages_Rsvd:       98
HugePages_Surp:        0
Hugepagesize:       2048 kB
--//你可以发现HugePages_Total=305从原来设置的105.

4.简单探究
--//启动数据库,oracle的进程如何实现改动内核参数呢?
--//看看进程号52701是什么?
$ ps -p 52701 -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0 52701     1  0  80   0 -  3338 pipe_w ?        00:00:00 oradism

$ ls -l $(which oradism)
-rwsr-x--- 1 root oinstall 71790 2013-08-24 10:51:02 /u01/app/oracle/product/11.2.0.4/dbhome_1/bin/oradism

--//注意oradism的owner = root. 也就是这个进程启动时具有root权限,改动了内核参数.

4.修改回来:
--//修改/etc/sysctl.conf内容如下:
vm.nr_hugepages = 305
# sysctl -p

--//重新关闭并启动数据库:
************************ Large Pages Information *******************
Parameter use_large_pages = AUTO
Per process system memlock (soft) limit = 51 GB
Total Shared Global Region in Large Pages = 610 MB (100%)
Large Pages used by this instance: 305 (610 MB)
Large Pages unused system wide = 0 (0 KB)
Large Pages configured system wide = 305 (610 MB)
Large Page size = 2048 KB
Time taken to allocate Large Pages = 0.000000 sec
********************************************************************

--//你可以发现并没有启动dism进程.
$ ps -lef | grep oradis[m]

--//也没有查询到相关信息,说明如果在hugepages设置足够的情况下,use_large_pages = AUTO不会启动oradism进程修改参数.

时间: 2024-07-30 13:30:11

[20170313]11G use_large_pages参数.txt的相关文章

[20170516]11G use_large_pages参数2.txt

[20170516]11G use_large_pages参数2.txt //前面我提到如果设置use_large_pages=auto.设置页面大小不足时,oracle会oradism经常修改内核参数vm.nr_hugepages. //忘记测试是否在退出后可以收回.链接如下: http://blog.itpub.net/267265/viewspace-2135210/ --//不知道什么回事,以前写的,忘记发了,补上. 1.环境 SYS@book> @ &r/ver1 PORT_STR

[20140529]11g下参数audit_trail的修改.txt

[20140529]11g下参数audit_trail的修改.txt --前一天看了11g下审计的内容,因为要修改参数audit_trail,又遇到一些奇怪的问题,自己做一个记录. --主要问题是可能今年要上11G,11G下缺省audit_trail=DB,打开了许多审计,其中比如用户登录审计可能是不需要的,需要关闭. --我遇到问题做一个简单记录: SYS@test> @ver BANNER ---------------------------------------------------

[20170628]11g修改用户名.txt

[20170628]11g修改用户名.txt --//昨天看了链接,提到修改用户名: http://www.oratea.com/2017/06/26/oracle-11g%e4%bf%ae%e6%94%b9%e7%94%a8%e6%88%b7%e5%90%8d/ --//自己也测试看看. 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING         VERSION    BANNER ------------------- ---------- -----

[20171206]SQLTUNE_CATEGORY参数.txt

[20171206]SQLTUNE_CATEGORY参数.txt --//今天提示别人使用sql profile优化语句,使用DBMS_SQLTUNE.import_sql_profile的引入替换功能.一般我的测试 --//category参数是'',也就是NULL.如果指定如何优化确定优化有效呢? --//链接:http://www.itpub.net/thread-2094823-1-1.html --//实际上就是修改参数SQLTUNE_CATEGORY. --//https://doc

[20150126]datadump的非文档参数.txt

[20150126]datadump的非文档参数.txt --总结一下expdp/impdp的非文档参数: 1. METRICS METRICS=Y ,记录执行详细的执行时间.例子: $ expdp scott/btbtms DIRECTORY=DATA_PUMP_DIR  DUMPFILE=emp012601.dmp LOGFILE=emp012601.log tables=emp metrics=y Export: Release 11.2.0.3.0 - Production on Mon

[20151221]11g设置db_flash_cache_file.txt

[20151221]11g设置db_flash_cache_file.txt --11GR2下可以设置db_flash_cache_file与db_flash_cache_size参数,提高数据库的性能. --我曾经通过例子,快速建立测试数据库,在里面使用ram盘,今天测试使用该参数看看. http://blog.itpub.net/267265/viewspace-1845062/ 1.环境: SYS@book> @ &r/ver1 PORT_STRING                 

[20161123]failover与会话参数.txt

[20161123]failover与会话参数.txt --前几天itpub上有人问的问题,链接http://www.itpub.net/thread-2071933-1-1.html,开始我以为是会话没有退出. --实际上对方已经重启过数据库,不过后来我估计对方打开登录审计,从结果上猜测是正确的,不过我的问题是我想了解 --会话在支持failover时,重新连接上时会话参数是否还是原来的,还有审计是否还有效(在已经关闭相关审计的情况下). --测试是最好的证明,还是通过例子来说明问题. 1.环

[20151126]IMPDP TRANSFORM参数.TXT

[20151126]IMPDP TRANSFORM参数.TXT --最近要建立一个测试库,原来生产系统的一些表在定义时 STORAGE    (             INITIAL          8G             ....            ) NOPARALLEL; --实际我不需要建立这个大的INITIAL表,而且可能许多还是空的.有些我可能仅仅导入少量数据,这样要浪费大量磁盘空间,并且测试 --机器磁盘空间也不足.不能这样导入. --另外一个问题有一些表我设置PCT

[20130105]expdp的include和exclude参数.txt

[20130105]expdp的include和exclude参数.txt http://www.itpub.net/thread-1754104-1-1.html 如果include,exclude参数很长,可以通过建立一张表来实现.自己做一些测试(注直接在命令行输入语法加入斜线,很烦!): 1.使用include参数:$ cat par.txtDIRECTORY=DATA_PUMP_DIRDUMPFILE=scott.dmpINCLUDE=TABLE:"IN (Select table_na