{"id":22866,"date":"2023-02-23T18:32:00","date_gmt":"2023-02-23T17:32:00","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=22866"},"modified":"2023-06-20T10:24:47","modified_gmt":"2023-06-20T08:24:47","slug":"oracle-tde-part-i-configuring-the-encryption","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/oracle-tde-part-i-configuring-the-encryption\/","title":{"rendered":"Oracle TDE part I : Configuring the Encryption"},"content":{"rendered":"\n<p><strong>By Mouhamadou Diaw<\/strong><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Oracle gives us some tools to secure our data in transit and in rest.<\/p>\n\n\n\n<p>Oracle Transparent Data Encryption will allow us to encrypt data in rest. Oracle TDE need The Oracle Advanced Security License<\/p>\n\n\n\n<p>Oracle TDE allow to do encryption at 2 levels<\/p>\n\n\n\n<p>-Tablespace Level<\/p>\n\n\n\n<p>-Table column level<\/p>\n\n\n\n<p>In this first part of this blog, we will see how we can set up the TDE in a multitenant database. Documentation can be found <a href=\"https:\/\/docs.oracle.com\/en\/database\/oracle\/oracle-database\/19\/asoag\/configuring-transparent-data-encryption.html\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a><\/p>\n\n\n\n<p>In a multitenant environment we have two modes for configuring TDE<\/p>\n\n\n\n<p>-The united mode where the keystore is managed at CDB$ROOT. <\/p>\n\n\n\n<p>-The  isolated mode which allow PDBs to independently create and manage their own keystore. An isolated mode PDB can have its own keystore, independent of the keystore of the CDB root.<\/p>\n\n\n\n<p>In this blog we are using united mode<\/p>\n\n\n\n<p><a><strong>&#8211;<\/strong><\/a><strong>Configuring initialization related parameters<\/strong><\/p>\n\n\n\n<p>Create first a directory for to store the TDE master encryption key<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>oracle@svoradl02:~]$ mkdir -p \/u01\/app\/oracle\/admin\/CDB19P\/tde_wallet\n\noracle@svoradl02:\/u01\/app\/oracle\/admin\/CDB19P\/tde_wallet\/ &#091;CDB19P] ls -ld \/u01\/app\/oracle\/admin\/CDB19P\/tde_wallet\ndrwxr-xr-x. 2 oracle oinstall 6 Feb 22 09:33 \/u01\/app\/oracle\/admin\/CDB19P\/tde_wallet\noracle@svoradl02:\/u01\/app\/oracle\/admin\/CDB19P\/tde_wallet\/ &#091;CDB19P]\n<\/code><\/pre>\n\n\n\n<p>On cdb$root change the parameter wallet_root to point to this directory<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SQL&gt; select name from v$database;\n\nNAME\n---------\nCDB19P\n\nSQL&gt; show con_name\n\nCON_NAME\n------------------------------\nCDB$ROOT\nSQL&gt;\n\n\nSQL&gt; alter system set wallet_root='\/u01\/app\/oracle\/admin\/CDB19P\/tde_wallet' scope=spfile;\n\nSystem altered.\n\nSQL&gt;\n<\/code><\/pre>\n\n\n\n<p>Bounce the database<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SQL&gt; shut immediate\nDatabase closed.\nDatabase dismounted.\nORACLE instance shut down.\nSQL&gt; startup\nORACLE instance started.\n\nTotal System Global Area 6442450048 bytes\nFixed Size                  9178240 bytes\nVariable Size            1644167168 bytes\nDatabase Buffers         4781506560 bytes\nRedo Buffers                7598080 bytes\nDatabase mounted.\nDatabase opened.\n<\/code><\/pre>\n\n\n\n<p>Verify the value of the parameter wallet_root<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SQL&gt; show parameter wallet_root\n\nNAME                                 TYPE        VALUE\n------------------------------------ ----------- ------------------------------\nwallet_root                          string      \/u01\/app\/oracle\/admin\/CDB19P\/\n                                                 tde_wallet\nSQL&gt;\n<\/code><\/pre>\n\n\n\n<p>As we will use a file, let\u2019s set the parameter TDE_CONFIGURATION to FILE<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SQL&gt; ALTER SYSTEM SET TDE_CONFIGURATION=\"KEYSTORE_CONFIGURATION=FILE\" scope=both;\n\nSystem altered.\n\nSQL&gt; show parameter tde_configuration\n\nNAME                                 TYPE        VALUE\n------------------------------------ ----------- ------------------------------\ntde_configuration                    string      KEYSTORE_CONFIGURATION=FILE\nSQL&gt;\n<\/code><\/pre>\n\n\n\n<p>At this moment we can validate that the keystore_mode is UNITED for the PDBS<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SQL&gt; SELECT CON_ID, KEYSTORE_MODE FROM V$ENCRYPTION_WALLET;\n\n    CON_ID KEYSTORE\n---------- --------\n         1 NONE\n         2 UNITED\n         3 UNITED\n         5 UNITED\n<\/code><\/pre>\n\n\n\n<p><a><strong>-Create the Software Keystore<\/strong><\/a><strong><\/strong><\/p>\n\n\n\n<p>The software keystore will be in the CDB root but the master keys from this keystore will be &nbsp;available for the PDBs that have their keystore in united mode.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SQL&gt; show con_name\n\nCON_NAME\n------------------------------\nCDB$ROOT\nSQL&gt; ADMINISTER KEY MANAGEMENT CREATE KEYSTORE IDENTIFIED BY secret1;\n\nkeystore altered.\n\nSQL&gt;\n<\/code><\/pre>\n\n\n\n<p>If there is no error a sub-directory tde will be created and will contain following file<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SQL&gt; host ls -l \/u01\/app\/oracle\/admin\/CDB19P\/tde_wallet\/tde\ntotal 4\n-rw-------. 1 oracle oinstall 2555 Feb 22 09:49 ewallet.p12\n\nSQL&gt;\n<\/code><\/pre>\n\n\n\n<p><a><strong>-Create a password-protected software keystore<\/strong><\/a><strong><\/strong><\/p>\n\n\n\n<p>Then create a password for the software keystore<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SQL&gt; ADMINISTER KEY MANAGEMENT CREATE KEYSTORE '\/u01\/app\/oracle\/admin\/CDB19P\/tde_wallet'  IDENTIFIED BY secret1;\n\nkeystore altered.\n\nSQL&gt;\n<\/code><\/pre>\n\n\n\n<p><a><strong>-Create the auto-login or local auto-login<\/strong><\/a><strong><\/strong><\/p>\n\n\n\n<p>The keystore should be opened every time the database is opened. To automatically open the keystore at database startup, we can create an auto-login file<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SQL&gt; ADMINISTER KEY MANAGEMENT CREATE AUTO_LOGIN KEYSTORE FROM KEYSTORE '\/u01\/app\/oracle\/admin\/CDB19P\/tde_wallet\/tde' IDENTIFIED BY secret1;\n\nkeystore altered.\n<\/code><\/pre>\n\n\n\n<p>A .sso file should exist now<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SQL&gt; host ls -l \/u01\/app\/oracle\/admin\/CDB19P\/tde_wallet\/tde\ntotal 8\n-rw-------. 1 oracle oinstall 2600 Feb 22 09:53 cwallet.sso\n-rw-------. 1 oracle oinstall 2555 Feb 22 09:49 ewallet.p12\n\nSQL&gt;\n<\/code><\/pre>\n\n\n\n<p><a><strong>-Opening the Software Keystore<\/strong><\/a><strong><\/strong><\/p>\n\n\n\n<p>The software keystore should be open in cdb$root and in any concerned PDB<\/p>\n\n\n\n<p>&#8211; on &nbsp;cdb$root<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SQL&gt; show con_name\n\nCON_NAME\n------------------------------\nCDB$ROOT\n\nSQL&gt; ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN  IDENTIFIED BY secret1;\n\nkeystore altered.\n<\/code><\/pre>\n\n\n\n<p>&#8211; on the PDB<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SQL&gt; show pdbs\n\n    CON_ID CON_NAME                       OPEN MODE  RESTRICTED\n---------- ------------------------------ ---------- ----------\n         2 PDB$SEED                       READ ONLY  NO\n         3 PDB1                           READ WRITE NO\n         5 PDB1CLONE                      MOUNTED\nSQL&gt;\n\n\nSQL&gt; alter session set container=PDB1;\n\nSession altered.\n\nSQL&gt; show con_name\n\nCON_NAME\n------------------------------\nPDB1\nSQL&gt;\n\n\nSQL&gt; ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN  IDENTIFIED BY secret1;\n\nkeystore altered.\n\nSQL&gt;\n<\/code><\/pre>\n\n\n\n<p><a><strong>-Setting the TDE Master Encryption Key<\/strong><\/a><strong><\/strong><\/p>\n\n\n\n<p>&#8211; On &nbsp;both CDB$ROOT and PDB1 run following command<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SQL&gt; show con_name\n\nCON_NAME\n------------------------------\nCDB$ROOT\nSQL&gt;  administer key management set key FORCE KEYSTORE identified by secret1 with backup;\n\nkeystore altered.\n\nSQL&gt;\n<\/code><\/pre>\n\n\n\n<p>Validate that the master key is activated allowing us to use TDE<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SQL&gt; SELECT CON_ID,MASTERKEY_ACTIVATED FROM V$DATABASE_KEY_INFO;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion&nbsp; &nbsp;<\/h2>\n\n\n\n<p>TDE is now activated. In the second <a href=\"http:\/\/dbi-services.com\/blog\/oracle-tde-part-ii-encrypting-data\/\" target=\"_blank\" rel=\"noreferrer noopener\">part <\/a>we will see how we can encrypt data<\/p>\n","protected":false},"excerpt":{"rendered":"<p>By Mouhamadou Diaw Oracle gives us some tools to secure our data in transit and in rest. Oracle Transparent Data Encryption will allow us to encrypt data in rest. Oracle TDE need The Oracle Advanced Security License Oracle TDE allow to do encryption at 2 levels -Tablespace Level -Table column level In this first part [&hellip;]<\/p>\n","protected":false},"author":27,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229,198,59,149],"tags":[2857,1384,2856,2855],"type_dbi":[],"class_list":["post-22866","post","type-post","status-publish","format-standard","hentry","category-database-administration-monitoring","category-database-management","category-oracle","category-security","tag-online-tablespace-encryption","tag-oracle-security","tag-oracle-tde","tag-oracle-transparent-data-encryption"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Oracle TDE part I : Configuring the Encryption - dbi Blog<\/title>\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\/oracle-tde-part-i-configuring-the-encryption\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Oracle TDE part I : Configuring the Encryption\" \/>\n<meta property=\"og:description\" content=\"By Mouhamadou Diaw Oracle gives us some tools to secure our data in transit and in rest. Oracle Transparent Data Encryption will allow us to encrypt data in rest. Oracle TDE need The Oracle Advanced Security License Oracle TDE allow to do encryption at 2 levels -Tablespace Level -Table column level In this first part [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/oracle-tde-part-i-configuring-the-encryption\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-23T17:32:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-20T08:24:47+00:00\" \/>\n<meta name=\"author\" content=\"Oracle Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Oracle Team\" \/>\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:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-tde-part-i-configuring-the-encryption\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-tde-part-i-configuring-the-encryption\\\/\"},\"author\":{\"name\":\"Oracle Team\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/66ab87129f2d357f09971bc7936a77ee\"},\"headline\":\"Oracle TDE part I : Configuring the Encryption\",\"datePublished\":\"2023-02-23T17:32:00+00:00\",\"dateModified\":\"2023-06-20T08:24:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-tde-part-i-configuring-the-encryption\\\/\"},\"wordCount\":390,\"commentCount\":0,\"keywords\":[\"online tablespace encryption\",\"oracle security\",\"Oracle TDE\",\"oracle transparent data encryption\"],\"articleSection\":[\"Database Administration &amp; Monitoring\",\"Database management\",\"Oracle\",\"Security\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-tde-part-i-configuring-the-encryption\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-tde-part-i-configuring-the-encryption\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-tde-part-i-configuring-the-encryption\\\/\",\"name\":\"Oracle TDE part I : Configuring the Encryption - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"datePublished\":\"2023-02-23T17:32:00+00:00\",\"dateModified\":\"2023-06-20T08:24:47+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/66ab87129f2d357f09971bc7936a77ee\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-tde-part-i-configuring-the-encryption\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-tde-part-i-configuring-the-encryption\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-tde-part-i-configuring-the-encryption\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Oracle TDE part I : Configuring the Encryption\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"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\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/66ab87129f2d357f09971bc7936a77ee\",\"name\":\"Oracle Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g\",\"caption\":\"Oracle Team\"},\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/oracle-team\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Oracle TDE part I : Configuring the Encryption - dbi Blog","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\/oracle-tde-part-i-configuring-the-encryption\/","og_locale":"en_US","og_type":"article","og_title":"Oracle TDE part I : Configuring the Encryption","og_description":"By Mouhamadou Diaw Oracle gives us some tools to secure our data in transit and in rest. Oracle Transparent Data Encryption will allow us to encrypt data in rest. Oracle TDE need The Oracle Advanced Security License Oracle TDE allow to do encryption at 2 levels -Tablespace Level -Table column level In this first part [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/oracle-tde-part-i-configuring-the-encryption\/","og_site_name":"dbi Blog","article_published_time":"2023-02-23T17:32:00+00:00","article_modified_time":"2023-06-20T08:24:47+00:00","author":"Oracle Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Oracle Team","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/oracle-tde-part-i-configuring-the-encryption\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/oracle-tde-part-i-configuring-the-encryption\/"},"author":{"name":"Oracle Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"headline":"Oracle TDE part I : Configuring the Encryption","datePublished":"2023-02-23T17:32:00+00:00","dateModified":"2023-06-20T08:24:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/oracle-tde-part-i-configuring-the-encryption\/"},"wordCount":390,"commentCount":0,"keywords":["online tablespace encryption","oracle security","Oracle TDE","oracle transparent data encryption"],"articleSection":["Database Administration &amp; Monitoring","Database management","Oracle","Security"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/oracle-tde-part-i-configuring-the-encryption\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/oracle-tde-part-i-configuring-the-encryption\/","url":"https:\/\/www.dbi-services.com\/blog\/oracle-tde-part-i-configuring-the-encryption\/","name":"Oracle TDE part I : Configuring the Encryption - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2023-02-23T17:32:00+00:00","dateModified":"2023-06-20T08:24:47+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/oracle-tde-part-i-configuring-the-encryption\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/oracle-tde-part-i-configuring-the-encryption\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/oracle-tde-part-i-configuring-the-encryption\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Oracle TDE part I : Configuring the Encryption"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","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":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee","name":"Oracle Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g","caption":"Oracle Team"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/oracle-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/22866","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\/27"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=22866"}],"version-history":[{"count":9,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/22866\/revisions"}],"predecessor-version":[{"id":26153,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/22866\/revisions\/26153"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=22866"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=22866"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=22866"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=22866"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}