{"id":56698,"date":"2024-10-03T17:40:35","date_gmt":"2024-10-03T17:40:35","guid":{"rendered":"https:\/\/dbtut.com\/?p=56698"},"modified":"2024-10-03T17:45:01","modified_gmt":"2024-10-03T17:45:01","slug":"materialized-views-in-oracle","status":"publish","type":"post","link":"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/","title":{"rendered":"Materialized Views In Oracle"},"content":{"rendered":"<p>In today&#8217;s article, we will be explaining the concept of Materialized Views in Oracle, also known as Snapshots.<\/p>\n<p>It is a structure that stores the data returned by a query in a table and updates this data with the main table at certain intervals.<\/p>\n<p>The user who will create Mview must have &#8220;CREATE MATERIALIZED VIEW&#8221; and &#8220;CREATE TABLE&#8221; system permissions.<\/p>\n<p>Some important terms related to Materialized Views.<\/p>\n<p><strong>Materialized Views: <\/strong>It is a database object that replicates data and improves performance.<\/p>\n<p><strong>Master Table:<\/strong> The table whose data is queried.<\/p>\n<p><strong>Complete Refresh:<\/strong> It is the deletion of the MView table and complete renewal of the main table.<\/p>\n<p><strong>Fast Refresh:<\/strong> Only DML changes in the main table are applied to Mview.<\/p>\n<p><strong>Refresh Method:<\/strong> It determines the renewal method. It can be Complete or Fast.<\/p>\n<p><strong>Materialized View Log:<\/strong> It is created when Fast Refresh is used. It is the database object that tracks DML changes in the main table.<\/p>\n<p><strong>Build Mode:<\/strong> It determines the Mview mode. It can be Immediate or Deferred.<\/p>\n<p><strong>Refresh Mode:<\/strong> It determines the renewal mode. It can be Demand, on Commit or Never.<\/p>\n<p><strong>Query Rewrite:<\/strong> It allows the Optimizer to consider the Mview SQL work plan instead of the main table.<\/p>\n<p><strong>Refresh Group:<\/strong> It is the group where the MVs to be refreshed at the same time are defined.<\/p>\n<p>&#8220;Complete Refresh&#8221; Materialized Views that will completely retrieve the data from the main table each time are created as follows.<\/p>\n<pre class=\"lang:default decode:true \">CREATE MATERIALIZED VIEW ACCOUNT_MV\r\nSEGMENT CREATION IMMEDIATE\r\nNOCACHE\r\nNOLOGGING\r\nNOCOMPRESS\r\nNOPARALLEL\r\nBUILD IMMEDIATE\r\nREFRESH COMPLETE\r\nON DEMAND\r\nAS\r\nSELECT ACCOUNT_ID, ACCOUNTNAME, STATUS\r\nFROM IPTVMWC.ACCOUNT;<\/pre>\n<p>If the view is queried after it is created, it will return results immediately. Because we made the BUILD parameter in the view IMMEDIATE.<\/p>\n<pre class=\"lang:default decode:true \">SQL&gt; SELECT COUNT(*) FROM ACOUNT_MV;\r\n\r\n  COUNT(*)\r\n----------\r\n   1193405<\/pre>\n<p>Even if we perform insert operations as below after the view is created, the result will be the same since we do not refresh it.<\/p>\n<pre class=\"lang:default decode:true \">SQL&gt; SELECT COUNT(*) FROM ACCOUNT_MV;\r\n\r\n  COUNT(*)\r\n----------\r\n   1193402\r\n\r\nSQL&gt; INSERT INTO IPTVMWC.ACCOUNT VALUES ('9999997', '1', '939009997', 'aXyZ', '', '1', '');\r\n\r\n1 row created.\r\n\r\nSQL&gt; commit;\r\n\r\nCommit complete.\r\n\r\nSQL&gt;\r\nSQL&gt;\r\nSQL&gt;\r\nSQL&gt; SELECT COUNT(*) FROM ACCOUNT_MV;\r\n\r\n  COUNT(*)\r\n----------\r\n   1193402<\/pre>\n<p>Mviews are renewed with the DBMS_MVIEW package as follows.<\/p>\n<p>The DBMS_MVIEW package has 2 parameters. The first is the MV name and the other is the Mview renewal method. The value &#8220;C&#8221; is used for Complete renewal and &#8220;F&#8221; is used for Fast renewal.<\/p>\n<pre class=\"lang:default decode:true \">SQL&gt; EXEC DBMS_MVIEW.REFRESH ('ACCOUNT_MV', 'C');\r\n\r\nPL\/SQL procedure successfully completed.\r\n\r\nView yenilendikten sonra sat\u0131r say\u0131s\u0131 sorguland\u0131\u011f\u0131nda say\u0131n\u0131n de\u011fi\u015fti\u011fi g\u00f6r\u00fcl\u00fcr.\r\n\r\nSQL&gt; SELECT COUNT(*) FROM ACCOUNT_MV;\r\n\r\n  COUNT(*)\r\n----------\r\n   1193405<\/pre>\n<p>Fast Refresh Mview is created as follows.<\/p>\n<p>1. Mview Log is created. Mview Log is a database object that tracks DML changes in the main table. In order to create an Mview Log, there must be a primary key in our main table.<\/p>\n<pre class=\"lang:default decode:true \">SQL&gt; CREATE MATERIALIZED VIEW LOG ON ACCOUNT WITH PRIMARY KEY;\r\n\r\nAna tablomuzda primary key yoksa ve a\u015fa\u011f\u0131daki gibi hata al\u0131n\u0131r.\r\n\r\nERROR at line 1:\r\nORA-12014: table 'ACCOUNT' does not contain a primary key constraint<\/pre>\n<p>If we cannot re-create the primary key, Mview Log is created according to rowid.<\/p>\n<pre class=\"lang:default decode:true \">SQL&gt; CREATE MATERIALIZED VIEW LOG ON IPTVMWC.ACCOUNT WITH ROWID;\r\n\r\nMaterialized view log created.<\/pre>\n<p>2. Then Fast Refresh Mview is created.<\/p>\n<pre class=\"lang:default decode:true \">CREATE MATERIALIZED VIEW ACCOUNT_MV_FAST\r\nSEGMENT CREATION IMMEDIATE\r\nNOCACHE\r\nNOLOGGING\r\nNOCOMPRESS\r\nNOPARALLEL\r\nBUILD IMMEDIATE\r\nREFRESH WITH ROWID\r\nON DEMAND\r\nAS\r\nSELECT ACCOUNT_ID, ACCOUNTNAME, STATUS\r\nFROM IPTVMWC.ACCOUNT;<\/pre>\n<p>Mview Fast is refreshed as follows.<\/p>\n<pre class=\"lang:default decode:true \">SQL&gt; EXEC DBMS_MVIEW.REFRESH ('ACCOUNT_MV_FAST', 'F');\r\n\r\nPL\/SQL procedure successfully completed.<\/pre>\n<p>When Mview is created, we may not want it to be refreshed with data immediately.<\/p>\n<p>In this case, we create the BUILD mode as DEFERRED.<\/p>\n<pre class=\"lang:default decode:true \">SQL&gt; CREATE MATERIALIZED VIEW ACCOUNT_MV_DEFERRED\r\nSEGMENT CREATION IMMEDIATE\r\nNOCACHE\r\nNOLOGGING\r\nNOCOMPRESS\r\nNOPARALLEL\r\nBUILD DEFERRED\r\nREFRESH COMPLETE\r\nON DEMAND\r\nAS\r\nSELECT ACCOUNT_ID, ACCOUNTNAME, STATUS\r\nFROM IPTVMWC.ACCOUNT;\r\n\r\nMaterialized view created.\r\n\r\nView sorguland\u0131\u011f\u0131nda hi\u00e7bir sonu\u00e7 gelmedi\u011fi g\u00f6r\u00fcl\u00fcr.\r\n\r\nSQL&gt; SELECT COUNT(*) FROM ACCOUNT_MV_DEFERRED;\r\n\r\n  COUNT(*)\r\n----------\r\n         0<\/pre>\n<p>In some cases, when a data change occurs in our main table, we may want the change to be reflected in Mview immediately.<\/p>\n<p>In this case, we use the phrase &#8220;ON COMMIT&#8221;.<\/p>\n<pre class=\"lang:default decode:true \">SQL&gt; CREATE MATERIALIZED VIEW ACCOUNT_MV_ONCOMMIT\r\nSEGMENT CREATION IMMEDIATE\r\nNOCACHE\r\nNOLOGGING\r\nNOCOMPRESS\r\nNOPARALLEL\r\nBUILD IMMEDIATE\r\nREFRESH ON COMMIT\r\nAS\r\nSELECT ACCOUNT_ID, ACCOUNTNAME, STATUS\r\nFROM IPTVMWC.ACCOUNT;\r\n\r\nMaterialized view created.\r\n\r\n\u00d6rne\u011fin olu\u015fturulan view' e a\u015fa\u011f\u0131daki gibi insert i\u015flemi yap\u0131l\u0131p commit yap\u0131ld\u0131\u011f\u0131nda sonucun artt\u0131\u011f\u0131 g\u00f6r\u00fcl\u00fcr.\r\n\r\nSQL&gt; SELECT COUNT(*) FROM ACCOUNT_MV_ONCOMMIT;\r\n\r\n  COUNT(*)\r\n----------\r\n   1193403\r\n\r\nSQL&gt; INSERT INTO IPTVMWC.ACCOUNT VALUES ('9999998', '1', '939009998', 'aXyZ', '', '1', '');\r\n\r\n1 row created.\r\n\r\nSQL&gt; COMMIT;\r\n\r\nCommit complete.\r\n\r\nSQL&gt; SELECT COUNT(*) FROM ACCOUNT_MV_ONCOMMIT;\r\n\r\n  COUNT(*)\r\n----------\r\n   1193404<\/pre>\n<p>Finally, materialized views can be created in a way that never refreshes. And these views cannot be refreshed.<\/p>\n<pre class=\"lang:default decode:true \">SQL&gt; CREATE MATERIALIZED VIEW ACOUNT_MV_NEV_REFRESH\r\nSEGMENT CREATION IMMEDIATE\r\nNOCACHE\r\nNOLOGGING\r\nNOCOMPRESS\r\nNOPARALLEL\r\nBUILD IMMEDIATE\r\nNEVER REFRESH\r\nAS\r\nSELECT ACCOUNT_ID, ACCOUNTNAME, STATUS\r\nFROM IPTVMWC.ACCOUNT;\r\n\r\nMaterialized view created.\r\n\r\nView sorguland\u0131\u011f\u0131nda;\r\n\r\nSQL&gt; SELECT COUNT(*) FROM ACOUNT_MV_NEV_REFRESH;\r\n\r\n  COUNT(*)\r\n----------\r\n   1193405<\/pre>\n<p>Afterwards, when the insertion process is performed and the query is made again, it is seen that the number has not changed.<\/p>\n<pre class=\"lang:default decode:true \">SQL&gt; INSERT INTO IPTVMWC.ACCOUNT VALUES ('9999996', '1', '939009996', 'aXyZ', '', '1', '');\r\n\r\n1 row created.\r\n\r\nSQL&gt; COMMIT;\r\n\r\nCommit complete.\r\n\r\nSQL&gt; SELECT COUNT(*) FROM ACOUNT_MV_NEV_REFRESH;\r\n\r\n  COUNT(*)\r\n----------\r\n   1193405<\/pre>\n<p>Finally, when you try to refresh the view, you get an error.<\/p>\n<pre class=\"lang:default decode:true \">SQL&gt; EXEC DBMS_MVIEW.REFRESH ('ACOUNT_MV_NEV_REFRESH', 'C');\r\nBEGIN DBMS_MVIEW.REFRESH ('ACOUNT_MV_NEV_REFRESH', 'C'); END;\r\n\r\n*\r\nERROR at line 1:\r\nORA-23538: cannot explicitly refresh a NEVER REFRESH materialized view\r\n(\"ACOUNT_MV_NEV_REFRESH\")\r\nORA-06512: at \"SYS.DBMS_SNAPSHOT\", line 2809\r\nORA-06512: at \"SYS.DBMS_SNAPSHOT\", line 3025\r\nORA-06512: at \"SYS.DBMS_SNAPSHOT\", line 2994\r\nORA-06512: at line 1<\/pre>\n<p>A view that has been made Never Refresh can be made refreshable again.<\/p>\n<pre class=\"lang:default decode:true \">SQL&gt; ALTER MATERIALIZED VIEW ACOUNT_MV_NEV_REFRESH REFRESH ON DEMAND COMPLETE;\r\n\r\nMaterialized view altered.<\/pre>\n<p>Afterwards, when the view is executed, it is observed that the number has changed.<\/p>\n<pre class=\"lang:default decode:true \">SQL&gt; EXEC DBMS_MVIEW.REFRESH ('ACOUNT_MV_NEV_REFRESH', 'C');\r\n\r\nPL\/SQL procedure successfully completed.\r\n\r\nSQL&gt; SELECT COUNT(*) FROM ACOUNT_MV_NEV_REFRESH;\r\n\r\n  COUNT(*)\r\n----------\r\n   1193406<\/pre>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_56698\" class=\"pvc_stats all  \" data-element-id=\"56698\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/dbtut.com\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>In today&#8217;s article, we will be explaining the concept of Materialized Views in Oracle, also known as Snapshots. It is a structure that stores the data returned by a query in a table and updates this data with the main table at certain intervals. The user who will create Mview must have &#8220;CREATE MATERIALIZED VIEW&#8221; &hellip;<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_56698\" class=\"pvc_stats all  \" data-element-id=\"56698\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/dbtut.com\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":484,"featured_media":56701,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-56698","post","type-post","status-publish","format-standard","has-post-thumbnail","","category-oracle"],"aioseo_notices":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Materialized Views In Oracle - Database Tutorials<\/title>\n<meta name=\"description\" content=\"In today&#039;s article, we will be explaining the concept of Materialized Views in Oracle, also known as Snapshots.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Materialized Views In Oracle - Database Tutorials\" \/>\n<meta property=\"og:description\" content=\"In today&#039;s article, we will be explaining the concept of Materialized Views in Oracle, also known as Snapshots.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/\" \/>\n<meta property=\"og:site_name\" content=\"Database Tutorials\" \/>\n<meta property=\"article:published_time\" content=\"2024-10-03T17:40:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-10-03T17:45:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dbtut.com\/wp-content\/uploads\/2024\/10\/Ekran-goruntusu-2024-10-03-203226.png\" \/>\n\t<meta property=\"og:image:width\" content=\"732\" \/>\n\t<meta property=\"og:image:height\" content=\"274\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Onur ARDAHANLI\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Onur ARDAHANLI\" \/>\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:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/\"},\"author\":{\"name\":\"Onur ARDAHANLI\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/person\/7fcd466cd0d347ec64aaa48f18f780c6\"},\"headline\":\"Materialized Views In Oracle\",\"datePublished\":\"2024-10-03T17:40:35+00:00\",\"dateModified\":\"2024-10-03T17:45:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/\"},\"wordCount\":541,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/dbtut.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2024\/10\/Ekran-goruntusu-2024-10-03-203226.png\",\"articleSection\":[\"ORACLE\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/\",\"url\":\"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/\",\"name\":\"Materialized Views In Oracle - Database Tutorials\",\"isPartOf\":{\"@id\":\"https:\/\/dbtut.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2024\/10\/Ekran-goruntusu-2024-10-03-203226.png\",\"datePublished\":\"2024-10-03T17:40:35+00:00\",\"dateModified\":\"2024-10-03T17:45:01+00:00\",\"description\":\"In today's article, we will be explaining the concept of Materialized Views in Oracle, also known as Snapshots.\",\"breadcrumb\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/#primaryimage\",\"url\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2024\/10\/Ekran-goruntusu-2024-10-03-203226.png\",\"contentUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2024\/10\/Ekran-goruntusu-2024-10-03-203226.png\",\"width\":732,\"height\":274},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/dbtut.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Materialized Views In Oracle\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/dbtut.com\/#website\",\"url\":\"https:\/\/dbtut.com\/\",\"name\":\"Database Tutorials\",\"description\":\"MSSQL, Oracle, PostgreSQL, MySQL, MariaDB, DB2, Sybase, Teradata, Big Data, NOSQL, MongoDB, Couchbase, Cassandra, Windows, Linux\",\"publisher\":{\"@id\":\"https:\/\/dbtut.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/dbtut.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/dbtut.com\/#organization\",\"name\":\"dbtut\",\"url\":\"https:\/\/dbtut.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg\",\"contentUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg\",\"width\":223,\"height\":36,\"caption\":\"dbtut\"},\"image\":{\"@id\":\"https:\/\/dbtut.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/person\/7fcd466cd0d347ec64aaa48f18f780c6\",\"name\":\"Onur ARDAHANLI\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ecd20c3e1374ced4e1aefc82101cce4cd437be8fd957d1be3d106668b8a1b990?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ecd20c3e1374ced4e1aefc82101cce4cd437be8fd957d1be3d106668b8a1b990?s=96&d=mm&r=g\",\"caption\":\"Onur ARDAHANLI\"},\"url\":\"https:\/\/dbtut.com\/index.php\/author\/onurardahanli\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Materialized Views In Oracle - Database Tutorials","description":"In today's article, we will be explaining the concept of Materialized Views in Oracle, also known as Snapshots.","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:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/","og_locale":"en_US","og_type":"article","og_title":"Materialized Views In Oracle - Database Tutorials","og_description":"In today's article, we will be explaining the concept of Materialized Views in Oracle, also known as Snapshots.","og_url":"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/","og_site_name":"Database Tutorials","article_published_time":"2024-10-03T17:40:35+00:00","article_modified_time":"2024-10-03T17:45:01+00:00","og_image":[{"width":732,"height":274,"url":"https:\/\/dbtut.com\/wp-content\/uploads\/2024\/10\/Ekran-goruntusu-2024-10-03-203226.png","type":"image\/png"}],"author":"Onur ARDAHANLI","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Onur ARDAHANLI","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/#article","isPartOf":{"@id":"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/"},"author":{"name":"Onur ARDAHANLI","@id":"https:\/\/dbtut.com\/#\/schema\/person\/7fcd466cd0d347ec64aaa48f18f780c6"},"headline":"Materialized Views In Oracle","datePublished":"2024-10-03T17:40:35+00:00","dateModified":"2024-10-03T17:45:01+00:00","mainEntityOfPage":{"@id":"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/"},"wordCount":541,"commentCount":0,"publisher":{"@id":"https:\/\/dbtut.com\/#organization"},"image":{"@id":"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/#primaryimage"},"thumbnailUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2024\/10\/Ekran-goruntusu-2024-10-03-203226.png","articleSection":["ORACLE"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/","url":"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/","name":"Materialized Views In Oracle - Database Tutorials","isPartOf":{"@id":"https:\/\/dbtut.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/#primaryimage"},"image":{"@id":"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/#primaryimage"},"thumbnailUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2024\/10\/Ekran-goruntusu-2024-10-03-203226.png","datePublished":"2024-10-03T17:40:35+00:00","dateModified":"2024-10-03T17:45:01+00:00","description":"In today's article, we will be explaining the concept of Materialized Views in Oracle, also known as Snapshots.","breadcrumb":{"@id":"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/#primaryimage","url":"https:\/\/dbtut.com\/wp-content\/uploads\/2024\/10\/Ekran-goruntusu-2024-10-03-203226.png","contentUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2024\/10\/Ekran-goruntusu-2024-10-03-203226.png","width":732,"height":274},{"@type":"BreadcrumbList","@id":"https:\/\/dbtut.com\/index.php\/2024\/10\/03\/materialized-views-in-oracle\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dbtut.com\/"},{"@type":"ListItem","position":2,"name":"Materialized Views In Oracle"}]},{"@type":"WebSite","@id":"https:\/\/dbtut.com\/#website","url":"https:\/\/dbtut.com\/","name":"Database Tutorials","description":"MSSQL, Oracle, PostgreSQL, MySQL, MariaDB, DB2, Sybase, Teradata, Big Data, NOSQL, MongoDB, Couchbase, Cassandra, Windows, Linux","publisher":{"@id":"https:\/\/dbtut.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dbtut.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/dbtut.com\/#organization","name":"dbtut","url":"https:\/\/dbtut.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dbtut.com\/#\/schema\/logo\/image\/","url":"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg","contentUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg","width":223,"height":36,"caption":"dbtut"},"image":{"@id":"https:\/\/dbtut.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/dbtut.com\/#\/schema\/person\/7fcd466cd0d347ec64aaa48f18f780c6","name":"Onur ARDAHANLI","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dbtut.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ecd20c3e1374ced4e1aefc82101cce4cd437be8fd957d1be3d106668b8a1b990?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ecd20c3e1374ced4e1aefc82101cce4cd437be8fd957d1be3d106668b8a1b990?s=96&d=mm&r=g","caption":"Onur ARDAHANLI"},"url":"https:\/\/dbtut.com\/index.php\/author\/onurardahanli\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts\/56698","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/users\/484"}],"replies":[{"embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/comments?post=56698"}],"version-history":[{"count":1,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts\/56698\/revisions"}],"predecessor-version":[{"id":56702,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts\/56698\/revisions\/56702"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/media\/56701"}],"wp:attachment":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/media?parent=56698"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/categories?post=56698"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/tags?post=56698"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}