{"id":9257,"date":"2022-08-10T13:29:08","date_gmt":"2022-08-10T12:29:08","guid":{"rendered":"https:\/\/blog.capdata.fr\/?p=9257"},"modified":"2024-02-27T10:37:11","modified_gmt":"2024-02-27T09:37:11","slug":"oracle-la-gestion-des-hugepages-depuis-la-version-19c","status":"publish","type":"post","link":"https:\/\/blog.capdata.fr\/index.php\/oracle-la-gestion-des-hugepages-depuis-la-version-19c\/","title":{"rendered":"Oracle : la gestion des &#8220;hugepages&#8221; depuis la version 19c"},"content":{"rendered":"<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F9257&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F9257&#038;title=Oracle%20%3A%20la%20gestion%20des%20%E2%80%9Chugepages%E2%80%9D%20depuis%20la%20version%2019c\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=Oracle%20%3A%20la%20gestion%20des%20%E2%80%9Chugepages%E2%80%9D%20depuis%20la%20version%2019c&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F9257\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-9258\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/07\/oracle-300x127.jpg\" alt=\"\" width=\"300\" height=\"127\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/07\/oracle-300x127.jpg 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/07\/oracle.jpg 485w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Hello,<\/p>\n<p>si comme bon nombre de DBAs Oracle, vous avez install\u00e9 et configur\u00e9 une instance de bases de donn\u00e9es, que ce soit sur un syst\u00e8me Linux classique ou une machine Exadata, vous avez surement \u00e9t\u00e9 amen\u00e9 \u00e0 mettre en place ce que l&#8217;on appelle des &#8220;HugePages&#8221;.<\/p>\n<h5>Qu&#8217;est-ce donc ?<\/h5>\n<p>Les HugePages sont des pages de 2Mo (par d\u00e9faut), prises en charge par le kernel linux, que l&#8217;administrateur syst\u00e8me et\/ou bases de donn\u00e9es peut utiliser pour les besoins d&#8217;une application. Il est tout \u00e0 fait possible \u00e9galement, pour des machines Exadata par exemple, de d\u00e9finir des tailles de pages au del\u00e0 de 2Mo.\u00a0 Si vous manipuler une base de forte volum\u00e9trie avec des fonctionnalit\u00e9s HCC (Hybrid Columnar Compression), choisissez une taille de page de 1Go .<\/p>\n<p>Par d\u00e9faut, une page sur un syst\u00e8me Linux a une taille de 4Ko. Or, lorsqu&#8217;un SGBDR traite un volume de donn\u00e9es cons\u00e9quent, il est toujours b\u00e9n\u00e9fique de limiter les aller-retour entre les diff\u00e9rentes pages de la m\u00e9moire virtuelle et la m\u00e9moire physique support\u00e9e par le serveur via la gestion de la table de pages (la TLB) et la MMU (Memory Manager Unit).<\/p>\n<p>L&#8217;id\u00e9e est de positionner des pages plus grandes afin de stocker une quantit\u00e9 de donn\u00e9es plus importante, et surtout de les &#8220;fixer&#8221; en m\u00e9moire afin d&#8217;\u00e9viter tout ph\u00e9nom\u00e8ne de swapping. Ceci r\u00e9duit \u00e9galement\u00a0 la charge de TLB en r\u00e9duisant la fragmentation m\u00e9moire allou\u00e9e pour les processus.<\/p>\n<p>Rappelons que dans le meilleur des mondes possibles, un serveur de bases de donn\u00e9es ne doit pas ou peu swapper ! Et ce, que ce soit sous un syst\u00e8me linux ou bien Windows.<\/p>\n<p>Attention, le m\u00e9canisme de prise en charge des &#8220;HugePages&#8221;, y compris en 19c est toujours incompatible avec la gestion AMM Oracle (Automatic Memory Management). D\u00e9finissez une SGA_TARGET et une PGA_AGGREGATE_TARGET et oubliez le MEMORY_TARGET.<\/p>\n<p>&nbsp;<\/p>\n<h1>La gestion des HugePages avant Oracle 19c<\/h1>\n<p>&nbsp;<\/p>\n<p>Avant la version 19c, et ce depuis la version 11.2.0.3, Oracle disposait d\u00e9j\u00e0 d&#8217;un param\u00e8tre appel\u00e9 <strong>USE_LARGE_PAGES<\/strong> pour la prise en charge des HugePages au sein d&#8217;une instance Oracle.<\/p>\n<p>Ce param\u00e8tre comportait 3 valeurs possibles :<\/p>\n<ul>\n<li><span style=\"color: #0000ff;\"><strong>TRUE<\/strong> <\/span>: Oracle supporte la prise en charge des HugePages si celles ci sont d\u00e9finies. Attention, si le nombre de HugePages est trop faible, une partie de la SGA sera int\u00e9gr\u00e9e dans des pages conventionnelles (taille de 4Ko). Dans tous les cas, l&#8217;instance pourra d\u00e9marrer.<\/li>\n<li><span style=\"color: #0000ff;\"><strong>FALSE<\/strong> <\/span>: Oracle n&#8217;utilisera jamais de HugePages sur ce serveur. Uniquement des pages de 4Ko.<\/li>\n<li><span style=\"color: #0000ff;\"><strong>ONLY<\/strong> <\/span>: Oracle n&#8217;utilisera que des HugePages pour la SGA de cette instance. Attention, si les param\u00e8tres syst\u00e8mes sont mal d\u00e9finis, ou bien si la valeur SGA_TARGET est trop haute vis \u00e0 vis des param\u00e8tres kernel d\u00e9clar\u00e9s, l&#8217;instance peut ne pas d\u00e9marrer.<br \/>\nMettez en place les pr\u00e9requis syst\u00e8me n\u00e9cessaires pour les versions ant\u00e9rieures \u00e0 Oracle 19c.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2>la gestion des HugePages depuis Oracle 19c<\/h2>\n<p>&nbsp;<\/p>\n<p>Avec l&#8217;arriv\u00e9e de la version 19c, Oracle a valid\u00e9 2 nouvelles valeurs pour son param\u00e8tre <strong>USE_LARGE_PAGES<\/strong>.<\/p>\n<ul>\n<li><span style=\"color: #ff6600;\"><strong>AUTO<\/strong> <\/span>: Oracle va calculer son besoin en terme de HugePages lors du d\u00e9marrage de l&#8217;instance, le processus en informe le kernel, qui lui accorde une certaine quantit\u00e9 de HugePages en fonction de ses ressources RAM disponibles.<br \/>\nDans ce cas la, si le kernel dispose d&#8217;assez de m\u00e9moire (hard limit) pour configurer des HugePages, Oracle d\u00e9marre avec 100% de sa SGA_TARGET avec des pages de 2Mo (soft limit). Oracle utilisera des pages conventionnelles de 4Ko si la place n&#8217;est pas suffisante.<\/li>\n<li><strong><span style=\"color: #ff6600;\">AUTO_ONLY<\/span> <\/strong>: Oracle calcule son besoin en terme de HugePages au moment du d\u00e9marrage. Si le kernel dispose d&#8217;assez d&#8217;espace m\u00e9moire pour cr\u00e9er ces pages de 2Mo, l&#8217;instance d\u00e9marre. Si le nombre de HugePages est insuffisant, ou bien si la limite d\u00e9fini dans les &#8220;soft\/hard limit&#8221; est mal configur\u00e9e, l&#8217;instance ne d\u00e9marre pas.<br \/>\nA noter que sur Exadata, c&#8217;est la valeur qui est par d\u00e9faut sur chaque instance.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2>Fonctionnement<\/h2>\n<p>&nbsp;<\/p>\n<p>Voici un test-case permettant de voir comment se comporte le syst\u00e8me linux, et notre base de donn\u00e9es vis \u00e0 vis de la configuration de ces param\u00e8tres.<\/p>\n<p>Pour notre exemple, nous disposons d&#8217;un syst\u00e8me Linux Red Hat 8.3 et d&#8217;une instance Oracle version 19.10.<\/p>\n<pre>[root@ip-172-44-2-107 ~]# cat \/etc\/redhat-release\r\nRed Hat Enterprise Linux release 8.3 (Ootpa)<\/pre>\n<p>Celui ci dispose de 2 vCPU et 4 Go de RAM<\/p>\n<pre>[root@ip-172-44-2-107 ~]# cat \/proc\/meminfo | grep -i MemTotal\r\nMemTotal: 3823056 kB\r\n\r\n[root@ip-172-44-2-107 ~]# cat \/proc\/cpuinfo | grep -i core\r\ncore id : 0\r\ncpu cores : 2\r\ncore id : 1\r\ncpu cores : 2<\/pre>\n<p>&nbsp;<\/p>\n<h3>Pr\u00e9requis<\/h3>\n<p>Afin de pouvoir b\u00e9n\u00e9ficier de la prise en charge des HugesPages pour ce serveur, il faudra d\u00e9finir des &#8220;limits&#8221; pour le compte Oracle de notre serveur.<br \/>\nNous pourrons partir du principe que, le compte Oracle pourra, au plus, bloquer en m\u00e9moire jusqu&#8217;\u00e0 1,5Go.<br \/>\nA d\u00e9finir par le compte &#8220;<strong>root<\/strong>&#8221; dans le fichiers &#8220;limits.conf&#8221;.<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\"> # vi \/etc\/security\/limits.conf\r\n....\r\ndomain          type            item        value\r\noracle          soft         memlock      1536000\r\noracle          hard         memlock      1536000\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Nous nous assurons que ce serveur ne comporte aucune configuration de HugePages \u00e9ventuelle.<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\"> \r\n[root]# sysctl -a | grep -i hugepages\r\nvm.nr_hugepages = 0\r\nvm.nr_hugepages_mempolicy = 0\r\nvm.nr_overcommit_hugepages = 0\r\n\r\n[root]# cat \/proc\/meminfo | grep -i Huge\r\nAnonHugePages: 0 kB\r\nShmemHugePages: 0 kB\r\nHugePages_Total: 0\r\nHugePages_Free: 0\r\nHugePages_Rsvd: 0\r\nHugePages_Surp: 0\r\nHugepagesize: 2048 kB\r\nHugetlb: 0 kB\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Les valeurs &#8220;<strong>HugePages_Total&#8221;<\/strong> et &#8220;<strong>vm.nr_hugepages<\/strong>&#8221; sont bien nulles.<\/p>\n<p>Mis \u00e0 part la &#8220;limit&#8221; d\u00e9finie sur la m\u00e9moire \u00e0 figer pour le compte Oracle, nous n&#8217;avons pas de trace de configuration HugePages sur ce serveur.<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">[oracle]$ ulimit -Sl\r\n1536000<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2>Validation du param\u00e8tre USE_LARGE_PAGES<\/h2>\n<h3>Cas du mode AUTO<\/h3>\n<p>Voici les valeurs que nous avons d\u00e9fini sur l&#8217;init.ora de notre instance. Cette derni\u00e8re se nomme CAPDATADB.<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">[oracle@ dbs]$ cat initCAPDATADB.ora\r\n...\r\n*.sga_target=1200M\r\n*.use_large_pages='AUTO'<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Nous partons sur une instance comportant 1,2Go de SGA. Avec le mode AUTO, Oracle laisse la possibilit\u00e9 de monter des HugesPages.<\/p>\n<p>On d\u00e9marre l&#8217;instance sans monter la base.<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">[oracle@ dbs]$ sqlplus \/ as sysdba\r\n\r\n startup nomount\r\nORACLE instance started.\r\n\r\nTotal System Global Area 1258290744 bytes\r\nFixed Size 8896056 bytes\r\nVariable Size 436207616 bytes\r\nDatabase Buffers 805306368 bytes\r\nRedo Buffers 7880704 bytes<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Dans l&#8217;alert.log de la base, nous voyons que l&#8217;instance Oracle a r\u00e9ussi \u00e0 provisionner des pages de 2Mo au moment du d\u00e9marrage.<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n****************************************************\r\nSys-V shared memory will be used for creating SGA\r\n****************************************************\r\n2022-07-27T15:01:09.749738+00:00\r\nDISM started, OS id=1692\r\n2022-07-27T15:01:09.784169+00:00\r\n**********************************************************************\r\n2022-07-27T15:01:09.784260+00:00\r\nDump of system resources acquired for SHARED GLOBAL AREA (SGA)\r\n\r\n2022-07-27T15:01:09.784382+00:00\r\nPer process system memlock (soft) limit = 1500M\r\n2022-07-27T15:01:09.784459+00:00\r\nExpected per process system memlock (soft) limit to lock\r\ninstance MAX SHARED GLOBAL AREA (SGA) into memory: 1202M\r\n2022-07-27T15:01:09.784626+00:00\r\nAvailable system pagesizes:\r\n4K, 2048K\r\n2022-07-27T15:01:09.784807+00:00\r\nSupported system pagesize(s):\r\n2022-07-27T15:01:09.784893+00:00\r\nPAGESIZE AVAILABLE_PAGES EXPECTED_PAGES ALLOCATED_PAGES ERROR(s)\r\n2022-07-27T15:01:09.785003+00:00\r\n4K Configured          4              4                 NONE\r\n2022-07-27T15:01:09.785147+00:00\r\n2048K                601            601             601 NONE\r\n2022-07-27T15:01:09.785230+00:00\r\n**********************************************************************\r\n<\/pre>\n<p>Oracle nous indique qu&#8217;il a r\u00e9ussi \u00e0 monter 601 pages de 2Mo afin de les utiliser pour la SGA de notre instance.<\/p>\n<p>S&#8217;il l&#8217;on regarde les param\u00e8tres kernel, nous voyons bien la pr\u00e9sence de ces pages (HugePages_Total \u00e0 601)<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">$ cat \/proc\/meminfo | grep -i Huge\r\nAnonHugePages: 0 kB\r\nShmemHugePages: 0 kB\r\nHugePages_Total: 601\r\nHugePages_Free: 11\r\nHugePages_Rsvd: 11\r\nHugePages_Surp: 0\r\nHugepagesize: 2048 kB\r\nHugetlb: 1230848 kB<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Une modification automatique du param\u00e8trage &#8220;sysctl&#8221; nous assure la prise en charge des HugesPages.<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">[root~]# sysctl -a | grep -i Hugepages\r\nvm.nr_hugepages = 601\r\nvm.nr_hugepages_mempolicy = 601\r\nvm.nr_overcommit_hugepages = 0<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>S&#8217;il l&#8217;on regarde du cot\u00e9 des ipc , l&#8217;outil &#8220;<strong>sysresv<\/strong>&#8221; fourni par Oracle nous donne toutes les informations n\u00e9cessaires sur la m\u00e9moire partag\u00e9e de notre instance et les limites de notre compte Oracle.<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">[oracle ~]$ $ORACLE_HOME\/bin\/sysresv\r\n\r\nIPC Resources for ORACLE_SID &quot;CAPDATADB&quot; :\r\nMaximum shared memory segment size (shmmax): 18446744073692774399 bytes\r\nTotal system shared memory (shmall): 18446744004990070784 bytes\r\nTotal system shared memory count (shmmni): 4096\r\n*********************** Dumping ipcs output ********************\r\n\r\n------ Message Queues --------\r\nkey msqid owner perms used-bytes messages\r\n\r\n------ Shared Memory Segments --------\r\nkey shmid owner perms bytes nattch status\r\n0x00000000 0 oracle 600 10485760 32\r\n0x00000000 1 oracle 600 1241513984 32\r\n0x00000000 2 oracle 600 8388608 32\r\n0x679d3c3c 3 oracle 600 16384 32\r\n\r\n------ Semaphore Arrays --------\r\nkey semid owner perms nsems\r\n0x3b5f1c70 3 oracle 600 154\r\n\r\n*********************** End of ipcs command dump **************\r\n\r\n\r\n***************** Dumping Resource Limits(s\/h) *****************\r\ncore file size UNLIMITED\/UNLIMITED\r\ndata seg size UNLIMITED\/UNLIMITED\r\nscheduling priority 0 KB\/0 KB\r\nfile size UNLIMITED\/UNLIMITED\r\npending signals 14 KB\/14 KB\r\nmax locked memory 1500 MB\/1500 MB\r\nmax memory size UNLIMITED\/UNLIMITED\r\nopen files 256 KB\/256 KB\r\nPOSIX message queues 800 KB\/800 KB\r\nreal-time priority 0 KB\/0 KB\r\nstack size 32 MB\/UNLIMITED\r\ncpu time UNLIMITED\/UNLIMITED\r\nmax user processes 14 KB\/14 KB\r\nvirtual memory UNLIMITED\/UNLIMITED\r\nfile locks UNLIMITED\/UNLIMITED\r\n\r\n***************** End of Resource Limits Dump ******************\r\n<\/pre>\n<p>On retrouve pour le &#8220;shmid&#8221; 1\u00a0 les 1,2Go provisionn\u00e9s pour la SGA. Le &#8220;max locked memory&#8221; \u00e0 1,5Go pour le compte Oracle.<\/p>\n<p>&nbsp;<\/p>\n<p>A noter \u00e9galement que lorsque l&#8217;on arr\u00eate l&#8217;instance, les HugesPages restent actifs.<br \/>\nAttention donc si vous avez plusieurs instances sur votre serveur et avec un mode AUTO sur chacune d&#8217;elle. La premi\u00e8re instance qui d\u00e9marre prend l&#8217;espace n\u00e9cessaire dans les HugesPages, les suivantes utiliseront ce qu&#8217;il reste jusqu&#8217;aux limites d\u00e9finies dans &#8220;ulimit -l&#8221;. Il se peut donc que la(les) derni\u00e8re(s) instance(s) d\u00e9marre(nt) avec des pages de 4Ko potentiellement.<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">[oracle~]$ sqlplus \/ as sysdba\r\n shutdown immediate\r\nORA-01507: database not mounted\r\n\r\nORACLE instance shut down.<\/pre>\n<p>Mais les HugesPages sont toujours pr\u00e9sents. Les 601 pages, toujours pr\u00e9sentes, mais vues comme libres, dans la configuration kernel.<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\"> [root@ ~]# cat \/proc\/meminfo | grep -i Huge\r\nAnonHugePages: 0 kB\r\nShmemHugePages: 0 kB\r\nHugePages_Total: 601\r\nHugePages_Free: 601\r\nHugePages_Rsvd: 0\r\nHugePages_Surp: 0\r\nHugepagesize: 2048 kB\r\nHugetlb: 1230848 kB<\/pre>\n<h3><\/h3>\n<h3>Cas du mode AUTO_ONLY<\/h3>\n<p>avec le mode AUTO_ONLY, pas de souci pour ce server, dans la mesure ou nous avons deja 601 HugePages provisionn\u00e9es et libres.<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">[oracle@ dbs]$ cat initCAPDATADB.ora \r\n... \r\n*.sga_target=1200M \r\n*.use_large_pages='AUTO_ONLY'<\/pre>\n<p>&nbsp;<\/p>\n<p>Au d\u00e9marrage<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: sql; title: ; notranslate\" title=\"\">\r\nstartup nomount\r\nORACLE instance started.\r\n\r\nTotal System Global Area 1258290744 bytes\r\nFixed Size 8896056 bytes\r\nVariable Size 436207616 bytes\r\nDatabase Buffers 805306368 bytes\r\nRedo Buffers 7880704 bytes<\/pre>\n<p>Nous pouvons m\u00eame voir qu&#8217;Oracle s&#8217;attribue 100% de la SGA dans les pages de 2Mo.<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">2022-07-27T15:28:14.054639+00:00\r\nAvailable system pagesizes:\r\n4K, 2048K\r\n2022-07-27T15:28:14.054776+00:00\r\nSupported system pagesize(s):\r\n2022-07-27T15:28:14.054841+00:00\r\nPAGESIZE AVAILABLE_PAGES EXPECTED_PAGES ALLOCATED_PAGES ERROR(s)\r\n2022-07-27T15:28:14.054970+00:00\r\n2048K                602            602             602 NONE\r\n2022-07-27T15:28:14.055045+00:00\r\nReason for not supporting certain system pagesizes:\r\n2022-07-27T15:28:14.055111+00:00\r\n4K - Large pagesizes only<\/pre>\n<p>602 pages prises par Oracle et que le kernel enregistrera apr\u00e8s d\u00e9marrage<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">[oracle@ dbs]$ cat \/proc\/meminfo | grep -i Huge\r\nAnonHugePages: 0 kB\r\nShmemHugePages: 0 kB\r\nHugePages_Total: 602\r\nHugePages_Free: 11\r\nHugePages_Rsvd: 11\r\nHugePages_Surp: 0\r\nHugepagesize: 2048 kB\r\nHugetlb: 1232896 kB<\/pre>\n<p>Au niveau des ipc rien n&#8217;a chang\u00e9 dans l&#8217;attribution de la m\u00e9moire partag\u00e9e. Nous avons toujours le d\u00e9coupage SGA de 1,2Go pris sur le segment num\u00e9ro 5, et le reste repr\u00e9sentant les &#8220;fixed size&#8221;, &#8220;redo buffers&#8221;.<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">[oracle@ dbs]$ ipcs -m\r\n\r\n------ Shared Memory Segments --------\r\nkey shmid owner perms bytes nattch status\r\n0x00000000 4 oracle 600 10485760 32\r\n0x00000000 5 oracle 600 1241513984 32\r\n0x00000000 6 oracle 600 8388608 32\r\n0x679d3c3c 7 oracle 600 2097152 32<\/pre>\n<p>&nbsp;<\/p>\n<h2>Au dela des limites !<\/h2>\n<p>Mais que se passe-t-il si l&#8217;on choisit une SGA de taille plus importante que la &#8220;soft&#8221; limite d\u00e9finie pour le compte Oracle. Rappelons que nous avions cap\u00e9 \u00e0 1,5Go les limites en terme de &#8220;memlock&#8221; pour notre user Oracle.<\/p>\n<h3>Cas du mode AUTO<\/h3>\n<p>Supposons que nous choisissons les valeurs suivantes dans l&#8217;init.ora de notre instance. 1,8Go pour notre SGA.<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">[oracle@ dbs]$ cat initCAPDATADB.ora\r\n...\r\n*.sga_target=1800M\r\n*.use_large_pages='AUTO'<\/pre>\n<p>Au d\u00e9marrage de l&#8217;instance<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nstartup nomount\r\nORACLE instance started.\r\n\r\nTotal System Global Area 1895822680 bytes\r\nFixed Size 8897880 bytes\r\nVariable Size 436207616 bytes\r\nDatabase Buffers 1442840576 bytes\r\nRedo Buffers 7876608 bytes<\/pre>\n<p>&nbsp;<\/p>\n<p>L&#8217;instance d\u00e9marre, mais que dit l&#8217;alert.log :<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">2022-07-27T15:38:35.723099+00:00\r\nAvailable system pagesizes:\r\n4K, 2048K\r\n2022-07-27T15:38:35.723243+00:00\r\nSupported system pagesize(s):\r\n2022-07-27T15:38:35.723318+00:00\r\nPAGESIZE AVAILABLE_PAGES EXPECTED_PAGES ALLOCATED_PAGES ERROR(s)\r\n2022-07-27T15:38:35.723395+00:00\r\n4K            Configured              5           79752 NONE\r\n2022-07-27T15:38:35.723516+00:00\r\n2048K                901            905             749 NONE\r\n2022-07-27T15:38:35.723594+00:00\r\nRECOMMENDATION:\r\n2022-07-27T15:38:35.723676+00:00\r\n1. For optimal performance, configure system with expected number\r\nof pages for every supported system pagesize prior to the next\r\ninstance restart operation.\r\n2022-07-27T15:38:35.727289+00:00\r\n2. Increase per process memlock (soft) limit to at least 1810MB\r\nto lock 100% of SHARED GLOBAL AREA (SGA) pages into physical memory\r\n2022-07-27T15:38:35.727468+00:00\r\n**********************************************************************\r\n<\/pre>\n<p>Notre instance r\u00e9clame 1,8Go de SGA. Le kernel n&#8217;a pu lui fournir que 749 pages de 2Mo, soit 1498Mo, alors qu&#8217;Oracle en r\u00e9clame 905.<\/p>\n<p>le reste de la m\u00e9moire SGA va donc se positionner dans des pages conventionnelles de 4Ko, soit 79752 pages, donc 311Mo.<\/p>\n<p>S&#8217;il l&#8217;on regarde les segments de m\u00e9moire partag\u00e9e, nous voyons des espaces fragment\u00e9es , avec au plus, un espace contigu de 900Mo sur le shmid 9. Nous voyons \u00e9galement le shmid 14 repr\u00e9sentant les 311 Mo en pages de 4Ko.<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">[oracle@ dbs]$ ipcs -m\r\n\r\n------ Shared Memory Segments --------\r\nkey shmid owner perms bytes nattch status\r\n0x00000000 8 oracle 600 10485760 31\r\n0x00000000 9 oracle 600 939524096 31\r\n0x00000000 10 oracle 600 469762048 31\r\n0x00000000 11 oracle 600 117440512 31\r\n0x00000000 12 oracle 600 16777216 31\r\n0x00000000 13 oracle 600 16777216 31\r\n0x00000000 14 oracle 600 318767104 31\r\n0x00000000 15 oracle 600 7876608 31\r\n0x679d3c3c 16 oracle 600 20480 31<\/pre>\n<p>la situation n&#8217;est pas la plus optimale, surtout dans un syst\u00e8me ou l&#8217;on charge en m\u00e9moire de grandes volum\u00e9tries de donn\u00e9es. Il est fort possible que cette instance fasse plus de lectures\/\u00e9critures des IO dans la mesure ou nos segments de m\u00e9moire sont fragment\u00e9s.<\/p>\n<p>&nbsp;<\/p>\n<h3>Cas du mode AUTO_ONLY<\/h3>\n<p>mais alors, qu&#8217;en est-il du mode AUTO_ONLY si je d\u00e9passe la valeur &#8220;soft limit&#8221; des 1,5Go ?<\/p>\n<p>Nous avons auparavant d\u00e9j\u00e0 allou\u00e9 901 pages de 2Mo au niveau du kernel. Ces pages sont pr\u00e9sentes, m\u00eame avec notre instance arr\u00eat\u00e9e.<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">[oracle@ dbs]$ ipcs -m -u\r\n\r\n------ Shared Memory Status --------\r\nsegments allocated 0\r\npages allocated 0\r\npages resident 0\r\npages swapped 0\r\nSwap performance: 0 attempts 0 successes<\/pre>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">[oracle@ dbs]$ cat \/proc\/meminfo | grep -i Huge\r\nAnonHugePages: 0 kB\r\nShmemHugePages: 0 kB\r\nHugePages_Total: 901\r\nHugePages_Free: 901\r\nHugePages_Rsvd: 0\r\nHugePages_Surp: 0\r\nHugepagesize: 2048 kB\r\nHugetlb: 1845248 kB<\/pre>\n<p>Mais au d\u00e9marrage de notre instance avec 1,8Go de SGA configur\u00e9e<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">[oracle@ dbs]$ cat initCAPDATADB.ora\r\n...\r\n*.sga_target=1800M\r\n*.use_large_pages='AUTO_ONLY'<\/pre>\n<p>&nbsp;<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">startup nomount\r\nORA-27125: unable to create shared memory segment\r\nLinux-x86_64 Error: 1: Operation not permitted\r\nAdditional information: 4641\r\nAdditional information: 16777216<\/pre>\n<p>&nbsp;<\/p>\n<p>et l&#8217;alert.log est claire<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">2022-07-27T15:54:04.922034+00:00\r\nPAGESIZE AVAILABLE_PAGES EXPECTED_PAGES ALLOCATED_PAGES ERROR(s)\r\n2022-07-27T15:54:04.922154+00:00\r\n2048K                901            906             749 ORA-27125\r\n2022-07-27T15:54:04.922230+00:00\r\nReason for not supporting certain system pagesizes:\r\n2022-07-27T15:54:04.922305+00:00\r\n4K - Large pagesizes only\r\n2022-07-27T15:54:04.922378+00:00\r\nRECOMMENDATION:\r\n2022-07-27T15:54:04.922448+00:00\r\n1. Configure system with expected number of pages for every\r\nsupported system pagesize prior to the next instance restart operation.\r\n2022-07-27T15:54:04.925893+00:00\r\n2. Increase per process memlock (soft) limit to at least 1812MB\r\nto lock 100% of SHARED GLOBAL AREA (SGA) pages into physical memory\r\n2022-07-27T15:54:04.926083+00:00\r\n**********************************************************************\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Nous rencontrons une erreur ORA 27125, impossible d&#8217;affecter les pages demand\u00e9es, l&#8217;instance ne d\u00e9marre pas.<br \/>\nOracle nous conseille d&#8217;augmenter le &#8220;soft limit&#8221; afin de faire tenir les 1,8Go de SGA dans des &#8220;HugePages&#8221; de 2Mo.<\/p>\n<p>&nbsp;<\/p>\n<h2>Conclusion<\/h2>\n<p>Comme nous venons de voir, Oracle, depuis la version 19c, est capable de r\u00e9clamer dynamiquement au kernel des pages de 2Mo, sans pour autant les avoir provisionner dans le fichier &#8220;<strong>sysctl.conf<\/strong>&#8220;. Il est cependant, indispensable, de fixer des soft\/hard limits au user Oracle afin de pouvoir verrouiller des pages en m\u00e9moire.<\/p>\n<p>Lors du reboot du server, le syst\u00e8me dispose de pages conventionnelles de 4Ko avec les param\u00e8tres &#8220;<strong>vm.nr_hugepages<\/strong>&#8221; et &#8220;<strong>HugePages_Total<\/strong>&#8221;\u00a0 \u00e0 0.<\/p>\n<p>&nbsp;<\/p>\n<h3>Optimisations de configuration<\/h3>\n<p>Voici les configurations que je pr\u00e9coniserais pour un syst\u00e8me Linux 64 bits si vous souhaitez profiter de la gestion dynamique des HugePages par Oracle.<\/p>\n<h4><span style=\"color: #ff6600;\">Cas d&#8217;un serveur d\u00e9di\u00e9 SGBDR avec 1 instance Oracle :<\/span><\/h4>\n<ul>\n<li>Positionner le <strong>SHMMAX<\/strong> (en bytes) de 50% \u00e0 75% de la RAM serveur. Sur un syst\u00e8me Exadata vous pouvez monter jusqu&#8217;\u00e0 80% de la RAM pour 1 taille max de segment m\u00e9moire.<\/li>\n<li>Positionner le <strong>SHMALL<\/strong> (en pages) \u00e0 une taille l\u00e9g\u00e8rement sup\u00e9rieur \u00e0 la valeur de <strong>SGA_TARGET<\/strong>.<\/li>\n<li>les limites &#8220;<strong>memlock<\/strong>&#8221; hard et soft doivent \u00eatre identique \u00e0 <strong>SHMALL<\/strong> (attention en Ko).<\/li>\n<li>Positionner <strong>USE_LARGE_PAGES<\/strong> \u00e0 <strong>AUTO_ONLY<\/strong> afin de profiter des HugePages pour votre instance.<\/li>\n<li>Bien entendu, ne pas oublier de mettre <strong>MEMORY_TARGET<\/strong> \u00e0 0.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h4><span style=\"color: #ff6600;\">Cas d&#8217;un serveur SGBDR avec plusieurs instances Oracle.<\/span><\/h4>\n<ul>\n<li>Positionner <strong>SHMMAX<\/strong> (en bytes) \u00e0 50% de la RAM. La taille d&#8217;un segment de m\u00e9moire ne doit pas d\u00e9passer 1\/2 de la RAM. (cas d&#8217;un serveur disposant de bases de production par exemple).<\/li>\n<li>Le <strong>SHMALL<\/strong> (en pages) repr\u00e9sente la somme totale des SGA de toutes les bases, avec un marge de quelques pages.<\/li>\n<li>Les limites &#8220;<strong>memlock<\/strong>&#8221; hard et soft doivent \u00eatre identique \u00e0 <strong>SHMALL<\/strong> (attention, en Ko).<\/li>\n<li>Positionner <strong>USE_LARGE_PAGES<\/strong> \u00e0\n<ul>\n<li><strong>AUTO_ONLY<\/strong> sur les bases dans le cas d&#8217;un serveur de production manipulant de forts volumes de donn\u00e9es (Datawarehouse). Ceci afin de s&#8217;assurer que Oracle n&#8217;utilisera que des HugePages en m\u00e9moire et qu&#8217;il pourra les verrouiller. C&#8217;est la valeur par d\u00e9faut sur une instance d&#8217;un dbnode Exadata.<\/li>\n<li><strong>AUTO<\/strong> sur un serveur comportant des bases de dev\/test ou bien sur des bases ou l&#8217;on souhaite changer facilement la valeur de <strong>SGA_TARGET<\/strong> sans risquer d&#8217;avoir un souci de d\u00e9marrage sur l&#8217;une des instances.<\/li>\n<\/ul>\n<\/li>\n<li>mettre <strong>MEMORY_TARGET<\/strong> \u00e0 0 sur toutes les instances.<\/li>\n<\/ul>\n<p>Dans tous les cas, sur un serveur Linux d\u00e9di\u00e9 pour des instances de bases de donn\u00e9es, Oracle recommande de d\u00e9sactiver les Transparent Huges Pages (THP) dans la mesure ou ces pages sont dynamiquement &#8220;swappable&#8221; . Ce qui peut \u00eatre tr\u00e8s probl\u00e9matique, notamment dans le cadre d&#8217;un environnement RAC (\u00e9viction de n\u0153ud possible).<\/p>\n<ul>\n<li>lancer la commande :\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">echo never | tee \/sys\/kernel\/mm\/transparent_hugepage\/enabled<\/pre>\n<\/li>\n<li>\u00e9diter &#8220;<strong>\/etc\/grub.conf<\/strong>&#8221; et ajouter &#8220;<strong>transparent_hugepage=never<\/strong>&#8220;<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>\ud83d\ude42<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Emmanuel RAMI<\/p>\n<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F9257&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F9257&#038;title=Oracle%20%3A%20la%20gestion%20des%20%E2%80%9Chugepages%E2%80%9D%20depuis%20la%20version%2019c\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=Oracle%20%3A%20la%20gestion%20des%20%E2%80%9Chugepages%E2%80%9D%20depuis%20la%20version%2019c&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F9257\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a>","protected":false},"excerpt":{"rendered":"<p>&nbsp; Hello, si comme bon nombre de DBAs Oracle, vous avez install\u00e9 et configur\u00e9 une instance de bases de donn\u00e9es, que ce soit sur un syst\u00e8me Linux classique ou une machine Exadata, vous avez surement \u00e9t\u00e9 amen\u00e9 \u00e0 mettre en&hellip; <a href=\"https:\/\/blog.capdata.fr\/index.php\/oracle-la-gestion-des-hugepages-depuis-la-version-19c\/\" class=\"more-link\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":32,"featured_media":9266,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[30,439,221],"class_list":["post-9257","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oracle","tag-linux","tag-oracle19c","tag-performance"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Oracle : la gestion des &quot;hugepages&quot; depuis la version 19c - Capdata TECH BLOG<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.capdata.fr\/index.php\/oracle-la-gestion-des-hugepages-depuis-la-version-19c\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Oracle : la gestion des &quot;hugepages&quot; depuis la version 19c - Capdata TECH BLOG\" \/>\n<meta property=\"og:description\" content=\"&nbsp; Hello, si comme bon nombre de DBAs Oracle, vous avez install\u00e9 et configur\u00e9 une instance de bases de donn\u00e9es, que ce soit sur un syst\u00e8me Linux classique ou une machine Exadata, vous avez surement \u00e9t\u00e9 amen\u00e9 \u00e0 mettre en&hellip; Continuer la lecture &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.capdata.fr\/index.php\/oracle-la-gestion-des-hugepages-depuis-la-version-19c\/\" \/>\n<meta property=\"og:site_name\" content=\"Capdata TECH BLOG\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-10T12:29:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-27T09:37:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/07\/hugespages.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"274\" \/>\n\t<meta property=\"og:image:height\" content=\"198\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Emmanuel RAMI\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Emmanuel RAMI\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/oracle-la-gestion-des-hugepages-depuis-la-version-19c\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/oracle-la-gestion-des-hugepages-depuis-la-version-19c\/\"},\"author\":{\"name\":\"Emmanuel RAMI\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/797b9b6698fa35f7ce3e9a70a8b102ae\"},\"headline\":\"Oracle : la gestion des &#8220;hugepages&#8221; depuis la version 19c\",\"datePublished\":\"2022-08-10T12:29:08+00:00\",\"dateModified\":\"2024-02-27T09:37:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/oracle-la-gestion-des-hugepages-depuis-la-version-19c\/\"},\"wordCount\":3031,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"keywords\":[\"linux\",\"oracle19c\",\"performance\"],\"articleSection\":[\"Oracle\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/oracle-la-gestion-des-hugepages-depuis-la-version-19c\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/oracle-la-gestion-des-hugepages-depuis-la-version-19c\/\",\"url\":\"https:\/\/blog.capdata.fr\/index.php\/oracle-la-gestion-des-hugepages-depuis-la-version-19c\/\",\"name\":\"Oracle : la gestion des \\\"hugepages\\\" depuis la version 19c - Capdata TECH BLOG\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/#website\"},\"datePublished\":\"2022-08-10T12:29:08+00:00\",\"dateModified\":\"2024-02-27T09:37:11+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/oracle-la-gestion-des-hugepages-depuis-la-version-19c\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/oracle-la-gestion-des-hugepages-depuis-la-version-19c\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/oracle-la-gestion-des-hugepages-depuis-la-version-19c\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/blog.capdata.fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Oracle : la gestion des &#8220;hugepages&#8221; depuis la version 19c\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.capdata.fr\/#website\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"name\":\"Capdata TECH BLOG\",\"description\":\"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting\",\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.capdata.fr\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/blog.capdata.fr\/#organization\",\"name\":\"Capdata TECH BLOG\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"contentUrl\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"width\":800,\"height\":254,\"caption\":\"Capdata TECH BLOG\"},\"image\":{\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/797b9b6698fa35f7ce3e9a70a8b102ae\",\"name\":\"Emmanuel RAMI\",\"sameAs\":[\"https:\/\/blog.capdata.fr\"],\"url\":\"https:\/\/blog.capdata.fr\/index.php\/author\/erami\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Oracle : la gestion des \"hugepages\" depuis la version 19c - Capdata TECH BLOG","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.capdata.fr\/index.php\/oracle-la-gestion-des-hugepages-depuis-la-version-19c\/","og_locale":"fr_FR","og_type":"article","og_title":"Oracle : la gestion des \"hugepages\" depuis la version 19c - Capdata TECH BLOG","og_description":"&nbsp; Hello, si comme bon nombre de DBAs Oracle, vous avez install\u00e9 et configur\u00e9 une instance de bases de donn\u00e9es, que ce soit sur un syst\u00e8me Linux classique ou une machine Exadata, vous avez surement \u00e9t\u00e9 amen\u00e9 \u00e0 mettre en&hellip; Continuer la lecture &rarr;","og_url":"https:\/\/blog.capdata.fr\/index.php\/oracle-la-gestion-des-hugepages-depuis-la-version-19c\/","og_site_name":"Capdata TECH BLOG","article_published_time":"2022-08-10T12:29:08+00:00","article_modified_time":"2024-02-27T09:37:11+00:00","og_image":[{"width":274,"height":198,"url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/07\/hugespages.jpg","type":"image\/jpeg"}],"author":"Emmanuel RAMI","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Emmanuel RAMI","Dur\u00e9e de lecture estim\u00e9e":"15 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.capdata.fr\/index.php\/oracle-la-gestion-des-hugepages-depuis-la-version-19c\/#article","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/index.php\/oracle-la-gestion-des-hugepages-depuis-la-version-19c\/"},"author":{"name":"Emmanuel RAMI","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/797b9b6698fa35f7ce3e9a70a8b102ae"},"headline":"Oracle : la gestion des &#8220;hugepages&#8221; depuis la version 19c","datePublished":"2022-08-10T12:29:08+00:00","dateModified":"2024-02-27T09:37:11+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.capdata.fr\/index.php\/oracle-la-gestion-des-hugepages-depuis-la-version-19c\/"},"wordCount":3031,"commentCount":1,"publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"keywords":["linux","oracle19c","performance"],"articleSection":["Oracle"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.capdata.fr\/index.php\/oracle-la-gestion-des-hugepages-depuis-la-version-19c\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.capdata.fr\/index.php\/oracle-la-gestion-des-hugepages-depuis-la-version-19c\/","url":"https:\/\/blog.capdata.fr\/index.php\/oracle-la-gestion-des-hugepages-depuis-la-version-19c\/","name":"Oracle : la gestion des \"hugepages\" depuis la version 19c - Capdata TECH BLOG","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/#website"},"datePublished":"2022-08-10T12:29:08+00:00","dateModified":"2024-02-27T09:37:11+00:00","breadcrumb":{"@id":"https:\/\/blog.capdata.fr\/index.php\/oracle-la-gestion-des-hugepages-depuis-la-version-19c\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.capdata.fr\/index.php\/oracle-la-gestion-des-hugepages-depuis-la-version-19c\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.capdata.fr\/index.php\/oracle-la-gestion-des-hugepages-depuis-la-version-19c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/blog.capdata.fr\/"},{"@type":"ListItem","position":2,"name":"Oracle : la gestion des &#8220;hugepages&#8221; depuis la version 19c"}]},{"@type":"WebSite","@id":"https:\/\/blog.capdata.fr\/#website","url":"https:\/\/blog.capdata.fr\/","name":"Capdata TECH BLOG","description":"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting","publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.capdata.fr\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/blog.capdata.fr\/#organization","name":"Capdata TECH BLOG","url":"https:\/\/blog.capdata.fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/","url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","contentUrl":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","width":800,"height":254,"caption":"Capdata TECH BLOG"},"image":{"@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/"]},{"@type":"Person","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/797b9b6698fa35f7ce3e9a70a8b102ae","name":"Emmanuel RAMI","sameAs":["https:\/\/blog.capdata.fr"],"url":"https:\/\/blog.capdata.fr\/index.php\/author\/erami\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/9257","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/users\/32"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/comments?post=9257"}],"version-history":[{"count":28,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/9257\/revisions"}],"predecessor-version":[{"id":10466,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/9257\/revisions\/10466"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media\/9266"}],"wp:attachment":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media?parent=9257"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/categories?post=9257"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/tags?post=9257"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}