{"id":2336,"date":"2026-02-10T22:01:01","date_gmt":"2026-02-10T20:01:01","guid":{"rendered":"https:\/\/www.ludovicocaldara.net\/dba\/?p=2336"},"modified":"2026-02-10T22:01:01","modified_gmt":"2026-02-10T20:01:01","slug":"dg26ai-sqlcl","status":"publish","type":"post","link":"https:\/\/www.ludovicocaldara.net\/dba\/dg26ai-sqlcl\/","title":{"rendered":"Data Guard 26ai &#8211; #11: SQLcl support for Data Guard commands"},"content":{"rendered":"<p dir=\"auto\"><a href=\"https:\/\/www.ludovicocaldara.net\/dba\/dg-26ai-series\/\">This post is part of a blog series.<\/a><\/p>\n<p dir=\"auto\">The PL\/SQL APIs published for general use in 26ai have also powered <a href=\"https:\/\/www.oracle.com\/database\/sqldeveloper\/technologies\/sqlcl\/\">SQLcl\u2019s<\/a> command line for some time. <a href=\"https:\/\/www.thatjeffsmith.com\/archive\/2022\/04\/oracle-sqlcl-22-1-is-now-available-featuring-data-guard\/\">SQLcl has supported Data Guard commands since version 21c<\/a>. It&#8217;s another nice addition that you get when upgrading from 19c.<\/p>\n<p dir=\"auto\">SQLcl is a robust Java-based command line tool that excels at running SQL and can also (incomplete list):<\/p>\n<ul class=\"\" dir=\"auto\">\n<li class=\"text-start \">launch Data Pump jobs<\/li>\n<li class=\"text-start \">retrieve metadata<\/li>\n<li class=\"text-start \">run Liquibase commands<\/li>\n<li class=\"text-start \">manage projects<\/li>\n<li class=\"text-start \">operate as an MCP server for natural language queries<\/li>\n<li class=\"text-start \">and now, execute Data Guard commands<\/li>\n<\/ul>\n<p dir=\"auto\">To run a Data Guard command, simply prefix a standard DGMGRL command with &#8220;DG &#8221; in your SQLcl session.<\/p>\n<div class=\"my-2\"><a href=\"https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/dg26ai-sqlcl-scaled.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-2337\" src=\"https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/dg26ai-sqlcl-1024x392.png\" alt=\"The list of DG commands available in SQLcl is shown when running the command &quot;help dg&quot;\" width=\"584\" height=\"224\" srcset=\"https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/dg26ai-sqlcl-1024x392.png 1024w, https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/dg26ai-sqlcl-300x115.png 300w, https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/dg26ai-sqlcl-768x294.png 768w, https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/dg26ai-sqlcl-1536x588.png 1536w, https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/dg26ai-sqlcl-2048x784.png 2048w, https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/dg26ai-sqlcl-500x191.png 500w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><\/div>\n<p dir=\"auto\">While not every Data Guard feature is available\u2014some validation commands are missing\u2014core management commands work without issue. The real advantage is convenience: you can use both SQL and Data Guard commands from the same interface, no need to switch tools.<\/p>\n<p dir=\"auto\">Looking ahead, we plan to add more features, and SQLcl will eventually become our recommended tool for Data Guard. Today, you can switch between SQLcl and DGMGRL as needed. Note: Observer functionality remains unique to DGMGRL; SQLcl does not yet support it.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SQLcl supports core Data Guard commands and powerful database tools\u2014all in one interface. Use \u201cDG\u201d to run Data Guard; some features may need DGMGRL. <a href=\"https:\/\/www.ludovicocaldara.net\/dba\/dg26ai-sqlcl\/\">Continue reading <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":[375,329],"tags":[],"class_list":["post-2336","post","type-post","status-publish","format-standard","hentry","category-oracle-ai-database-26ai","category-oracle-dg"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/posts\/2336","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/comments?post=2336"}],"version-history":[{"count":3,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/posts\/2336\/revisions"}],"predecessor-version":[{"id":2417,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/posts\/2336\/revisions\/2417"}],"wp:attachment":[{"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/media?parent=2336"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/categories?post=2336"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/tags?post=2336"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}