{"id":48486,"date":"2026-11-13T17:00:34","date_gmt":"2026-11-13T16:00:34","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=48486"},"modified":"2026-11-13T17:00:36","modified_gmt":"2026-11-13T16:00:36","slug":"json-and-oracle-19c","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/json-and-oracle-19c\/","title":{"rendered":"Json and Oracle 19c"},"content":{"rendered":"\n<h2 id=\"h-what-is-json\" class=\"wp-block-heading\">What is JSON<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/en.wikipedia.org\/wiki\/JSON\" data-type=\"link\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/JSON\">JSON (JavaScript Object Notation)<\/a> is a lightweight text format for storing and exchanging structured data. The information is organized as key\u2013value pairs and lists.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Assume we have server certificates in json form:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: yaml; gutter: false; title: ; notranslate\" title=\"\">\n{\n  &quot;subject&quot;:     &quot;C=CH, ST=Zurich, ...&quot;, \n  &quot;certificate&quot;: &quot;-----BEGIN CERTIFICATE----...&quot;, \n  &quot;valid_until&quot;: &quot;2027-07-28&quot; \n}\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Or as a one-liner<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: yaml; gutter: false; title: ; notranslate\" title=\"\">\n{  &quot;subject&quot;: &quot;C=CH, ST=Zurich, ...&quot;, &quot;certificate&quot;: &quot;-----BEGIN CERTIFICATE----...&quot;, &quot;valid_until&quot;: &quot;2027-07-28&quot;}\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">As we can see, that&#8217;s simple ASCII text. And the certificate is usually around 2KB. So that it easily fits in a VARCHAR2(4000) field. For the database it is still a piece of text. That means, we can use it in all database releases. The content has to be parsed in the application.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; gutter: false; title: ; notranslate\" title=\"\">\ncreate table servers (\n  servername varchar2(128),\n  certificate varchar2(4000),\n  constraint SERVERS_PK primary KEY (SERVERNAME)\n);\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; gutter: false; title: ; notranslate\" title=\"\">\ninsert into servers (servername, certificate)  values (\n &#039;server01&#039;,\n &#039;{ &quot;subject&quot;: &quot;C=CH, ST=Zurich, ...&quot;, &quot;certificate&quot;: &quot;-----BEGIN CERTIFICATE----...&quot;, &quot;valid_until&quot;: &quot;2027-07-28&quot; }&#039;\n);\n<\/pre><\/div>\n\n\n<h2 id=\"h-json-functionality-of-oracle-19c\" class=\"wp-block-heading\">Json-functionality of Oracle 19c<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">But wouldn&#8217;t it be nice if we can validate the input and select a field in the json like an Oracle field? Something like <code>select certificate.valid_until from servers;<\/code> ?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In Oracle 18c (or already before?), <a href=\"https:\/\/docs.oracle.com\/en\/database\/oracle\/oracle-database\/18\/adjsn\/json-in-oracle-database.html#GUID-A8A58B49-13A5-4F42-8EA0-508951DAE0BB\">Oracle introduced<\/a> some json functions. And there is a trigger validating that it is valid json.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; gutter: false; title: ; notranslate\" title=\"\">\nalter table SERVERS add constraint SERVERS_CERT_JSON_CHECK check(CERTIFICATE is json) enable;\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">And with the json function <code>json_value<\/code> we can extract the different values of the json object.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; gutter: false; title: ; notranslate\" title=\"\">\nselect\n  SERVERNAME\n, json_value(CERTIFICATE, &#039;$.subject&#039;) subject\n, json_value(CERTIFICATE, &#039;$.valid_until&#039; returning date) valid_until\n, trunc(json_value(CERTIFICATE, &#039;$.valid_until&#039; returning date)-sysdate) valid_days\nfrom servers;\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"491\" height=\"45\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/11\/image-5.png\" alt=\"result of the select\" class=\"wp-image-48489\" style=\"width:491px;height:auto\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/11\/image-5.png 491w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/11\/image-5-300x27.png 300w\" sizes=\"auto, (max-width: 491px) 100vw, 491px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Nice, it works. We can use json fields like &#8220;normal&#8221; database fields.<br>Somewhere I have seen an example that it should work easier in the form TABLE_FIELD.JSON_FIELD, but&#8230;<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; gutter: false; title: ; notranslate\" title=\"\">\nSQL&gt; select certificate.valid_until from servers;\nselect certificate.valid_until from servers\n       *\nERROR at line 1:\nORA-00904: &quot;CERTIFICATE&quot;.&quot;VALID_UNTIL&quot;: invalid identifier\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Days later, I have seen such a working example again. But what was the difference? There was a query involving several tables, but in my case, there was only one. I tried to join SERVERS with another table. That still did not work. Then I noticed that table aliases were being used. I also added one, but with that, it still didn&#8217;t work. The only difference that remained was that they used the table alias as a prefix for the field name. With this change, also my query worked as hoped.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; gutter: false; title: ; notranslate\" title=\"\">\nSQL&gt; select s.certificate.valid_until from servers s;\n\nVALID_UNTIL\n--------------------------------------------------------------------------------\n2027-07-28\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">To me, that seems illogical and inconsistent. There&#8217;s no naming conflict here. And <code>select certificate from servers;<\/code> also works without alias. For me, it&#8217;s a bug, but we have a suitable workaround. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Our query above, we can now simplify it:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; gutter: false; title: ; notranslate\" title=\"\">\nselect \n  s.SERVERNAME\n, s.CERTIFICATE.subject\n, s.CERTIFICATE.valid_until\n, trunc(to_date(s.CERTIFICATE.valid_until,&#039;yyyy-mm-dd&#039;)-sysdate) valid_days\nfrom servers s;\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"487\" height=\"46\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/11\/image-7.png\" alt=\"result of the simplified select\" class=\"wp-image-48526\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/11\/image-7.png 487w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/11\/image-7-300x28.png 300w\" sizes=\"auto, (max-width: 487px) 100vw, 487px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is JSON JSON (JavaScript Object Notation) is a lightweight text format for storing and exchanging structured data. The information is organized as key\u2013value pairs and lists. Assume we have server certificates in json form: Or as a one-liner As we can see, that&#8217;s simple ASCII text. And the certificate is usually around 2KB. So&hellip;&nbsp;<\/p>\n","protected":false},"author":123,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","neve_meta_reading_time":"","_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[4133,59],"tags":[],"class_list":["post-48486","post","type-post","status-publish","format-standard","hentry","category-database","category-oracle"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.8 (Yoast SEO v28.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Json and Oracle 19c - dbi services | Blog<\/title>\n<meta name=\"description\" content=\"json and oracle - how to combine the relational and the developer-driven world? With Oracle 18c+ there are some functions available\" \/>\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.dbi-services.com\/blog\/json-and-oracle-19c\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Json and Oracle 19c\" \/>\n<meta property=\"og:description\" content=\"json and oracle - how to combine the relational and the developer-driven world? With Oracle 18c+ there are some functions available\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/json-and-oracle-19c\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi services | Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/dbiservices\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-11-13T16:00:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-11-13T16:00:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/11\/image-5.png\" \/>\n\t<meta property=\"og:image:width\" content=\"491\" \/>\n\t<meta property=\"og:image:height\" content=\"45\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Martin Bracher\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@dbiservices\" \/>\n<meta name=\"twitter:site\" content=\"@dbiservices\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Martin Bracher\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/json-and-oracle-19c\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/json-and-oracle-19c\\\/\"},\"author\":{\"name\":\"Martin Bracher\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/0f2e8e5d3ccbf8a0917dd46e6956367c\"},\"headline\":\"Json and Oracle 19c\",\"datePublished\":\"2026-11-13T16:00:34+00:00\",\"dateModified\":\"2026-11-13T16:00:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/json-and-oracle-19c\\\/\"},\"wordCount\":325,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/json-and-oracle-19c\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/image-5.png\",\"articleSection\":[\"Database\",\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/json-and-oracle-19c\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/json-and-oracle-19c\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/json-and-oracle-19c\\\/\",\"name\":\"Json and Oracle 19c - dbi services | Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/json-and-oracle-19c\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/json-and-oracle-19c\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/image-5.png\",\"datePublished\":\"2026-11-13T16:00:34+00:00\",\"dateModified\":\"2026-11-13T16:00:36+00:00\",\"description\":\"json and oracle - how to combine the relational and the developer-driven world? With Oracle 18c+ there are some functions available\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/json-and-oracle-19c\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/json-and-oracle-19c\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/json-and-oracle-19c\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/image-5.png\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/image-5.png\",\"width\":491,\"height\":45},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/json-and-oracle-19c\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Json and Oracle 19c\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi services Blog\",\"description\":\"#BeSharing\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#organization\"},\"alternateName\":\"dbi Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#organization\",\"name\":\"dbi services\",\"alternateName\":\"dbi\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/dbi-services-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/dbi-services-logo.png\",\"width\":512,\"height\":512,\"caption\":\"dbi services\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/dbiservices\\\/\",\"https:\\\/\\\/x.com\\\/dbiservices\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/dbi-services\\\/\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/dbiservices\"],\"description\":\"Swiss IT consulting and services company specialised in efficient data infrastructures and platforms: databases, application servers, cloud, DevOps, digitalization, analytics, data quality and monitoring. Headquartered in Del\u00e9mont with offices in Nyon, Basel, Bern and Zurich.\",\"email\":\"info@dbi-services.com\",\"telephone\":\"+41 32 422 96 00\",\"legalName\":\"dbi services SA\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/0f2e8e5d3ccbf8a0917dd46e6956367c\",\"name\":\"Martin Bracher\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/martin_bracher_2048x1536.jpg\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/martin_bracher_2048x1536.jpg\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/martin_bracher_2048x1536.jpg\",\"caption\":\"Martin Bracher\"},\"description\":\"Martin Bracher has more than 25 years of experience managing Oracle infrastructures, specializing in high availability (Data Guard, Grid Infrastructure), migrations, and automation with Shell scripting, Ansible, and Saltstack. He leads the Grid Infrastructure Workshop and contributes to the development of the DMK Database Management Kit and the YaK Oracle component. Prior to dbi services, he was Principal Consultant at Trivadis AG (Accenture) and Consultant at Opitz Consulting and CSC Ploenzke. He holds a Dipl. Phil. Nat. in Informatics from the University of Bern. His industry experience covers banking, telecommunications, and public administration.\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/martin-bracher\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Json and Oracle 19c - dbi services | Blog","description":"json and oracle - how to combine the relational and the developer-driven world? With Oracle 18c+ there are some functions available","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.dbi-services.com\/blog\/json-and-oracle-19c\/","og_locale":"en_US","og_type":"article","og_title":"Json and Oracle 19c","og_description":"json and oracle - how to combine the relational and the developer-driven world? With Oracle 18c+ there are some functions available","og_url":"https:\/\/www.dbi-services.com\/blog\/json-and-oracle-19c\/","og_site_name":"dbi services | Blog","article_publisher":"https:\/\/www.facebook.com\/dbiservices\/","article_published_time":"2026-11-13T16:00:34+00:00","article_modified_time":"2026-11-13T16:00:36+00:00","og_image":[{"width":491,"height":45,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/11\/image-5.png","type":"image\/png"}],"author":"Martin Bracher","twitter_card":"summary_large_image","twitter_creator":"@dbiservices","twitter_site":"@dbiservices","twitter_misc":{"Written by":"Martin Bracher","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/json-and-oracle-19c\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/json-and-oracle-19c\/"},"author":{"name":"Martin Bracher","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/0f2e8e5d3ccbf8a0917dd46e6956367c"},"headline":"Json and Oracle 19c","datePublished":"2026-11-13T16:00:34+00:00","dateModified":"2026-11-13T16:00:36+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/json-and-oracle-19c\/"},"wordCount":325,"commentCount":0,"publisher":{"@id":"https:\/\/www.dbi-services.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/json-and-oracle-19c\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/11\/image-5.png","articleSection":["Database","Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/json-and-oracle-19c\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/json-and-oracle-19c\/","url":"https:\/\/www.dbi-services.com\/blog\/json-and-oracle-19c\/","name":"Json and Oracle 19c - dbi services | Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/json-and-oracle-19c\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/json-and-oracle-19c\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/11\/image-5.png","datePublished":"2026-11-13T16:00:34+00:00","dateModified":"2026-11-13T16:00:36+00:00","description":"json and oracle - how to combine the relational and the developer-driven world? With Oracle 18c+ there are some functions available","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/json-and-oracle-19c\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/json-and-oracle-19c\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/json-and-oracle-19c\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/11\/image-5.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/11\/image-5.png","width":491,"height":45},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/json-and-oracle-19c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Json and Oracle 19c"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi services Blog","description":"#BeSharing","publisher":{"@id":"https:\/\/www.dbi-services.com\/blog\/#organization"},"alternateName":"dbi Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dbi-services.com\/blog\/#organization","name":"dbi services","alternateName":"dbi","url":"https:\/\/www.dbi-services.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/09\/dbi-services-logo.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/09\/dbi-services-logo.png","width":512,"height":512,"caption":"dbi services"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/dbiservices\/","https:\/\/x.com\/dbiservices","https:\/\/www.linkedin.com\/company\/dbi-services\/","https:\/\/www.youtube.com\/user\/dbiservices"],"description":"Swiss IT consulting and services company specialised in efficient data infrastructures and platforms: databases, application servers, cloud, DevOps, digitalization, analytics, data quality and monitoring. Headquartered in Del\u00e9mont with offices in Nyon, Basel, Bern and Zurich.","email":"info@dbi-services.com","telephone":"+41 32 422 96 00","legalName":"dbi services SA"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/0f2e8e5d3ccbf8a0917dd46e6956367c","name":"Martin Bracher","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2025\/05\/martin_bracher_2048x1536.jpg","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2025\/05\/martin_bracher_2048x1536.jpg","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2025\/05\/martin_bracher_2048x1536.jpg","caption":"Martin Bracher"},"description":"Martin Bracher has more than 25 years of experience managing Oracle infrastructures, specializing in high availability (Data Guard, Grid Infrastructure), migrations, and automation with Shell scripting, Ansible, and Saltstack. He leads the Grid Infrastructure Workshop and contributes to the development of the DMK Database Management Kit and the YaK Oracle component. Prior to dbi services, he was Principal Consultant at Trivadis AG (Accenture) and Consultant at Opitz Consulting and CSC Ploenzke. He holds a Dipl. Phil. Nat. in Informatics from the University of Bern. His industry experience covers banking, telecommunications, and public administration.","url":"https:\/\/www.dbi-services.com\/blog\/author\/martin-bracher\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/48486","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/123"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=48486"}],"version-history":[{"count":7,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/48486\/revisions"}],"predecessor-version":[{"id":48554,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/48486\/revisions\/48554"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=48486"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=48486"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=48486"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}