{"id":6544,"date":"2015-12-17T17:51:05","date_gmt":"2015-12-17T16:51:05","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/"},"modified":"2015-12-17T17:51:05","modified_gmt":"2015-12-17T16:51:05","slug":"ocm-12c-preparation-explain-fast-refresh","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/","title":{"rendered":"OCM 12c preparation: Explain fast refresh"},"content":{"rendered":"<h2>By Franck Pachot<\/h2>\n<p>.<br \/>\nThere are some rules to be able to fast refresh a materialized view (which means, refresh it so that it is not stale, and without running the whole query). Documentation is in the Datawarehouse Guide, but we can use Enterprise Manager to get quickly to our goal.<br \/>\n<!--more--><\/p>\n<p>Let&#8217;s see which tables we have:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV001.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV001.jpg\" alt=\"CaptureMV001\" width=\"764\" height=\"431\" class=\"alignnone size-full wp-image-6108\" \/><\/a><\/p>\n<p>and create materialized views:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV002.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV002.jpg\" alt=\"CaptureMV002\" width=\"764\" height=\"342\" class=\"alignnone size-full wp-image-6107\" \/><\/a><\/p>\n<p>I want to materialize the following join and group by:<\/p>\n<pre><code>\nselect deptno,dname,count(*),sum(sal) \nfrom scott.dept join scott.emp using (deptno) \ngroup by deptno,dname\n<\/code><\/pre>\n<p>when entering the query you can run &#8216;explain&#8217;:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV003.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV003.jpg\" alt=\"CaptureMV003\" width=\"499\" height=\"236\" class=\"alignnone size-full wp-image-6106\" \/><\/a><\/p>\n<p>here is what is displayed by the explain<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV004.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV004.jpg\" alt=\"CaptureMV004\" width=\"764\" height=\"524\" class=\"alignnone size-full wp-image-6105\" \/><\/a><\/p>\n<p>For fast refresh we need materialized view log, so let&#8217;s create them:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV005.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV005.jpg\" alt=\"CaptureMV005\" width=\"757\" height=\"274\" class=\"alignnone size-full wp-image-6104\" \/><\/a><\/p>\n<p>I keep the default: primary key and choose the other column I will use in my materialized view:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV006.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV006.jpg\" alt=\"CaptureMV006\" width=\"756\" height=\"355\" class=\"alignnone size-full wp-image-6103\" \/><\/a><\/p>\n<p>I do it for both tables, here is what &#8216;show sql&#8217; displays:<\/p>\n<pre><code>\nCREATE MATERIALIZED VIEW LOG ON SCOTT.DEPT NOCACHE WITH PRIMARY KEY (\"DNAME\") EXCLUDING NEW VALUES \nCREATE MATERIALIZED VIEW LOG ON SCOTT.EMP NOCACHE WITH PRIMARY KEY (\"DEPTNO\", \"SAL\") EXCLUDING NEW VALUES \n<\/code><\/pre>\n<p>Note that there is no comma between the with clause and the column list. If you put one, you can have strange behaviour.<\/p>\n<p>so here they are:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV007.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV007.jpg\" alt=\"CaptureMV007\" width=\"760\" height=\"379\" class=\"alignnone size-full wp-image-6102\" \/><\/a><\/p>\n<p>and let&#8217;s explain our mview again:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV008.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV008.jpg\" alt=\"CaptureMV008\" width=\"735\" height=\"599\" class=\"alignnone size-full wp-image-6101\" \/><\/a><\/p>\n<p>In order to support fast refresh for all kind of DML, I need to add the following &#8216;with&#8217; clause:<\/p>\n<pre><code>\nALTER MATERIALIZED VIEW LOG ON DEPT ADD SEQUENCE, ROWID INCLUDING NEW VALUES;\nALTER MATERIALIZED VIEW LOG ON EMP ADD SEQUENCE, ROWID INCLUDING NEW VALUES;\n<\/code><\/pre>\n<p>You can do it from the GUI, but I don&#8217;t want to navigate though screens again.<\/p>\n<p>So the result is that my materialized view supports fast refresh. But there was something else:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV012.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV012.jpg\" alt=\"CaptureMV012\" width=\"693\" height=\"71\" class=\"alignnone size-full wp-image-6119\" \/><\/a><\/p>\n<p>In order to maintain the SUM() and because the SAL column may be null, we need to keep a count of non null values.<\/p>\n<pre><code>\nselect deptno,dname,count(*),sum(sal),count(sal)\nfrom scott.dept join scott.emp using (deptno) \ngroup by deptno,dname\n<\/code><\/pre>\n<p>Now everything is ok:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV009.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV009.jpg\" alt=\"CaptureMV009\" width=\"764\" height=\"477\" class=\"alignnone size-full wp-image-6100\" \/><\/a><\/p>\n<p>I can use the &#8216;get recommendation&#8217; to see that there&#8217;s nothing else to do:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV010.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV010.jpg\" alt=\"CaptureMV010\" width=\"735\" height=\"514\" class=\"alignnone size-full wp-image-6099\" \/><\/a><\/p>\n<p>Here is the SQL generated:<\/p>\n<pre><code>\nCREATE MATERIALIZED VIEW \"SCOTT\".\"MV_EMP_DEPT\" USING INDEX REFRESH FORCE ON DEMAND ENABLE QUERY REWRITE AS \nselect deptno,dname,count(*),sum(sal),count(sal) \nfrom scott.dept join scott.emp using (deptno) \ngroup by deptno,dname\nBEGIN DBMS_STATS.GATHER_TABLE_STATS(ownname =&gt;'SCOTT', tabname =&gt; 'MV_EMP_DEPT'); END;\n<\/code><\/pre>\n<h3>dbms_mview<\/h3>\n<p>If you don&#8217;t have Enterprise Manager, you can do the same manually.<\/p>\n<p>First create the table to store the result:<\/p>\n<pre><code>\n$ ( cd $ORACLE_HOME\/rdbms\/admin ; ls *xmv*sql; )\nutlxmv.sql\n<\/code><\/pre>\n<p>(yes I don&#8217;t have to remember the name, I just remember &#8216;xmv&#8217; for explain mview and &#8216;xrw&#8217; for explain rewrite)<\/p>\n<pre><code>\n$ sqlplus scott\/tiger @ ?\/rdbms\/admin\/utlxmv.sql\n&nbsp;\nSQL*Plus: Release 11.2.0.3.0 Production on Thu Dec 17 15:09:36 2015\nCopyright (c) 1982, 2011, Oracle.  All rights reserved.\n&nbsp;\nConnected to:\nOracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production\nWith the Partitioning, OLAP, Data Mining and Real Application Testing options\n&nbsp;\nTable created.\n&nbsp;\nSQL&gt; l\n  1  CREATE TABLE MV_CAPABILITIES_TABLE\n...\n&nbsp;\n<\/code><\/pre>\n<p>And here is the result after running<\/p>\n<pre><code>\nexec dbms_mview.explain_mview('SCOTT.MV_EMP_DEPT');\nselect * from scott.MV_CAPABILITIES_TABLE;\n<\/code><\/pre>\n<p>on SQL Developer<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV013.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV013.jpg\" alt=\"CaptureMV013\" width=\"1042\" height=\"488\" class=\"alignnone size-full wp-image-6123\" \/><\/a><\/p>\n<p>That was about refresh. The rewrite capabilities can be explained in a similar way, but that was in a <a href=\"http:\/\/dbi-services.com\/blog\/materialized-view-explain_rewrite\/\">previous blog post<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>By Franck Pachot . There are some rules to be able to fast refresh a materialized view (which means, refresh it so that it is not stale, and without running the whole query). Documentation is in the Datawarehouse Guide, but we can use Enterprise Manager to get quickly to our goal.<\/p>\n","protected":false},"author":27,"featured_media":6557,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229],"tags":[714,96],"type_dbi":[],"class_list":["post-6544","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-database-administration-monitoring","tag-ocm-12c","tag-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>OCM 12c preparation: Explain fast refresh - 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\/ocm-12c-preparation-explain-fast-refresh\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"OCM 12c preparation: Explain fast refresh\" \/>\n<meta property=\"og:description\" content=\"By Franck Pachot . There are some rules to be able to fast refresh a materialized view (which means, refresh it so that it is not stale, and without running the whole query). Documentation is in the Datawarehouse Guide, but we can use Enterprise Manager to get quickly to our goal.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-12-17T16:51:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV010-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"735\" \/>\n\t<meta property=\"og:image:height\" content=\"514\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\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\/ocm-12c-preparation-explain-fast-refresh\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/\"},\"author\":{\"name\":\"Oracle Team\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee\"},\"headline\":\"OCM 12c preparation: Explain fast refresh\",\"datePublished\":\"2015-12-17T16:51:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/\"},\"wordCount\":346,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV010-1.jpg\",\"keywords\":[\"OCM 12c\",\"Oracle\"],\"articleSection\":[\"Database Administration &amp; Monitoring\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/\",\"name\":\"OCM 12c preparation: Explain fast refresh - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV010-1.jpg\",\"datePublished\":\"2015-12-17T16:51:05+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/#primaryimage\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV010-1.jpg\",\"contentUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV010-1.jpg\",\"width\":735,\"height\":514},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"OCM 12c preparation: Explain fast refresh\"}]},{\"@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":"OCM 12c preparation: Explain fast refresh - 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\/ocm-12c-preparation-explain-fast-refresh\/","og_locale":"en_US","og_type":"article","og_title":"OCM 12c preparation: Explain fast refresh","og_description":"By Franck Pachot . There are some rules to be able to fast refresh a materialized view (which means, refresh it so that it is not stale, and without running the whole query). Documentation is in the Datawarehouse Guide, but we can use Enterprise Manager to get quickly to our goal.","og_url":"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/","og_site_name":"dbi Blog","article_published_time":"2015-12-17T16:51:05+00:00","og_image":[{"width":735,"height":514,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV010-1.jpg","type":"image\/jpeg"}],"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\/ocm-12c-preparation-explain-fast-refresh\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/"},"author":{"name":"Oracle Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"headline":"OCM 12c preparation: Explain fast refresh","datePublished":"2015-12-17T16:51:05+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/"},"wordCount":346,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV010-1.jpg","keywords":["OCM 12c","Oracle"],"articleSection":["Database Administration &amp; Monitoring"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/","url":"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/","name":"OCM 12c preparation: Explain fast refresh - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV010-1.jpg","datePublished":"2015-12-17T16:51:05+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV010-1.jpg","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/CaptureMV010-1.jpg","width":735,"height":514},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/ocm-12c-preparation-explain-fast-refresh\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"OCM 12c preparation: Explain fast refresh"}]},{"@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\/6544","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=6544"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/6544\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/6557"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=6544"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=6544"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=6544"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=6544"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}