{"id":4830,"date":"2015-05-20T07:46:01","date_gmt":"2015-05-20T05:46:01","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/list-all-rman-backups-that-are-needed-to-recover\/"},"modified":"2015-05-20T07:46:01","modified_gmt":"2015-05-20T05:46:01","slug":"list-all-rman-backups-that-are-needed-to-recover","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/list-all-rman-backups-that-are-needed-to-recover\/","title":{"rendered":"List all RMAN backups that are needed to recover"},"content":{"rendered":"<h2>By Franck Pachot<\/h2>\n<p>.<br \/>\nThis blog post is something I had in draft and Laurent Schneider <a href=\"http:\/\/laurentschneider.com\/wordpress\/2015\/05\/can-you-restore-from-a-full-online-backup.html\">blog post<\/a> reminds me to publish it. With the right RMAN configuration you should not have to managed backup files yourself. The RMAN catalog knows them and RMAN should be able to access them. If you want to keep a backup for a long time, you just tell RMAN to keep it.<br \/>\nBut sometimes, RMAN is not connected to your tape backup software, or the backups are not shared on all sites, and you have to restore or copy the set of files that is needed for a restore database or a duplicate database.<\/p>\n<p>A customer was in that case, identifying the required files from their names because they are all timestamped with the beginning of the backup job. It&#8217;s our <a href=\"https:\/\/www.dbi-services.com\/offering\/products\/database-management-kit-dmk\/\">DMK<\/a> default. In order to rely on that, the &#8216;backup database plus archivelog&#8217; was run. And in order to be sure to have all archived logs in those backup sets, any concurrent RMAN job are blocked during that database backup. Because if a concurrent job is doing some archivelog backups, they will be timestamped differently.<\/p>\n<h3>RPO and availability<\/h3>\n<p>I don&#8217;t like that. I don&#8217;t want that anything can block the backup of archived logs.<br \/>\nThey are critical for two reasons:<\/p>\n<ul>\n<li>The Recovery Point Objective is not fulfilled if some archivelog backups are delayed<\/li>\n<li>The frequency of archivelog backup is also defined to prevent a full FRA<\/li>\n<\/ul>\n<p>But if we allow concurrent backup of archived logs, we need something else to be able to identify the whole set of files that are needed to restore the database at that point in time. then my suggestion was to generate the list of those files after each database backup, and keep that list. When we need to restore that backup, then we can send the list to the backup team ans ask them to restore them.<\/p>\n<h3>The script<\/h3>\n<p>Here is my script, I&#8217;ll explain later:<\/p>\n<pre><code>echo \"restore controlfile preview; restore database preview;\" | NLS_DATE_FORMAT='yyyymmddhh24miss' rman target \/ | awk '\n\/Finished restore at \/{timestamp=$4}\n\/Recovery must be done beyond SCN \/{if ($7&gt;scn) scn=$7 }\n\/^ *(Piece )Name: \/ { sub(\/^ *(Piece )Name: \/,\"\") ; files[$0]=1 }\nEND{ for (i in files) print i &gt; \"files-\"timestamp\"-SCN-\"scn\".txt\" }\n' \n<\/code><\/pre>\n<p>this script generate the following file:<\/p>\n<pre><code>files-20150519013910-SCN-47682382860.txt\n<\/code><\/pre>\n<p>which list the files needed to do a RESTORE\/RECOVER UNTIL SCN 47682382860<\/p>\n<p>the content of the file is:<\/p>\n<pre><code>oracle@dbzhorap01:\/home\/oracle\/ [DB01PP1] sort files-20150519019910-SCN-47682382860.txt\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150516_023003_inc0_DB01PP_961537327_s168278_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150516_023003_inc0_DB01PP_961537327_s168279_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150516_023003_inc0_DB01PP_961537327_s168280_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150516_023003_inc0_DB01PP_961537327_s168281_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150516_023003_inc0_DB01PP_961537327_s168282_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150516_023003_inc0_DB01PP_961537327_s168283_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150516_023003_inc0_DB01PP_961537327_s168284_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150519_010013_arc_DB01PP_961537327_s169462_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150519_010013_arc_DB01PP_961537327_s169463_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150519_010013_arc_DB01PP_961537327_s169464_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150519_010013_arc_DB01PP_961537327_s169465_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150519_010013_arc_DB01PP_961537327_s169466_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150519_010013_arc_DB01PP_961537327_s169467_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150519_010013_arc_DB01PP_961537327_s169468_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150519_010013_arc_DB01PP_961537327_s169469_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150519_010013_arc_DB01PP_961537327_s169470_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150519_010013_arc_DB01PP_961537327_s169471_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150519_010013_arc_DB01PP_961537327_s169472_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150519_010013_arc_DB01PP_961537327_s169481_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150519_010013_arc_DB01PP_961537327_s169482_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150519_010013_inc1_DB01PP_961537327_s169473_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150519_010013_inc1_DB01PP_961537327_s169474_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150519_010013_inc1_DB01PP_961537327_s169475_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150519_010013_inc1_DB01PP_961537327_s169476_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150519_010013_inc1_DB01PP_961537327_s169477_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150519_010013_inc1_DB01PP_961537327_s169478_p1.bck\n\/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150519_010013_inc1_DB01PP_961537327_s169479_p1.bck\n<\/code><\/pre>\n<p>and lists the backup pieces for the incremental 0, incremental 1 and archivelogs needed to recover to a consistent state that can be opened. The script lists only backup sets so we are supposed have have backed up the latest archived logs (with backup database plus archivelog for example).<\/p>\n<p>You can put an &#8216;until scn&#8217;^but my primary goal was to run it just after a backup database in order to know which files have to be restored to get that backup (restore or duplicate).<\/p>\n<h3>Restore preview<\/h3>\n<p>The idea is to rely on RMAN to find the files that are needed to restore and recover rather than doing it ourselves from the recovery catalog. RMAN provides the PREVIEW restore for that:<\/p>\n<pre><code>RMAN&gt; restore database preview\nStarting restore at 20150501390436\nusing channel ORA_DISK_1\nusing channel ORA_DISK_2\nusing channel ORA_DISK_3\nusing channel ORA_DISK_4\n\nList of Backup Sets\n===================\n\nBS Key  Type LV Size       Device Type Elapsed Time Completion Time\n------- ---- -- ---------- ----------- ------------ ---------------\n166388  Incr 0  10.53G     DISK        00:52:56     20150516031010\n        BP Key: 166388   Status: AVAILABLE  Compressed: YES  Tag: WEEKLY\n        Piece Name: \/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150516_023003_inc0_DB01PP_961537327_s168278_p1.bck\n  List of Datafiles in backup set 166388\n  File LV Type Ckp SCN    Ckp Time       Name\n  ---- -- ---- ---------- -------------- ----\n  1    0  Incr 47581173986 20150516023945 +U01\/DB01Pp\/datafile\/system.329.835812499\n  2    0  Incr 47581173986 20150516023945 +U01\/DB01Pp\/datafile\/undotbs1.525.835803187\n  10   0  Incr 47581173986 20150516023945 +U01\/DB01Pp\/datafile\/cpy.676.835815153\n  17   0  Incr 47581173986 20150516023945 +U01\/DB01Pp\/datafile\/cpy.347.835815677\n  23   0  Incr 47581173986 20150516023945 +U01\/DB01Pp\/datafile\/cpy.277.835814327\n  25   0  Incr 47581173986 20150516023945 +U01\/DB01Pp\/datafile\/cpy.342.835811161\n...\nBS Key  Type LV Size       Device Type Elapsed Time Completion Time\n------- ---- -- ---------- ----------- ------------ ---------------\n167586  Incr 1  216.09M    DISK        00:01:34     20150519012830\n        BP Key: 167586   Status: AVAILABLE  Compressed: YES  Tag: DAYLY\n        Piece Name: \/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150519_010013_inc1_DB01PP_961537327_s169479_p1.bck\n  List of Datafiles in backup set 167586\n  File LV Type Ckp SCN    Ckp Time       Name\n  ---- -- ---- ---------- -------------- ----\n  43   1  Incr 47681921440 20150519012700 +U01\/DB01Pp\/datafile\/cpy_idx.346.835815097\n\nList of Backup Sets\n===================\n\nBS Key  Size       Device Type Elapsed Time Completion Time\n------- ---------- ----------- ------------ ---------------\n167594  105.34M    DISK        00:00:23     20150519015400\n        BP Key: 167594   Status: AVAILABLE  Compressed: YES  Tag: DAYLY\n        Piece Name: \/u00\/app\/oracle\/admin\/DB01PP\/backup\/20150519_010013_arc_DB01PP_961537327_s169481_p1.bck\n\n  List of Archived Logs in backup set 167594\n  Thrd Seq     Low SCN    Low Time       Next SCN   Next Time\n  ---- ------- ---------- -------------- ---------- ---------\n  3    59406   47681333097 20150519010239 47682617820 20150519014652\n  4    46800   47681333143 20150519010240 47682617836 20150519014652\n  1    76382   47681333188 20150519010240 47682618254 20150519014655\n  2    60967   47681333315 20150519010242 47682385651 20150519013711\n...\n\nMedia recovery start SCN is 47681637369\nRecovery must be done beyond SCN 47682382860 to clear datafile fuzziness\nFinished restore at 20150501390440\n<\/code><\/pre>\n<p>You see the list of datafiles backupsets and archivelog backupsets and at the end you have information about SCN. Let me explain what are those SCNs.<\/p>\n<h3>Recovery SCN<\/h3>\n<p>Because it is online backup the datafiles are fuzzy. We need to apply redo generaed during backup.<br \/>\nThe &#8216;media recovery start SCN&#8217; is the begining of the archivelog to be applied:<\/p>\n<pre><code>SQL&gt; select scn_to_timestamp(47681637369) from dual;\n\nSCN_TO_TIMESTAMP(47681637369)\n---------------------------------------------------------------------------\n19-MAY-15 01.10.38.000000000 AM\n<\/code><\/pre>\n<p>The &#8216;recovery must be done beyond SCN&#8217; is the last redo that must be applied to have datafiles consistent:<\/p>\n<pre><code>SQL&gt; select scn_to_timestamp(47682382860) from dual;\n\nSCN_TO_TIMESTAMP(47682382860)\n---------------------------------------------------------------------------\n19-MAY-15 01.35.58.000000000 AM\n<\/code><\/pre>\n<p>In my example, the backup (incremental level 1 + archivelog) started at 01:00:00 and was completed at 01:35:00<\/p>\n<h3>Conclusion<\/h3>\n<p>And I have a file with the list of backups that are needed to restore or duplicate the database at that point in time. Why do I need that when RMAN is supposed to be able to retrieve them itself? Because sometimes we backup to disk and the disk is backed up to tape without RMAN knowing it. Of course RMAN can connect directly to the tape backup software but that is not for free. Or we want to duplicate to another site where backups are not shared. We need to know which files we have to bring there. And that sometimes requires a request to another team so it&#8217;s better to have the list of all files we need.<\/p>\n<p>As usual, don&#8217;t hesitate to comment if you see something to improve in my small script.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>By Franck Pachot . This blog post is something I had in draft and Laurent Schneider blog post reminds me to publish it. With the right RMAN configuration you should not have to managed backup files yourself. The RMAN catalog knows them and RMAN should be able to access them. If you want to keep [&hellip;]<\/p>\n","protected":false},"author":27,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[198,59],"tags":[],"type_dbi":[],"class_list":["post-4830","post","type-post","status-publish","format-standard","hentry","category-database-management","category-oracle"],"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>List all RMAN backups that are needed to recover - dbi Blog<\/title>\n<meta name=\"description\" content=\"Using RMAN RESTORE PREVIEW to list all RMAN backups that are needed to recover\" \/>\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\/list-all-rman-backups-that-are-needed-to-recover\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"List all RMAN backups that are needed to recover\" \/>\n<meta property=\"og:description\" content=\"Using RMAN RESTORE PREVIEW to list all RMAN backups that are needed to recover\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/list-all-rman-backups-that-are-needed-to-recover\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-05-20T05:46:01+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=\"7 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\/list-all-rman-backups-that-are-needed-to-recover\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/list-all-rman-backups-that-are-needed-to-recover\/\"},\"author\":{\"name\":\"Oracle Team\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee\"},\"headline\":\"List all RMAN backups that are needed to recover\",\"datePublished\":\"2015-05-20T05:46:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/list-all-rman-backups-that-are-needed-to-recover\/\"},\"wordCount\":715,\"commentCount\":2,\"articleSection\":[\"Database management\",\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/list-all-rman-backups-that-are-needed-to-recover\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/list-all-rman-backups-that-are-needed-to-recover\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/list-all-rman-backups-that-are-needed-to-recover\/\",\"name\":\"List all RMAN backups that are needed to recover - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2015-05-20T05:46:01+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee\"},\"description\":\"Using RMAN RESTORE PREVIEW to list all RMAN backups that are needed to recover\",\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/list-all-rman-backups-that-are-needed-to-recover\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/list-all-rman-backups-that-are-needed-to-recover\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/list-all-rman-backups-that-are-needed-to-recover\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"List all RMAN backups that are needed to recover\"}]},{\"@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":"List all RMAN backups that are needed to recover - dbi Blog","description":"Using RMAN RESTORE PREVIEW to list all RMAN backups that are needed to recover","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\/list-all-rman-backups-that-are-needed-to-recover\/","og_locale":"en_US","og_type":"article","og_title":"List all RMAN backups that are needed to recover","og_description":"Using RMAN RESTORE PREVIEW to list all RMAN backups that are needed to recover","og_url":"https:\/\/www.dbi-services.com\/blog\/list-all-rman-backups-that-are-needed-to-recover\/","og_site_name":"dbi Blog","article_published_time":"2015-05-20T05:46:01+00:00","author":"Oracle Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Oracle Team","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/list-all-rman-backups-that-are-needed-to-recover\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/list-all-rman-backups-that-are-needed-to-recover\/"},"author":{"name":"Oracle Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"headline":"List all RMAN backups that are needed to recover","datePublished":"2015-05-20T05:46:01+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/list-all-rman-backups-that-are-needed-to-recover\/"},"wordCount":715,"commentCount":2,"articleSection":["Database management","Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/list-all-rman-backups-that-are-needed-to-recover\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/list-all-rman-backups-that-are-needed-to-recover\/","url":"https:\/\/www.dbi-services.com\/blog\/list-all-rman-backups-that-are-needed-to-recover\/","name":"List all RMAN backups that are needed to recover - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2015-05-20T05:46:01+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"description":"Using RMAN RESTORE PREVIEW to list all RMAN backups that are needed to recover","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/list-all-rman-backups-that-are-needed-to-recover\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/list-all-rman-backups-that-are-needed-to-recover\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/list-all-rman-backups-that-are-needed-to-recover\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"List all RMAN backups that are needed to recover"}]},{"@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\/4830","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=4830"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/4830\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=4830"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=4830"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=4830"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=4830"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}