{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,21]],"date-time":"2026-05-21T16:53:17Z","timestamp":1779382397623,"version":"3.53.1"},"reference-count":29,"publisher":"Association for Computing Machinery (ACM)","issue":"12","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2023,8]]},"abstract":"<jats:p>Despite best coding practices, software bugs are inevitable in a large codebase. In traditional databases, when errors occur during query processing, they disrupt user workflow until workarounds are found and applied. Manual identification of workarounds often relies on a trial-and-error method. The process is not only time-consuming but also requires domain expertise that users are often lacking. In this paper, we propose a framework to automatically mitigate errors that occur during query compilation (including optimization and code generation) without any user intervention. An error is intercepted by the database internally, a workaround is identified for it, and the query is recompiled using the workaround. The entire process remains transparent to the user with the query being executed seamlessly. The proposed technique handles SQL errors during query compilation and provides three types of mitigation strategies - i) quickly failover to one of the readily-available historical plans for the statement ii) apply targeted error-correcting directives (hints) identified from the optimizer context at the time of the error iii) modify the global configuration of the optimizer using hints.<\/jats:p>\n          <jats:p>This feature has been implemented and will be released in an upcoming version of Oracle Autonomous Database.<\/jats:p>","DOI":"10.14778\/3611540.3611568","type":"journal-article","created":{"date-parts":[[2023,9,15]],"date-time":"2023-09-15T11:32:37Z","timestamp":1694777557000},"page":"3835-3847","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":3,"title":["Automatic SQL Error Mitigation in Oracle"],"prefix":"10.14778","volume":"16","author":[{"given":"Krishna Kantikiran","family":"Pasupuleti","sequence":"first","affiliation":[{"name":"Oracle America Inc., Redwood City, CA, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jiakun","family":"Li","sequence":"additional","affiliation":[{"name":"Oracle America Inc., Redwood City, CA, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Hong","family":"Su","sequence":"additional","affiliation":[{"name":"Oracle America Inc., Redwood City, CA, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Mohamed","family":"Ziauddin","sequence":"additional","affiliation":[{"name":"Oracle America Inc., Redwood City, CA, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2023,8]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.14778\/3415478.3415533"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.5555\/1182635.1164215"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1985.231893"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/2807593"},{"key":"e_1_2_1_5_1","volume-title":"Automatic tuning. Oracle. Retrieved","author":"Bayliss Nigel","year":"2023","unstructured":"Nigel Bayliss. 2019. Automatic tuning. Oracle. Retrieved July 7, 2023 from https:\/\/www.oracle.com\/technetwork\/database\/bi-datawarehousing\/twp-sql-plan-mgmt-19c-5324207.pdf"},{"key":"e_1_2_1_6_1","volume-title":"What is the Automatic SQL Tuning Set? Oracle. Retrieved","author":"Bayliss Nigel","year":"2023","unstructured":"Nigel Bayliss. 2020. What is the Automatic SQL Tuning Set? Oracle. Retrieved July 7, 2023 from https:\/\/blogs.oracle.com\/optimizer\/post\/what-is-the-automatic-sql-tuning-set"},{"key":"e_1_2_1_7_1","volume-title":"Detecting and Escaping Infinite Loops with Jolt. In ECOOP 2011 - Object-Oriented Programming, Mira Mezini (Ed.). Springer Berlin Heidelberg","author":"Carbin Michael","unstructured":"Michael Carbin, Sasa Misailovic, Michael Kling, and Martin C. Rinard. 2011. Detecting and Escaping Infinite Loops with Jolt. In ECOOP 2011 - Object-Oriented Programming, Mira Mezini (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 609--633."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2013.6606624"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1882291.1882327"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.14778\/1920841.1920853"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1016\/B978-012088469-8.50096-6"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/3299869.3314035"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1321631.1321643"},{"key":"e_1_2_1_14_1","volume-title":"Using Automatic Workload Repository for Database Tuning: Tips for Expert DBAs. Oracle. Retrieved","author":"Engeleiter Kurt","year":"2023","unstructured":"Kurt Engeleiter. 2009. Using Automatic Workload Repository for Database Tuning: Tips for Expert DBAs. Oracle. Retrieved July 7, 2023 from https:\/\/www.oracle.com\/technetwork\/database\/manageability\/diag-pack-ow09-133950.pdf"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2017.2755013"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/2568225.2568303"},{"key":"e_1_2_1_17_1","first-page":"1","article-title":"Achieving Cost-Effective Software Reliability Through Self-Healing","volume":"29","author":"Gorla Alessandra","year":"2012","unstructured":"Alessandra Gorla, Mauro Pezz\u00e8, Jochen Wuttke, Leonardo Mariani, and Fabrizio Pastore. 2012. Achieving Cost-Effective Software Reliability Through Self-Healing. COMPUTING AND INFORMATICS 29, 1 (Jan. 2012), 93--115. https:\/\/www.cai.sk\/ojs\/index.php\/cai\/article\/view\/75","journal-title":"COMPUTING AND INFORMATICS"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2013.6606607"},{"key":"e_1_2_1_19_1","volume-title":"Characterizing Software Self-healing Systems","author":"Keromytis Angelos D.","unstructured":"Angelos D. Keromytis. 2007. Characterizing Software Self-healing Systems. In Computer Network Security, Vladimir Gorodetsky, Igor Kotenko, and Victor A. Skormin (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 22--33."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/3542700.3542703"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.14778\/3342263.3342644"},{"key":"e_1_2_1_22_1","volume-title":"Automatic tuning. Microsoft. Retrieved","year":"2023","unstructured":"Microsoft. 2023. Automatic tuning. Microsoft. Retrieved July 7, 2023 from https:\/\/learn.microsoft.com\/en-us\/sql\/relational-databases\/automatic-tuning\/automatic-tuning?view=sql-server-ver16"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/3105906"},{"key":"e_1_2_1_24_1","volume-title":"Automatic indexing with Oracle Database. Oracle. Retrieved","author":"Nanda Arup","year":"2023","unstructured":"Arup Nanda. 2021. Automatic indexing with Oracle Database. Oracle. Retrieved July 7, 2023 from https:\/\/www.oracle.com\/news\/connect\/oracle-database-automatic-indexing.html"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/3511808.3557124"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1975.6312842"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2014.25"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/3035918.3064029"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.14778\/1454159.1454175"}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/3611540.3611568","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,9,10]],"date-time":"2025-09-10T22:33:37Z","timestamp":1757543617000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/3611540.3611568"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,8]]},"references-count":29,"journal-issue":{"issue":"12","published-print":{"date-parts":[[2023,8]]}},"alternative-id":["10.14778\/3611540.3611568"],"URL":"https:\/\/doi.org\/10.14778\/3611540.3611568","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2023,8]]},"assertion":[{"value":"2023-08-01","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}