{"id":1643,"date":"2017-06-08T20:05:41","date_gmt":"2017-06-08T18:05:41","guid":{"rendered":"http:\/\/clemente.pamplona.name\/dba\/?p=1643"},"modified":"2017-06-08T09:32:27","modified_gmt":"2017-06-08T07:32:27","slug":"nuevas-funcionalidades-12c-pga_aggregate_limit","status":"publish","type":"post","link":"http:\/\/clemente.pamplona.name\/dba\/nuevas-funcionalidades-12c-pga_aggregate_limit\/","title":{"rendered":"Nuevas funcionalidades 12c: PGA_AGGREGATE_LIMIT"},"content":{"rendered":"<p>Hoy vamos a ver una entrada sencilla sobre una nueva funcionalidad de la 12c , el par\u00e1metro <strong> PGA_AGGREGATE_LIMIT <\/strong><\/p>\n<p>Desde la versi\u00f3n  9i Oracle ha apostado por la gesti\u00f3n autom\u00e1tica de la memoria, uno de los problemas que generaba Al motor la gesti\u00f3n total de la configuraci\u00f3n del tama\u00f1o de la  PGA y SGA es que el motor pod\u00eda llegar a configuraciones donde el espacio asignado a la PGA fuese muy alto, repercutiendo sobre la SGA y produciendo  un exceso de paginaci\u00f3n en la base de datos.<\/p>\n<h2>Como han solucionado esto ? <\/h2>\n<p>Sencillamente han introducido un par\u00e1metro nuevo llamado <b>PGA_AGGREGATE_LIMIT<\/b><\/p>\n<p>Este nuevo par\u00e1metro va a ser un l\u00edmite del tama\u00f1o total de las PGAs de la base de datos, al contrario de lo que ocurria con <code>PGA_AGGREGATE_TARGET<\/code> que actuaba como valor de referencia , el nuevo <code>PGA_AGGREGATE_LIMIT<\/code> act\u00faa como l\u00edmite , y no solo no dejar\u00e1 que este valor se sobrepase, sino que eliminar\u00e1 sesiones que est\u00e9n usando mas memoria PGA con el nuevo error ora  <br \/><b>ORA-04036: PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT <\/b><\/p>\n<h2>\u00bfCual es el  patr\u00f3n  que usa oracle para matar las sesiones <\/h2>\n<p>El proceso de background CKPT comprueba cada tres segundos si la cantidad de memoria usada excede el par\u00e1metro <code>PGA_AGGREGATE_LIMIT<\/code>, si este l\u00edmite es excedido Oracle har\u00e1 lo sigiuiente <\/p>\n<ul>\n<li>  <u>Las llamadas<\/u> de las sesiones que est\u00e1n consumiendo mas PGA son abortadas.(untunable PGA memory)\n<li> Si el tama\u00f1o de la PGA sigue por encima del l\u00edmite, <u>las sessiones y los procesos <\/u> que mas PGA usan son terminados (untunable PGA memory)\n<li> Los procesos de SYS y background no se ven afectados por estas reglas\n<\/ul>\n<p>El motor notifica al cliente el problema con un <i>ORA-04036: PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT <\/i><\/p>\n<h2> \u00bfComo se calcula el valor ?<\/h2>\n<p>EL <code>PGA_AGGREGATE_LIMIT<\/code>  es un valor din\u00e1mico , por lo que puede modificarse en cualquier momento , su valor es calculado de manera autom\u00e1tica en el arranque por el motor al mayor de estos tres valores <\/p>\n<ul>\n<li> 2 GB\n<li> 200% of PGA_AGGREGATE_TARGET\n<li>PROCESSES ( valor del par\u00e1metros de incializacion)  * 3 MB\n<li> Nunca exceder\u00e1 al 120% de la memoria f\u00edsica menos el total del tama\u00f1o  la SGA .\n<\/ul>\n<h2>\u00bfComo lo deshabilito?<\/h2>\n<p>Si fijamos en el spfile el valor de esta variable a cero, la base de datos se comportar\u00e1 como lo hac\u00eda en la version 11g, y  no eliminar\u00e1 las sesiones que sobrepasen este l\u00edmite.<br \/>\nEsto podemos hacerlo con :<\/p>\n<pre>\r\nalter system set pga_aggregate_limit=0 scope=both; \r\n<\/pre>\n<p>Mas informaci\u00f3n en<\/p>\n<ul>\n<li> <a href=\"https:\/\/docs.oracle.com\/database\/121\/REFRN\/GUID-E364D0E5-19F2-4081-B55E-131DF09CFDB3.htm\">Documentacion de Oracle<\/a>\n<li>Limiting process size with database parameter PGA_AGGREGATE_LIMIT (Doc ID 1520324.1)\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Hoy vamos a ver una entrada sencilla sobre una nueva funcionalidad de la 12c , el par\u00e1metro PGA_AGGREGATE_LIMIT Desde la versi\u00f3n 9i Oracle ha apostado por la gesti\u00f3n autom\u00e1tica de la memoria, uno de los problemas que generaba Al motor &hellip; <a href=\"http:\/\/clemente.pamplona.name\/dba\/nuevas-funcionalidades-12c-pga_aggregate_limit\/\">Sigue leyendo <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[60,66,172,8],"tags":[170,758,760,28],"class_list":["post-1643","post","type-post","status-publish","format-standard","hentry","category-12c","category-errores-ora","category-migracion","category-parametrizacion","tag-init-ora","tag-ora-04036","tag-pga_aggregate_limit","tag-spfile"],"_links":{"self":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/1643","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/comments?post=1643"}],"version-history":[{"count":9,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/1643\/revisions"}],"predecessor-version":[{"id":1652,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/1643\/revisions\/1652"}],"wp:attachment":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/media?parent=1643"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/categories?post=1643"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/tags?post=1643"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}