{"id":9970,"date":"2017-04-21T19:47:20","date_gmt":"2017-04-21T17:47:20","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/"},"modified":"2017-04-21T19:47:20","modified_gmt":"2017-04-21T17:47:20","slug":"securefiles-on-multi-datafiles-tablespaces","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/","title":{"rendered":"SecureFiles on multi-datafiles tablespaces"},"content":{"rendered":"<h2>By Franck Pachot<\/h2>\n<p>.<br \/>\nWhen we have a tablespace with multiple datafiles, we are used to seeing the datafiles filled evenly, the extents being allocated in a round-robin fashion. In the old time, we used that to maximize performance, distributing the tables to all disks. Today, we use LVM striping, maximum Inter-Policy,  ASM even distribution. And we may even use bigfile tablespaces, so that we don&#8217;t care about having multiple datafiles.<br \/>\n<!--more--><br \/>\nBut recently, during test phase of migration, I came upon something like this:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/SecureFile003.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/SecureFile003.png\" alt=\"SecureFile003\" width=\"1024\" height=\"436\" class=\"alignnone size-large wp-image-16006\" \/><\/a><\/p>\n<p>To reproduce the case, I&#8217;ve created a tablespace with 8 datafiles:<\/p>\n<pre><code>\nSQL&gt; create tablespace MYTABS datafile\n  2  '\/tmp\/MYTABS01.dbf' size 1M autoextend on maxsize 100M,\n  3  '\/tmp\/MYTABS02.dbf' size 1M autoextend on maxsize 100M,\n  4  '\/tmp\/MYTABS03.dbf' size 1M autoextend on maxsize 100M,\n  5  '\/tmp\/MYTABS04.dbf' size 1M autoextend on maxsize 100M,\n  6  '\/tmp\/MYTABS05.dbf' size 1M autoextend on maxsize 100M,\n  7  '\/tmp\/MYTABS06.dbf' size 1M autoextend on maxsize 100M,\n  8  '\/tmp\/MYTABS07.dbf' size 1M autoextend on maxsize 100M,\n  9  '\/tmp\/MYTABS08.dbf' size 1M autoextend on maxsize 100M\n 10  \/\n&nbsp;\nTablespace created.\n<\/code><\/pre>\n<h3>SecureFiles<\/h3>\n<p>This was a 11g to 12c migration, with Data Pump, and a good occasion to convert all LOB to SecureFiles with the transform=lob_storage:securefile parameter. And this tablespace is the one where the LOB segments are stored. I reproduced it with:<\/p>\n<pre><code>SQL&gt; create table MYTABLE ( x clob ) tablespace USERS\n  2  LOB(x) store as securefile MYLOBSEG (tablespace MYTABS disable storage in row);\n&nbsp;\nTable created.\n<\/code><\/pre>\n<p>Then I inserted about 80MB:<\/p>\n<pre><code>SQL&gt; insert into MYTABLE select lpad('x',100000) from xmltable('1 to 8000') ;\n8000 rows created.\n&nbsp;\nSQL&gt; select file_id,file_name,blocks,user_blocks from dba_data_files where tablespace_name='MYTABS' order by file_id;\n&nbsp;\n   FILE_ID FILE_NAME                          BLOCKS USER_BLOCKS\n---------- ------------------------------ ---------- -----------\n        61 \/tmp\/MYTABS01.dbf                     128         120\n        62 \/tmp\/MYTABS02.dbf                     128         120\n        63 \/tmp\/MYTABS03.dbf                     128         120\n        64 \/tmp\/MYTABS04.dbf                    9344        9336\n        65 \/tmp\/MYTABS05.dbf                     128         120\n        66 \/tmp\/MYTABS06.dbf                     128         120\n        67 \/tmp\/MYTABS07.dbf                     128         120\n        68 \/tmp\/MYTABS08.dbf                     128         120\n&nbsp;\n8 rows selected.\n&nbsp;\nSQL&gt; select file_id,segment_type,sum(blocks) from dba_extents where tablespace_name='MYTABS' group by file_id,segment_type order by file_id,segment_type;\n&nbsp;\n   FILE_ID SEGMENT_TYPE       SUM(BLOCKS)\n---------- ------------------ -----------\n        64 LOBSEGMENT                9216\n        65 LOBINDEX                     8\n        65 LOBSEGMENT                  24\n<\/code><\/pre>\n<p>And I continued to load rows, and observed the datafiles filled to their maxsize one after the other, without numeric or alphabetical order.<\/p>\n<pre><code>SQL&gt; select file_id,file_name,blocks,user_blocks from dba_data_files where tablespace_name='MYTABS' order by file_id;\n&nbsp;\n   FILE_ID FILE_NAME                          BLOCKS USER_BLOCKS\n---------- ------------------------------ ---------- -----------\n        61 \/tmp\/MYTABS01.dbf                    8320        8312\n        62 \/tmp\/MYTABS02.dbf                   12416       12408\n        63 \/tmp\/MYTABS03.dbf                   12416       12408\n        64 \/tmp\/MYTABS04.dbf                   12416       12408\n        65 \/tmp\/MYTABS05.dbf                     128         120\n        66 \/tmp\/MYTABS06.dbf                     128         120\n        67 \/tmp\/MYTABS07.dbf                     128         120\n        68 \/tmp\/MYTABS08.dbf                     128         120\n&nbsp;\n8 rows selected.\n&nbsp;\nSQL&gt; select file_id,segment_type,sum(blocks) from dba_extents where tablespace_name='MYTABS' group by file_id,segment_type order by file_id,segment_type;\n&nbsp;\n   FILE_ID SEGMENT_TYPE       SUM(BLOCKS)\n---------- ------------------ -----------\n        61 LOBSEGMENT                8192\n        62 LOBSEGMENT               12288\n        63 LOBSEGMENT               12288\n        64 LOBSEGMENT               12288\n        65 LOBINDEX                     8\n        65 LOBSEGMENT                  24<\/code><\/pre>\n<p>Here are some screenshots during this load<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/SecureFile001.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/SecureFile001.png\" alt=\"SecureFile001\" width=\"1024\" height=\"436\" class=\"alignnone size-large wp-image-16004\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/SecureFile002.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/SecureFile002.png\" alt=\"SecureFile002\" width=\"1024\" height=\"436\" class=\"alignnone size-large wp-image-16005\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/SecureFile003.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/SecureFile003.png\" alt=\"SecureFile003\" width=\"1024\" height=\"436\" class=\"alignnone size-large wp-image-16006\" \/><\/a><\/p>\n<h3>BasicFiles<\/h3>\n<p>This occurs only with SecureFiles. With the same load into LOB stored as BasicFile I got the following distribution:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/SecureFile004.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/SecureFile004.png\" alt=\"SecureFile004\" width=\"1024\" height=\"436\" class=\"alignnone size-large wp-image-16009\" \/><\/a><\/p>\n<p>Note that the inserts to BasicFile were about two times slower than the same into SecureFiles. <\/p>\n<h3>So what?<\/h3>\n<p>I don&#8217;t see any bad consequences about that, and this may even be an improvement when concurrent sessions are loading the LOBs. When the datafile picked-up looks random, a guess is that it depends on a process ID to try to distribute the concurrent load. And if you want to distribute data over multiple disks, then you should do it at a lower level. However, it is 30 years behavior that changes and it&#8217;s better to be aware of it: datafiles may reach their maxsize even when the tablespace is not full. I order to be sure that it is the expected behavior, I opened an SR with easy to reproduce testcase. Status is &#8216;review update&#8217; for 9 days (SR 3-14677784041) and I&#8217;ll update this post is I get an answer.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>By Franck Pachot . When we have a tablespace with multiple datafiles, we are used to seeing the datafiles filled evenly, the extents being allocated in a round-robin fashion. In the old time, we used that to maximize performance, distributing the tables to all disks. Today, we use LVM striping, maximum Inter-Policy, ASM even distribution. [&hellip;]<\/p>\n","protected":false},"author":27,"featured_media":9972,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[198],"tags":[96,207],"type_dbi":[],"class_list":["post-9970","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-database-management","tag-oracle","tag-securefiles"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>SecureFiles on multi-datafiles tablespaces - 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\/securefiles-on-multi-datafiles-tablespaces\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SecureFiles on multi-datafiles tablespaces\" \/>\n<meta property=\"og:description\" content=\"By Franck Pachot . When we have a tablespace with multiple datafiles, we are used to seeing the datafiles filled evenly, the extents being allocated in a round-robin fashion. In the old time, we used that to maximize performance, distributing the tables to all disks. Today, we use LVM striping, maximum Inter-Policy, ASM even distribution. [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-04-21T17:47:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/SecureFile001.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1249\" \/>\n\t<meta property=\"og:image:height\" content=\"532\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\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\/securefiles-on-multi-datafiles-tablespaces\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/\"},\"author\":{\"name\":\"Oracle Team\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee\"},\"headline\":\"SecureFiles on multi-datafiles tablespaces\",\"datePublished\":\"2017-04-21T17:47:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/\"},\"wordCount\":348,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/SecureFile001.png\",\"keywords\":[\"Oracle\",\"SecureFiles\"],\"articleSection\":[\"Database management\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/\",\"name\":\"SecureFiles on multi-datafiles tablespaces - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/SecureFile001.png\",\"datePublished\":\"2017-04-21T17:47:20+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/#primaryimage\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/SecureFile001.png\",\"contentUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/SecureFile001.png\",\"width\":1249,\"height\":532},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SecureFiles on multi-datafiles tablespaces\"}]},{\"@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":"SecureFiles on multi-datafiles tablespaces - 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\/securefiles-on-multi-datafiles-tablespaces\/","og_locale":"en_US","og_type":"article","og_title":"SecureFiles on multi-datafiles tablespaces","og_description":"By Franck Pachot . When we have a tablespace with multiple datafiles, we are used to seeing the datafiles filled evenly, the extents being allocated in a round-robin fashion. In the old time, we used that to maximize performance, distributing the tables to all disks. Today, we use LVM striping, maximum Inter-Policy, ASM even distribution. [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/","og_site_name":"dbi Blog","article_published_time":"2017-04-21T17:47:20+00:00","og_image":[{"width":1249,"height":532,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/SecureFile001.png","type":"image\/png"}],"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\/securefiles-on-multi-datafiles-tablespaces\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/"},"author":{"name":"Oracle Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"headline":"SecureFiles on multi-datafiles tablespaces","datePublished":"2017-04-21T17:47:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/"},"wordCount":348,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/SecureFile001.png","keywords":["Oracle","SecureFiles"],"articleSection":["Database management"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/","url":"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/","name":"SecureFiles on multi-datafiles tablespaces - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/SecureFile001.png","datePublished":"2017-04-21T17:47:20+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/SecureFile001.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/SecureFile001.png","width":1249,"height":532},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/securefiles-on-multi-datafiles-tablespaces\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"SecureFiles on multi-datafiles tablespaces"}]},{"@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\/9970","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=9970"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/9970\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/9972"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=9970"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=9970"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=9970"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=9970"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}