{"id":29557,"date":"2021-04-12T08:00:00","date_gmt":"2021-04-12T15:00:00","guid":{"rendered":"https:\/\/virtual-dba.com\/?p=29557"},"modified":"2021-04-12T12:35:21","modified_gmt":"2021-04-12T19:35:21","slug":"ora-04031-memory-error","status":"publish","type":"post","link":"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/","title":{"rendered":"ORA-04031: Unable to Allocate nn Bytes of Shared Memory"},"content":{"rendered":"<p>The Oracle error ORA-04031: unable to allocate nn bytes of shared memory is telling us that Oracle tried to allocate a specific amount of memory for a process and it was unable to do so.<\/p>\n<p>I see this more often with legacy or very large and complex ETL processes. The quick fix for the error is simple, add more RAM to the database and or server if needed for the process to complete successfully.<\/p>\n<p>After the problem is fixed however, I would take a step back and ask myself if this process needs to be re-written\/optimized to help improve performance and lesson resource utilization. Can this package be broken into smaller pieces and make it more manageable by the database?<\/p>\n<p>Often enough senior DBAs are asked to perform this task and a well seasoned DBA in a lot of cases can quickly identify slow complex processes that are consuming too many resources or taking too long to execute.<\/p>\n<p>Pinning is also another option to try if the process can not be rewritten. I don\u2019t see this being used as much these days, however it does have its place in the Oracle DBA\u2019s toolbelt.<\/p>\n<p>If you would like some help from one of our Oracle DBA experts fixing your ORA-04031: Unable to Allocate nn Bytes of Shared Memory <a href=\"\/contact-us\/\">get in touch<\/a> with us today!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Oracle error ORA-04031: unable to allocate nn bytes of shared memory is telling us that Oracle tried to allocate a specific amount of memory for a process and it was unable to do so. I see this more often with legacy or very large and complex ETL processes. The quick fix for the error [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":30243,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","content-type":"","footnotes":""},"categories":[4166,23],"tags":[1145,1146,1149],"class_list":["post-29557","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-oracle","tag-oracle","tag-oracle-database","tag-oracle-error"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.1 (Yoast SEO v27.1.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How to Fix ORA-04031: Unable to Allocate nn Bytes of Shared Memory<\/title>\n<meta name=\"description\" content=\"Learn how to quickly fix your Oracle ORA-04031: Unable to Allocate nn Bytes of Shared Memory database error from an Oracle expert DBA.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ORA-04031: Unable to Allocate nn Bytes of Shared Memory\" \/>\n<meta property=\"og:description\" content=\"Learn how to quickly fix your Oracle ORA-04031: Unable to Allocate nn Bytes of Shared Memory database error from an Oracle expert DBA.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/\" \/>\n<meta property=\"og:site_name\" content=\"Virtual-DBA Remote DBA Services &amp; Support - Certified Database Experts\" \/>\n<meta property=\"article:published_time\" content=\"2021-04-12T15:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-04-12T19:35:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/virtual-dba.com\/media\/unable-locate-nn-bytes-shared-memory-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"557\" \/>\n\t<meta property=\"og:image:height\" content=\"291\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"XTIVIA\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@virtual_dba\" \/>\n<meta name=\"twitter:site\" content=\"@virtual_dba\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"XTIVIA\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/\"},\"author\":{\"name\":\"XTIVIA\",\"@id\":\"https:\/\/virtual-dba.com\/#\/schema\/person\/2d86f74bed0c3f1b49100f7fdf7d78d1\"},\"headline\":\"ORA-04031: Unable to Allocate nn Bytes of Shared Memory\",\"datePublished\":\"2021-04-12T15:00:00+00:00\",\"dateModified\":\"2021-04-12T19:35:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/\"},\"wordCount\":235,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/virtual-dba.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/unable-locate-nn-bytes-shared-memory-1.jpg\",\"keywords\":[\"Oracle\",\"Oracle Database\",\"oracle error\"],\"articleSection\":[\"Blog\",\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/\",\"url\":\"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/\",\"name\":\"How to Fix ORA-04031: Unable to Allocate nn Bytes of Shared Memory\",\"isPartOf\":{\"@id\":\"https:\/\/virtual-dba.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/unable-locate-nn-bytes-shared-memory-1.jpg\",\"datePublished\":\"2021-04-12T15:00:00+00:00\",\"dateModified\":\"2021-04-12T19:35:21+00:00\",\"description\":\"Learn how to quickly fix your Oracle ORA-04031: Unable to Allocate nn Bytes of Shared Memory database error from an Oracle expert DBA.\",\"breadcrumb\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/#primaryimage\",\"url\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/unable-locate-nn-bytes-shared-memory-1.jpg\",\"contentUrl\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/unable-locate-nn-bytes-shared-memory-1.jpg\",\"width\":557,\"height\":291,\"caption\":\"ora-04031-unable-locate-nn-bytes-shared-memory\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/virtual-dba.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ORA-04031: Unable to Allocate nn Bytes of Shared Memory\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/virtual-dba.com\/#website\",\"url\":\"https:\/\/virtual-dba.com\/\",\"name\":\"Virtual-DBA Remote DBA Services &amp; Support - Certified Database Experts\",\"description\":\"Remote Database Administration\",\"publisher\":{\"@id\":\"https:\/\/virtual-dba.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/virtual-dba.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/virtual-dba.com\/#organization\",\"name\":\"Virtual-DBA: Remote DBA | Remote Database Administration\",\"alternateName\":\"Virtual-DBA powered by XTIVIA\",\"url\":\"https:\/\/virtual-dba.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/virtual-dba.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/V-DBA-Database-Services-and-Support-Featured-Logo.jpg\",\"contentUrl\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/V-DBA-Database-Services-and-Support-Featured-Logo.jpg\",\"width\":557,\"height\":291,\"caption\":\"Virtual-DBA: Remote DBA | Remote Database Administration\"},\"image\":{\"@id\":\"https:\/\/virtual-dba.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/virtual_dba\",\"https:\/\/www.linkedin.com\/showcase\/36220649\/\",\"https:\/\/www.youtube.com\/channel\/UCx3AIeUQ2ziTLKZSJDZ-SEg\"],\"description\":\"Eliminate database downtime and spiraling costs with XTIVIA\u2019s Virtual-DBA. In today\u2019s always-on business world, gaps in 24x7 on-call DBA support, neglected maintenance and security, or a stretched team struggling with overwhelming workloads can lead to costly disruptions and threaten business continuity. XTIVIA\u2019s Virtual-DBA provides the immediate, expert database administration you need, exactly when you need it, ensuring optimal performance, ironclad security, and significant cost savings without the burden of expanding your in-house team. The goal of Virtual-DBA is to provide a cost-effective solution for organizations seeking to optimize the security, management, maintenance, availability, and performance of their critical business systems, whether self-managed or cloud-managed (e.g., AWS RDS, Azure SQL Database). We accomplish this through a comprehensive remote DBA service offering designed specifically to meet the Oracle\u00ae, DB2\u00ae, Informix\u00ae, MySQL\u2122, PostgreSQL\u00ae, MongoDB\u00ae, MariaDB, and Microsoft SQL Server\u00ae, CockroachDB, Databricks, AWS, and Azure needs of our clients.\",\"email\":\"info@xtivia.com\",\"telephone\":\"8886853101\",\"legalName\":\"XTIVIA, Inc\",\"foundingDate\":\"1992-05-01\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"201\",\"maxValue\":\"500\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/virtual-dba.com\/#\/schema\/person\/2d86f74bed0c3f1b49100f7fdf7d78d1\",\"name\":\"XTIVIA\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/virtual-dba.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0d3648a00e319a37cf8d6d19f762acfbbb4fd0320fd8a6d6b1e64f44a2a6f259?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0d3648a00e319a37cf8d6d19f762acfbbb4fd0320fd8a6d6b1e64f44a2a6f259?s=96&d=mm&r=g\",\"caption\":\"XTIVIA\"},\"url\":\"https:\/\/virtual-dba.com\/author\/xtivia\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Fix ORA-04031: Unable to Allocate nn Bytes of Shared Memory","description":"Learn how to quickly fix your Oracle ORA-04031: Unable to Allocate nn Bytes of Shared Memory database error from an Oracle expert DBA.","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:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/","og_locale":"en_US","og_type":"article","og_title":"ORA-04031: Unable to Allocate nn Bytes of Shared Memory","og_description":"Learn how to quickly fix your Oracle ORA-04031: Unable to Allocate nn Bytes of Shared Memory database error from an Oracle expert DBA.","og_url":"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/","og_site_name":"Virtual-DBA Remote DBA Services &amp; Support - Certified Database Experts","article_published_time":"2021-04-12T15:00:00+00:00","article_modified_time":"2021-04-12T19:35:21+00:00","og_image":[{"width":557,"height":291,"url":"https:\/\/virtual-dba.com\/media\/unable-locate-nn-bytes-shared-memory-1.jpg","type":"image\/jpeg"}],"author":"XTIVIA","twitter_card":"summary_large_image","twitter_creator":"@virtual_dba","twitter_site":"@virtual_dba","twitter_misc":{"Written by":"XTIVIA","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/#article","isPartOf":{"@id":"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/"},"author":{"name":"XTIVIA","@id":"https:\/\/virtual-dba.com\/#\/schema\/person\/2d86f74bed0c3f1b49100f7fdf7d78d1"},"headline":"ORA-04031: Unable to Allocate nn Bytes of Shared Memory","datePublished":"2021-04-12T15:00:00+00:00","dateModified":"2021-04-12T19:35:21+00:00","mainEntityOfPage":{"@id":"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/"},"wordCount":235,"commentCount":0,"publisher":{"@id":"https:\/\/virtual-dba.com\/#organization"},"image":{"@id":"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/#primaryimage"},"thumbnailUrl":"https:\/\/virtual-dba.com\/wp-content\/uploads\/unable-locate-nn-bytes-shared-memory-1.jpg","keywords":["Oracle","Oracle Database","oracle error"],"articleSection":["Blog","Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/","url":"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/","name":"How to Fix ORA-04031: Unable to Allocate nn Bytes of Shared Memory","isPartOf":{"@id":"https:\/\/virtual-dba.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/#primaryimage"},"image":{"@id":"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/#primaryimage"},"thumbnailUrl":"https:\/\/virtual-dba.com\/wp-content\/uploads\/unable-locate-nn-bytes-shared-memory-1.jpg","datePublished":"2021-04-12T15:00:00+00:00","dateModified":"2021-04-12T19:35:21+00:00","description":"Learn how to quickly fix your Oracle ORA-04031: Unable to Allocate nn Bytes of Shared Memory database error from an Oracle expert DBA.","breadcrumb":{"@id":"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/#primaryimage","url":"https:\/\/virtual-dba.com\/wp-content\/uploads\/unable-locate-nn-bytes-shared-memory-1.jpg","contentUrl":"https:\/\/virtual-dba.com\/wp-content\/uploads\/unable-locate-nn-bytes-shared-memory-1.jpg","width":557,"height":291,"caption":"ora-04031-unable-locate-nn-bytes-shared-memory"},{"@type":"BreadcrumbList","@id":"https:\/\/virtual-dba.com\/blog\/ora-04031-memory-error\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/virtual-dba.com\/"},{"@type":"ListItem","position":2,"name":"ORA-04031: Unable to Allocate nn Bytes of Shared Memory"}]},{"@type":"WebSite","@id":"https:\/\/virtual-dba.com\/#website","url":"https:\/\/virtual-dba.com\/","name":"Virtual-DBA Remote DBA Services &amp; Support - Certified Database Experts","description":"Remote Database Administration","publisher":{"@id":"https:\/\/virtual-dba.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/virtual-dba.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/virtual-dba.com\/#organization","name":"Virtual-DBA: Remote DBA | Remote Database Administration","alternateName":"Virtual-DBA powered by XTIVIA","url":"https:\/\/virtual-dba.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/virtual-dba.com\/#\/schema\/logo\/image\/","url":"https:\/\/virtual-dba.com\/wp-content\/uploads\/V-DBA-Database-Services-and-Support-Featured-Logo.jpg","contentUrl":"https:\/\/virtual-dba.com\/wp-content\/uploads\/V-DBA-Database-Services-and-Support-Featured-Logo.jpg","width":557,"height":291,"caption":"Virtual-DBA: Remote DBA | Remote Database Administration"},"image":{"@id":"https:\/\/virtual-dba.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/virtual_dba","https:\/\/www.linkedin.com\/showcase\/36220649\/","https:\/\/www.youtube.com\/channel\/UCx3AIeUQ2ziTLKZSJDZ-SEg"],"description":"Eliminate database downtime and spiraling costs with XTIVIA\u2019s Virtual-DBA. In today\u2019s always-on business world, gaps in 24x7 on-call DBA support, neglected maintenance and security, or a stretched team struggling with overwhelming workloads can lead to costly disruptions and threaten business continuity. XTIVIA\u2019s Virtual-DBA provides the immediate, expert database administration you need, exactly when you need it, ensuring optimal performance, ironclad security, and significant cost savings without the burden of expanding your in-house team. The goal of Virtual-DBA is to provide a cost-effective solution for organizations seeking to optimize the security, management, maintenance, availability, and performance of their critical business systems, whether self-managed or cloud-managed (e.g., AWS RDS, Azure SQL Database). We accomplish this through a comprehensive remote DBA service offering designed specifically to meet the Oracle\u00ae, DB2\u00ae, Informix\u00ae, MySQL\u2122, PostgreSQL\u00ae, MongoDB\u00ae, MariaDB, and Microsoft SQL Server\u00ae, CockroachDB, Databricks, AWS, and Azure needs of our clients.","email":"info@xtivia.com","telephone":"8886853101","legalName":"XTIVIA, Inc","foundingDate":"1992-05-01","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"201","maxValue":"500"}},{"@type":"Person","@id":"https:\/\/virtual-dba.com\/#\/schema\/person\/2d86f74bed0c3f1b49100f7fdf7d78d1","name":"XTIVIA","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/virtual-dba.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0d3648a00e319a37cf8d6d19f762acfbbb4fd0320fd8a6d6b1e64f44a2a6f259?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0d3648a00e319a37cf8d6d19f762acfbbb4fd0320fd8a6d6b1e64f44a2a6f259?s=96&d=mm&r=g","caption":"XTIVIA"},"url":"https:\/\/virtual-dba.com\/author\/xtivia\/"}]}},"_links":{"self":[{"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/posts\/29557","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/comments?post=29557"}],"version-history":[{"count":0,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/posts\/29557\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/media\/30243"}],"wp:attachment":[{"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/media?parent=29557"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/categories?post=29557"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/tags?post=29557"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}