{"id":14945,"date":"2023-02-08T09:52:45","date_gmt":"2023-02-08T12:52:45","guid":{"rendered":"https:\/\/www.dbarj.com.br\/?p=14945"},"modified":"2023-02-08T09:53:00","modified_gmt":"2023-02-08T12:53:00","slug":"generate-apex-application-checksum-in-pl-sql","status":"publish","type":"post","link":"https:\/\/www.dbarj.com.br\/en\/2023\/02\/generate-apex-application-checksum-in-pl-sql\/","title":{"rendered":"Generate APEX application checksum in PL\/SQL"},"content":{"rendered":"<p>In Oracle APEX, generating the application checksum is useful to compare if the application you have running in one workspace is an exact copy of the application running somewhere else.<\/p>\n<p>To create this checksum, you can go into <strong>Utilities -&gt; Application Checksum<\/strong>.<\/p>\n<p id=\"DJeglGL\"><img loading=\"lazy\" decoding=\"async\" width=\"599\" height=\"221\" class=\"alignnone size-full wp-image-14946 \" src=\"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2023\/02\/img_63e39967120fb.png\" alt=\"\" srcset=\"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2023\/02\/img_63e39967120fb.png 599w, https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2023\/02\/img_63e39967120fb-300x111.png 300w\" sizes=\"auto, (max-width: 599px) 100vw, 599px\" \/><\/p>\n<p>However, it is not very well documented how you could generate this checksum using PL\/SQL to automatically check it using some code or even implement it via REST.<\/p>\n<p>Here is the solution:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"oracledb\">set serverout on\r\ndeclare\r\n    l_files apex_t_export_files;\r\nbegin\r\n   -- Print SH1\r\n    l_files   := apex_export.get_application(p_application_id =&gt; 101, p_type =&gt; 'CHECKSUM-SH1');\r\n    dbms_output.put_line(l_files(1).contents);\r\n   -- Print SH256\r\n    l_files   := apex_export.get_application(p_application_id =&gt; 101, p_type =&gt; 'CHECKSUM-SH256');\r\n    dbms_output.put_line(l_files(1).contents);\r\nend;\r\n\/\r\n\r\nSH1:lGbYh4kq0oKFIA7pi7qJuPi+NsY=\r\nSH256:hGDThkXNl5PrVZCDpRUfq0JoqMI0\/njt94ZxQLN7HDA=<\/pre>\n<b>Have you enjoyed? Please leave a comment or give a \ud83d\udc4d!<\/b>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style2 like-14945 jlk' href='javascript:void(0)' data-task='like' data-post_id='14945' data-nonce='de4404f630' rel='nofollow'><img class='wti-pixel' src='https:\/\/www.dbarj.com.br\/wp-content\/plugins\/wti-like-post\/images\/pixel.gif' title='Like' \/><span class='lc-14945 lc'>+3<\/span><\/a><\/div><\/div> <div class='status-14945 status align-left'><\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>In Oracle APEX, generating the application checksum is useful to compare if the application you have running in one workspace is an exact copy of the application running somewhere else. To create this checksum, you can go into Utilities -&gt; Application Checksum. However, it is not very well documented how you could generate this checksum &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/www.dbarj.com.br\/en\/2023\/02\/generate-apex-application-checksum-in-pl-sql\/\">Continue reading<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[59],"tags":[],"class_list":["post-14945","post","type-post","status-publish","format-standard","hentry","category-apex","item-wrap"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Generate APEX application checksum in PL\/SQL - DBA - Rodrigo Jorge - Oracle Tips and Guides<\/title>\n<meta name=\"description\" content=\"This post will show how to generate Oracle APEX Application checksum in PL\/SQL, in SH1 and SH256 formats.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbarj.com.br\/en\/2023\/02\/generate-apex-application-checksum-in-pl-sql\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DBA RJ\" \/>\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:\\\/\\\/www.dbarj.com.br\\\/en\\\/2023\\\/02\\\/generate-apex-application-checksum-in-pl-sql\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2023\\\/02\\\/generate-apex-application-checksum-in-pl-sql\\\/\"},\"author\":{\"name\":\"DBA RJ\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\"},\"headline\":\"Generate APEX application checksum in PL\\\/SQL\",\"datePublished\":\"2023-02-08T12:52:45+00:00\",\"dateModified\":\"2023-02-08T12:53:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2023\\\/02\\\/generate-apex-application-checksum-in-pl-sql\\\/\"},\"wordCount\":87,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2023\\\/02\\\/generate-apex-application-checksum-in-pl-sql\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/img_63e39967120fb.png\",\"articleSection\":[\"APEX\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2023\\\/02\\\/generate-apex-application-checksum-in-pl-sql\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2023\\\/02\\\/generate-apex-application-checksum-in-pl-sql\\\/\",\"url\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2023\\\/02\\\/generate-apex-application-checksum-in-pl-sql\\\/\",\"name\":\"Generate APEX application checksum in PL\\\/SQL - DBA - Rodrigo Jorge - Oracle Tips and Guides\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2023\\\/02\\\/generate-apex-application-checksum-in-pl-sql\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2023\\\/02\\\/generate-apex-application-checksum-in-pl-sql\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/img_63e39967120fb.png\",\"datePublished\":\"2023-02-08T12:52:45+00:00\",\"dateModified\":\"2023-02-08T12:53:00+00:00\",\"description\":\"This post will show how to generate Oracle APEX Application checksum in PL\\\/SQL, in SH1 and SH256 formats.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2023\\\/02\\\/generate-apex-application-checksum-in-pl-sql\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2023\\\/02\\\/generate-apex-application-checksum-in-pl-sql\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2023\\\/02\\\/generate-apex-application-checksum-in-pl-sql\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/img_63e39967120fb.png\",\"contentUrl\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/img_63e39967120fb.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2023\\\/02\\\/generate-apex-application-checksum-in-pl-sql\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Generate APEX application checksum in PL\\\/SQL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/\",\"name\":\"DBA - Rodrigo Jorge - Oracle Tips and Guides\",\"description\":\"Blog about Databases, Security and High Availability\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\",\"name\":\"DBA RJ\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/RodrigoJorgePOUG19.png\",\"url\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/RodrigoJorgePOUG19.png\",\"contentUrl\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/RodrigoJorgePOUG19.png\",\"width\":712,\"height\":712,\"caption\":\"DBA RJ\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/RodrigoJorgePOUG19.png\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Generate APEX application checksum in PL\/SQL - DBA - Rodrigo Jorge - Oracle Tips and Guides","description":"This post will show how to generate Oracle APEX Application checksum in PL\/SQL, in SH1 and SH256 formats.","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:\/\/www.dbarj.com.br\/en\/2023\/02\/generate-apex-application-checksum-in-pl-sql\/","twitter_misc":{"Written by":"DBA RJ","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbarj.com.br\/en\/2023\/02\/generate-apex-application-checksum-in-pl-sql\/#article","isPartOf":{"@id":"https:\/\/www.dbarj.com.br\/en\/2023\/02\/generate-apex-application-checksum-in-pl-sql\/"},"author":{"name":"DBA RJ","@id":"https:\/\/www.dbarj.com.br\/en\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9"},"headline":"Generate APEX application checksum in PL\/SQL","datePublished":"2023-02-08T12:52:45+00:00","dateModified":"2023-02-08T12:53:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbarj.com.br\/en\/2023\/02\/generate-apex-application-checksum-in-pl-sql\/"},"wordCount":87,"commentCount":2,"publisher":{"@id":"https:\/\/www.dbarj.com.br\/en\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9"},"image":{"@id":"https:\/\/www.dbarj.com.br\/en\/2023\/02\/generate-apex-application-checksum-in-pl-sql\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2023\/02\/img_63e39967120fb.png","articleSection":["APEX"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbarj.com.br\/en\/2023\/02\/generate-apex-application-checksum-in-pl-sql\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbarj.com.br\/en\/2023\/02\/generate-apex-application-checksum-in-pl-sql\/","url":"https:\/\/www.dbarj.com.br\/en\/2023\/02\/generate-apex-application-checksum-in-pl-sql\/","name":"Generate APEX application checksum in PL\/SQL - DBA - Rodrigo Jorge - Oracle Tips and Guides","isPartOf":{"@id":"https:\/\/www.dbarj.com.br\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbarj.com.br\/en\/2023\/02\/generate-apex-application-checksum-in-pl-sql\/#primaryimage"},"image":{"@id":"https:\/\/www.dbarj.com.br\/en\/2023\/02\/generate-apex-application-checksum-in-pl-sql\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2023\/02\/img_63e39967120fb.png","datePublished":"2023-02-08T12:52:45+00:00","dateModified":"2023-02-08T12:53:00+00:00","description":"This post will show how to generate Oracle APEX Application checksum in PL\/SQL, in SH1 and SH256 formats.","breadcrumb":{"@id":"https:\/\/www.dbarj.com.br\/en\/2023\/02\/generate-apex-application-checksum-in-pl-sql\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbarj.com.br\/en\/2023\/02\/generate-apex-application-checksum-in-pl-sql\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbarj.com.br\/en\/2023\/02\/generate-apex-application-checksum-in-pl-sql\/#primaryimage","url":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2023\/02\/img_63e39967120fb.png","contentUrl":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2023\/02\/img_63e39967120fb.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbarj.com.br\/en\/2023\/02\/generate-apex-application-checksum-in-pl-sql\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.dbarj.com.br\/en\/"},{"@type":"ListItem","position":2,"name":"Generate APEX application checksum in PL\/SQL"}]},{"@type":"WebSite","@id":"https:\/\/www.dbarj.com.br\/en\/#website","url":"https:\/\/www.dbarj.com.br\/en\/","name":"DBA - Rodrigo Jorge - Oracle Tips and Guides","description":"Blog about Databases, Security and High Availability","publisher":{"@id":"https:\/\/www.dbarj.com.br\/en\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbarj.com.br\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.dbarj.com.br\/en\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9","name":"DBA RJ","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2019\/09\/RodrigoJorgePOUG19.png","url":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2019\/09\/RodrigoJorgePOUG19.png","contentUrl":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2019\/09\/RodrigoJorgePOUG19.png","width":712,"height":712,"caption":"DBA RJ"},"logo":{"@id":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2019\/09\/RodrigoJorgePOUG19.png"}}]}},"_links":{"self":[{"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/posts\/14945","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/comments?post=14945"}],"version-history":[{"count":1,"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/posts\/14945\/revisions"}],"predecessor-version":[{"id":14948,"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/posts\/14945\/revisions\/14948"}],"wp:attachment":[{"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/media?parent=14945"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/categories?post=14945"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/tags?post=14945"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}