{"id":807,"date":"2014-10-02T18:54:28","date_gmt":"2014-10-02T16:54:28","guid":{"rendered":"http:\/\/www.ludovicocaldara.net\/dba\/?p=807"},"modified":"2020-08-18T16:39:13","modified_gmt":"2020-08-18T14:39:13","slug":"adg12c-presentation","status":"publish","type":"post","link":"https:\/\/www.ludovicocaldara.net\/dba\/adg12c-presentation\/","title":{"rendered":"Oracle Active Data Guard 12c: Far Sync Instance, Real-Time Cascade Standby, and Other Goodies"},"content":{"rendered":"<p>Here you can find the content related to my second presentation at <strong>Oracle Open World 2014<\/strong>.<\/p>\n<p><strong>\u00a0Slides<\/strong><br \/>\n<iframe loading=\"lazy\" width=\"427\" height=\"356\" style=\"border: 1px solid #CCC; border-width: 1px; margin-bottom: 5px; max-width: 100%;\" src=\"\/\/www.slideshare.net\/slideshow\/embed_code\/39806004\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" allowfullscreen=\"allowfullscreen\"> <\/iframe><\/p>\n<div style=\"margin-bottom: 5px;\"><strong>Demo video1: Real-Time Cascade<\/strong><\/div>\n<p><iframe loading=\"lazy\" width=\"420\" height=\"315\" src=\"\/\/www.youtube.com\/embed\/sW2ycQEwzok\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<div style=\"margin-bottom: 5px;\"><\/div>\n<div style=\"margin-bottom: 5px;\"><strong>Demo video2: Far Sync Instance<\/strong><\/div>\n<p><iframe loading=\"lazy\" width=\"420\" height=\"315\" src=\"\/\/www.youtube.com\/embed\/oaKQANVnpCg\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p><strong>Demo 1 Script<\/strong><\/p>\n<pre class=\"lang:sh decode:true\">clear\r\n\r\necho \"#### CURRENT CONFIGURATION: CLASSIC DATA GUARD 2 DATABASES ####\"\r\n\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nshow configuration\r\nEOF\r\nread -p \"\"\r\n\r\n\r\necho \"#### ADDING DATABASE REP ####\"\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nadd database 'REP' as connect identifier is 'REP';\r\nEOF\r\nread -p \"\"\r\n\r\necho \"#### NEW CONFIGURATION ####\"\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nshow configuration\r\nEOF\r\nread -p \"\"\r\n\r\n\r\necho\r\necho \"#### EDIT REDOROUTES ####\"\r\necho\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nedit database 'PROD' set property redoroutes='(PROD:DR)'\r\nEOF\r\nread -p \"\"\r\n\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nedit database 'REP' set property redoroutes='(REP:DR)' \r\nEOF\r\nread -p \"\"\r\n\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nedit database 'DR' set property redoroutes='(PROD:REP)(REP:PROD)(DR:REP,PROD)'\r\nEOF\r\nread -p \"\"\r\n\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nedit database 'REP' set property 'NetTimeout'=15;\r\nedit database 'REP' set property 'ReopenSecs'=5;\r\nEOF\r\nread -p \"\"\r\necho\r\n\r\necho \"#### ENABLE DATABASE REP ####\"\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nenable database 'REP'\r\nEOF\r\nread -p \"\"\r\n\r\necho \"#### NEW CONFIGURATION ####\"\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nshow configuration \r\nEOF\r\necho\r\necho\r\necho \"#### IS IT WORKING?? ####\"\r\nread -p \"\"\r\n\r\necho \"#### ENABLE REL-TIME CASCADE ####\"\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nedit database 'DR' set property redoroutes='(PROD:REP ASYNC)(REP:PROD ASYNC)(DR:REP,PROD)'\r\nEOF\r\nread -p \"\"\r\n\r\n\r\necho \"#### NEW CONFIGURATION ####\"\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nshow configuration \r\nEOF\r\necho\r\necho \"#### NOTICE THE NEW BEHAVIOR ####\"\r\nread -p \"\"\r\n\r\necho \"#### SWITCHOVER TO REP ####\"\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nswitchover to 'REP'\r\nEOF\r\nread -p \"\"\r\n\r\necho \"#### NEW CONFIGURATION ####\"\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nshow configuration \r\nEOF\r\nread -p \"\"\r\n\r\n\r\necho \"#### SWITCHOVER TO PROD ####\"\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nswitchover to 'PROD'\r\nEOF<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>Demo 2 script<\/strong><\/p>\n<pre class=\"lang:sh decode:true \">clear\r\n\r\necho \"#### CURRENT CONFIGURATION: 3 CASCADE STANDBY DATABASES ####\"\r\n\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nshow configuration\r\nEOF\r\nread -p \"\"\r\n\r\n\r\necho \"#### CREATE CONTROLFILE ####\"\r\nsqlplus \"\/ as sysdba\" @create_fs_ctl.sql \r\nread -p \"\"\r\n\r\necho \"#### COPY FAR SYNC CONTROLFILE TO FAR SYNC HOSTS ####\"\r\nscp \/tmp\/control01.ctl oracle@o12f01:\/u01\/app\/oracle\/oradata\/PRODFS\/controlfile\/control01.ctl\r\n\r\nscp \/tmp\/control01.ctl oracle@o12f02:\/u01\/app\/oracle\/oradata\/DRFS\/controlfile\/control01.ctl\r\n\r\nread -p \"#### START FS INSTANCES, CLEAR STANDBY LOGS, THEN CONTINUE HERE ####\"\r\n\r\n\r\n\r\necho \"#### ADD FAR_SYNC INSTANCED ####\"\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nadd far_sync 'PRODFS' as connect identifier is 'PRODFS_DG';\r\nEOF\r\nread -p \"\"\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nadd far_sync 'DRFS' as connect identifier is 'DRFS_DG';\r\nEOF\r\nread -p \"\"\r\n\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nedit far_sync 'PRODFS' set property 'NetTimeout'=15;\r\nedit far_sync 'PRODFS' set property 'ReopenSecs'=5;\r\nedit far_sync 'DRFS' set property 'NetTimeout'=15;\r\nedit far_sync 'DRFS' set property 'ReopenSecs'=5;\r\nEOF\r\nread -p \"\"\r\necho\r\n\r\necho \"#### NEW CONFIGURATION ####\"\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nshow configuration \r\nEOF\r\nread -p \"\"\r\n\r\n\r\necho \"#### EDIT REDOROUTES ####\"\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nedit database 'PROD' set property redoroutes='(PROD:PRODFS SYNC)'\r\nEOF\r\nread -p \"\"\r\n\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nedit far_sync 'PRODFS' set property redoroutes='(PROD:DR ASYNC)'\r\nEOF\r\nread -p \"\"\r\n\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nedit database 'DR' set property redoroutes='(PROD:REP ASYNC)(REP:DRFS ASYNC)(DR:REP SYNC, DRFS SYNC)' \r\nEOF\r\nread -p \"\"\r\n\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nedit database 'REP' set property redoroutes='(REP:DR SYNC)'\r\nEOF\r\nread -p \"\"\r\n\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nedit far_sync 'DRFS' set property redoroutes='(DR:PROD ASYNC)(REP:PROD ASYNC)'\r\nEOF\r\nread -p \"\"\r\n\r\necho\r\necho \"#### ENABLE FAR_SYNCS ####\"\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nenable far_sync 'PRODFS'\r\nEOF\r\nread -p \"\"\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nenable far_sync 'DRFS'\r\nEOF\r\nread -p \"\"\r\n\r\necho \"#### NEW CONFIGURATION ####\"\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nshow configuration \r\nEOF\r\necho\r\necho \"#### IT MAY TAKE SOME MINUTES BEFORE EVERYTHING START WORKING ####\"\r\nread -p \"\"\r\n\r\ndgmgrl -echo sys\/manager &lt;&lt;EOF\r\nshow configuration \r\nEOF\r\n<\/pre>\n<p>For the demo I&#8217;ve used 5 machines running 3 database instances and 2 Far Sync instances. I cannot provide the documentation for creating the demo environment, but the scripts may be useful to understand how the demo works.<\/p>\n<p>Cheers<\/p>\n<p>&#8212;<\/p>\n<p>Ludo<\/p>\n<div style=\"margin-bottom: 5px;\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Here you can find the content related to my second presentation at Oracle Open World 2014. \u00a0Slides Demo video1: Real-Time Cascade Demo video2: Far Sync Instance Demo 1 Script clear echo &#8220;#### CURRENT CONFIGURATION: CLASSIC DATA GUARD 2 DATABASES ####&#8221; &hellip; <a href=\"https:\/\/www.ludovicocaldara.net\/dba\/adg12c-presentation\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[327,326,329,3,52,132],"tags":[199,200,292,201,80,180],"class_list":["post-807","post","type-post","status-publish","format-standard","hentry","category-oracle-maa","category-oracle","category-oracle-dg","category-oracledb","category-12c","category-triblog","tag-oow14","tag-active-data-guard-12c","tag-data-guard","tag-demo","tag-new-features","tag-presentation"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/posts\/807","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/comments?post=807"}],"version-history":[{"count":5,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/posts\/807\/revisions"}],"predecessor-version":[{"id":1983,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/posts\/807\/revisions\/1983"}],"wp:attachment":[{"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/media?parent=807"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/categories?post=807"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/tags?post=807"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}