{"id":240604,"date":"2022-05-04T02:15:00","date_gmt":"2022-05-04T09:15:00","guid":{"rendered":"https:\/\/virtual-dba.com\/?p=240604"},"modified":"2022-05-04T08:59:54","modified_gmt":"2022-05-04T15:59:54","slug":"investigating-locking-in-db2","status":"publish","type":"post","link":"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/","title":{"rendered":"Investigating Locking in Db2"},"content":{"rendered":"\n<p>The purpose of this article is to provide guidance on the various ways available for getting basic information about locking events in a Db2 database. Where possible the information gathered allows for targeting a specific table. The information provided by these methods is only for starting investigations into locking issues. Links are provided after each method for additional information.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-conventions\">Conventions<\/h2>\n\n\n\n<p>Text in statements that are wrapped in brackets [sample], signifies a variable to be replaced with the value specific to your situation. This article also uses the schema DBA for event monitors. This can be changed as desired. If changed, replace each occurrence of DBA with your chosen schema.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The db2pd Utility<\/h2>\n\n\n\n<p>The db2pd utility is a troubleshooting tool that collects information without acquiring any latches or using any engine resources.<\/p>\n\n\n\n<p>To get a list of the details for all current locks use:<\/p>\n\n\n<pre><code>$ db2pd -db [databaseName] -wlocks detail<\/code><\/pre>\n\n\n<p>For more information:<\/p>\n\n\n\n<p><a href=\"https:\/\/www.ibm.com\/docs\/en\/db2\/11.5?topic=tools-db2pd#c0054595\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.ibm.com\/docs\/en\/db2\/11.5?topic=tools-db2pd#c0054595<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Table Functions<\/h2>\n\n\n\n<p>You can retrieve information about locks using table functions. Information about locks is always available from the database manager. You do not need to enable the collection of this information.<\/p>\n\n\n\n<p>To see a list of applications holding locks on a specific table, use this statement:<\/p>\n\n\n<pre><code>SELECT APPLICATION_HANDLE, LOCK_NAME, LOCK_STATUS FROM TABLE (mon_get_locks(CLOB('&lt;table_schema&gt;[schema]&lt;\/table_schema&gt; &lt;table_name&gt;[table]&lt;\/table_name&gt;'),-2));<\/code><\/pre>\n\n\n<p>For more information:<\/p>\n\n\n\n<p><a href=\"https:\/\/www.ibm.com\/docs\/en\/db2\/11.5?topic=mpf-mon-get-locks-table-function-list-all-locks-in-currently-connected-database\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.ibm.com\/docs\/en\/db2\/11.5?topic=mpf-mon-get-locks-table-function-list-all-locks-in-currently-connected-database<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Event Monitors<\/h2>\n\n\n\n<p>Pulling information from table functions and the database&#8217;s memory sets returns the values of monitor elements at the specific point in time the routine is run. Event monitors allow you to view events historically. Event monitors capture data when an event occurs for later analysis. This means that event monitors need to be created and activated prior to the events occurring.<\/p>\n\n\n\n<p>The following process explains how to create a locking event monitor that writes to unformatted event tables.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Prerequisite Setup<\/h3>\n\n\n\n<p>The locking event monitor performs best with a 32K tablespace, temp tablespace, and bufferpool. It is recommended that you create these if they do not already exist. Here are the commands to create them:<\/p>\n\n\n<pre><code>CREATE BUFFERPOOL BUFF32K IMMEDIATE \n   SIZE 2500 AUTOMATIC \n   PAGESIZE 32 K;\n\nCREATE LARGE TABLESPACE TAB32K \n   PAGESIZE 32 K \n   BUFFERPOOL BUFF32K \n   DROPPED TABLE RECOVERY ON;\n\nCREATE SYSTEM TEMPORARY TABLESPACE TEMPSYS32K \n   PAGESIZE 32 K \n   BUFFERPOOL BUFF32K;<\/code><\/pre>\n\n\n<p>The locking event monitor also requires certain parameters to be enabled for collection of needed details. Below are the parameters with their suggested setting:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>MON_LOCKTIMEOUT WITHOUT_HIST<\/li><li>MON_DEADLOCK WITHOUT_HIST<\/li><li>MON_LOCKWAIT NONE<\/li><li>MON_LW_THRESH 5000000<\/li><li>MON_LCK_MSG_LVL 2<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Event Monitor Creation<\/h3>\n\n\n\n<p>The following command creates the event monitor MY_LOCKS for locking events and writes the details of those events to the unformatted event table DBA.MY_LOCKS.<\/p>\n\n\n<pre><code>CREATE EVENT MONITOR MY_LOCKS FOR LOCKING WRITE TO UNFORMATTED EVENT TABLE (TABLE DBA.MY_LOCKS IN TAB32K) AUTOSTART;<\/code><\/pre>\n\n\n<p>To activate the event monitor run:<\/p>\n\n\n<pre><code>SET EVENT MONITOR MY_LOCKS STATE = 1;<\/code><\/pre>\n\n\n<p>To confirm that the event monitor is active use the command below (a state of 1 = active):<\/p>\n\n\n<pre><code>SELECT SUBSTR(EVMONNAME,1,30) AS EVMONNAME \n  ,EVENT_MON_STATE(EVMONNAME) AS STATE \nFROM SYSCAT.EVENTMONITORS \nWHERE EVMONNAME = 'MY_LOCKS' \nWITH UR;<\/code><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Parsing the Output<\/h3>\n\n\n\n<p>To view the records for locking events, the unformatted data held in the table DBA.MY_LOCKS will need to be converted to a human readable form.&nbsp; To format the data that has been generated in the last 2 hours use:<\/p>\n\n\n<pre><code>CALL EVMON_FORMAT_UE_TO_TABLES ('LOCKING', NULL, NULL, NULL, 'DBA', NULL, NULL, -1, 'SELECT * FROM DBA.MY_LOCKS WHERE event_timestamp between CURRENT TIMESTAMP - 2 hours  AND CURRENT TIMESTAMP ORDER BY EVENT_TIMESTAMP');<\/code><\/pre>\n\n\n<p>The formatted data will be stored in several new tables. Each can be queried to learn various details about locking events. The tables created are:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>DBA.LOCK_ACTIVITY_VALUES<\/li><li>DBA.LOCK_EVENT<\/li><li>DBA.LOCK_PARTICIPANTS<\/li><li>DBA.LOCK_PARTICIPANT_ACTIVITIES<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Reviewing Table Locks<\/h3>\n\n\n\n<p>To summarize locking events for a specific table you can run the following query after parsing the output:<\/p>\n\n\n<pre><code>SELECT SUBSTR(LP.TABLE_SCHEMA,1,18) AS TABLE_SCHEMA\n     , SUBSTR(LP.TABLE_NAME,1,30) AS TABLE_NAME\n     , SUBSTR(LE.EVENT_TYPE,1,18) AS LOCK_EVENT\n     , APPLICATION_HANDLE AS APP_HANDLE\nFROM DBA.LOCK_PARTICIPANTS LP, DBA.LOCK_EVENT LE\nWHERE LP.XMLID=LE.XMLID\n     AND EVENT_TIMESTAMP BETWEEN CURRENT TIMESTAMP - 2 HOURS\n     AND CURRENT TIMESTAMP\n     AND LP.TABLE_SCHEMA = '[schema]'\n     AND LP.TABLE_NAME = '[table]'\nGROUP BY EVENT_TIMESTAMP\n     , EVENT_TYPE\n     , APPLICATION_HANDLE\n     , TABLE_SCHEMA\n     , TABLE_NAME\nORDER BY EVENT_TIMESTAMP  \nWITH UR;\n<\/code><\/pre>\n\n\n<p>With both statements, you can adjust the starting and ending timestamps to meet your specific requirements.<\/p>\n\n\n\n<p>For more information:<\/p>\n\n\n\n<p><a href=\"https:\/\/datageek.blog\/en\/2012\/01\/23\/analyzing-deadlocks-the-new-way\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/datageek.blog\/en\/2012\/01\/23\/analyzing-deadlocks-the-new-way\/<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.ibm.com\/docs\/en\/db2\/11.5?topic=monitoring-event-monitors\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.ibm.com\/docs\/en\/db2\/11.5?topic=monitoring-event-monitors<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The purpose of this article is to provide guidance on the various ways available for getting basic information about locking events in a Db2 database. Where possible the information gathered allows for targeting a specific table. The information provided by these methods is only for starting investigations into locking issues. Links are provided after each [&hellip;]<\/p>\n","protected":false},"author":29,"featured_media":240657,"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,17],"tags":[18],"class_list":["post-240604","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-db2","tag-db2"],"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>Investigating Locking Events in Db2<\/title>\n<meta name=\"description\" content=\"This article provides guidance on the various ways available for getting basic information about locking events in a Db2 database.\" \/>\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\/investigating-locking-in-db2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Investigating Locking in Db2\" \/>\n<meta property=\"og:description\" content=\"This article provides guidance on the various ways available for getting basic information about locking events in a Db2 database.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/\" \/>\n<meta property=\"og:site_name\" content=\"Virtual-DBA Remote DBA Services &amp; Support - Certified Database Experts\" \/>\n<meta property=\"article:published_time\" content=\"2022-05-04T09:15:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-05-04T15:59:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/virtual-dba.com\/media\/Investigating-Locking-in-Db2.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=\"Marc Petros\" \/>\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=\"Marc Petros\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/\"},\"author\":{\"name\":\"Marc Petros\",\"@id\":\"https:\/\/virtual-dba.com\/#\/schema\/person\/df5834301b0edec142d0a2da82460c46\"},\"headline\":\"Investigating Locking in Db2\",\"datePublished\":\"2022-05-04T09:15:00+00:00\",\"dateModified\":\"2022-05-04T15:59:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/\"},\"wordCount\":570,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/virtual-dba.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/Investigating-Locking-in-Db2.jpg\",\"keywords\":[\"db2\"],\"articleSection\":[\"Blog\",\"Db2\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/\",\"url\":\"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/\",\"name\":\"Investigating Locking Events in Db2\",\"isPartOf\":{\"@id\":\"https:\/\/virtual-dba.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/Investigating-Locking-in-Db2.jpg\",\"datePublished\":\"2022-05-04T09:15:00+00:00\",\"dateModified\":\"2022-05-04T15:59:54+00:00\",\"description\":\"This article provides guidance on the various ways available for getting basic information about locking events in a Db2 database.\",\"breadcrumb\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/#primaryimage\",\"url\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/Investigating-Locking-in-Db2.jpg\",\"contentUrl\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/Investigating-Locking-in-Db2.jpg\",\"width\":557,\"height\":291,\"caption\":\"Investigating Locking in Db2\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/virtual-dba.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Investigating Locking in Db2\"}]},{\"@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\/df5834301b0edec142d0a2da82460c46\",\"name\":\"Marc Petros\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/virtual-dba.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9644ca5003abd7bc6f6f177a2e4ec7d295dad5c97e8cdddb9190d2c58f2c42cd?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9644ca5003abd7bc6f6f177a2e4ec7d295dad5c97e8cdddb9190d2c58f2c42cd?s=96&d=mm&r=g\",\"caption\":\"Marc Petros\"},\"url\":\"https:\/\/virtual-dba.com\/author\/marc-petros\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Investigating Locking Events in Db2","description":"This article provides guidance on the various ways available for getting basic information about locking events in a Db2 database.","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\/investigating-locking-in-db2\/","og_locale":"en_US","og_type":"article","og_title":"Investigating Locking in Db2","og_description":"This article provides guidance on the various ways available for getting basic information about locking events in a Db2 database.","og_url":"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/","og_site_name":"Virtual-DBA Remote DBA Services &amp; Support - Certified Database Experts","article_published_time":"2022-05-04T09:15:00+00:00","article_modified_time":"2022-05-04T15:59:54+00:00","og_image":[{"width":557,"height":291,"url":"https:\/\/virtual-dba.com\/media\/Investigating-Locking-in-Db2.jpg","type":"image\/jpeg"}],"author":"Marc Petros","twitter_card":"summary_large_image","twitter_creator":"@virtual_dba","twitter_site":"@virtual_dba","twitter_misc":{"Written by":"Marc Petros","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/#article","isPartOf":{"@id":"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/"},"author":{"name":"Marc Petros","@id":"https:\/\/virtual-dba.com\/#\/schema\/person\/df5834301b0edec142d0a2da82460c46"},"headline":"Investigating Locking in Db2","datePublished":"2022-05-04T09:15:00+00:00","dateModified":"2022-05-04T15:59:54+00:00","mainEntityOfPage":{"@id":"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/"},"wordCount":570,"commentCount":0,"publisher":{"@id":"https:\/\/virtual-dba.com\/#organization"},"image":{"@id":"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/#primaryimage"},"thumbnailUrl":"https:\/\/virtual-dba.com\/wp-content\/uploads\/Investigating-Locking-in-Db2.jpg","keywords":["db2"],"articleSection":["Blog","Db2"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/","url":"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/","name":"Investigating Locking Events in Db2","isPartOf":{"@id":"https:\/\/virtual-dba.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/#primaryimage"},"image":{"@id":"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/#primaryimage"},"thumbnailUrl":"https:\/\/virtual-dba.com\/wp-content\/uploads\/Investigating-Locking-in-Db2.jpg","datePublished":"2022-05-04T09:15:00+00:00","dateModified":"2022-05-04T15:59:54+00:00","description":"This article provides guidance on the various ways available for getting basic information about locking events in a Db2 database.","breadcrumb":{"@id":"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/#primaryimage","url":"https:\/\/virtual-dba.com\/wp-content\/uploads\/Investigating-Locking-in-Db2.jpg","contentUrl":"https:\/\/virtual-dba.com\/wp-content\/uploads\/Investigating-Locking-in-Db2.jpg","width":557,"height":291,"caption":"Investigating Locking in Db2"},{"@type":"BreadcrumbList","@id":"https:\/\/virtual-dba.com\/blog\/investigating-locking-in-db2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/virtual-dba.com\/"},{"@type":"ListItem","position":2,"name":"Investigating Locking in Db2"}]},{"@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\/df5834301b0edec142d0a2da82460c46","name":"Marc Petros","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/virtual-dba.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9644ca5003abd7bc6f6f177a2e4ec7d295dad5c97e8cdddb9190d2c58f2c42cd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9644ca5003abd7bc6f6f177a2e4ec7d295dad5c97e8cdddb9190d2c58f2c42cd?s=96&d=mm&r=g","caption":"Marc Petros"},"url":"https:\/\/virtual-dba.com\/author\/marc-petros\/"}]}},"_links":{"self":[{"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/posts\/240604","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\/29"}],"replies":[{"embeddable":true,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/comments?post=240604"}],"version-history":[{"count":0,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/posts\/240604\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/media\/240657"}],"wp:attachment":[{"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/media?parent=240604"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/categories?post=240604"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/tags?post=240604"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}