{"id":3027,"date":"2021-03-22T20:07:20","date_gmt":"2021-03-22T20:07:20","guid":{"rendered":"https:\/\/swiv.com.br\/data-guard-protection-modes\/"},"modified":"2026-05-27T20:02:50","modified_gmt":"2026-05-27T19:02:50","slug":"data-guard-protection-modes","status":"publish","type":"post","link":"https:\/\/swiv.com.br\/index.php\/2021\/03\/22\/data-guard-protection-modes\/","title":{"rendered":"Data Guard Protection Modes"},"content":{"rendered":"\n<p>Do mesmo modo que precisamos coletar com o neg\u00f3cio as suas premissas para que possamos definir a estrat\u00e9gia de backup\/restore, do mesmo jeito precisamos ter este alinhamento para implementar o modo de prote\u00e7\u00e3o do Oracle Data Guard. Em suma, temos as seguintes op\u00e7\u00f5es:<\/p>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Maximum Protection<\/strong>: A prioridade neste caso \u00e9 garantir que nenhum dado seja perdido, em caso de falha do ambiente Primary. Essa garantia existe pois cada redo data gerado pelas transa\u00e7\u00f5es deve ser aplicado em pelo menos um dos standby. Caso isso n\u00e3o aconte\u00e7a, a transa\u00e7\u00e3o n\u00e3o reporta o commit para o cliente. Isso obviamente implica em quest\u00f5es de performance, mas o mecanismo garante a preserva\u00e7\u00e3o dos dados. Em casos mais extremos, caso o primary n\u00e3o consiga se comunicar com o standby, ele acaba sofrendo um abort. At\u00e9 por conta disso, \u00e9 comum vermos mais de um standby ligado ao primary, para ter essa conting\u00eancia quanto \u00e0 disponibilidade do ambiente.<\/li><\/ul>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Maximum Availability<\/strong>: Aqui o processo \u00e9 feito para garantir o m\u00e1ximo de prote\u00e7\u00e3o de dados poss\u00edvel, por\u00e9m sem comprometer a dispobilidade do ambiente. Ou seja, assim como o modo acima, o primary aguardar\u00e1 que o redo data seja devidamente aplicado no standby, para s\u00f3 ent\u00e3o reportar que a transa\u00e7\u00e3o foi aplicada com \u00eaxito (commit). Por\u00e9m, a diferen\u00e7a agora \u00e9 que, no caso de algum problema entre os ambientes, o primary assume o modo Maximum Performance, e passa a n\u00e3o exigir essa confirma\u00e7\u00e3o de aplicar os redo datas no standby. E consequentemente, em casos extremos, o primary n\u00e3o sofre abort, e aplicar esse gap posteriormente quando a comunica\u00e7\u00e3o for restabelecida, e passa a operar novamente como Maximum Availability.<\/li><\/ul>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Maximum Performance<\/strong>: Este \u00e9 o modo padr\u00e3o do Data Guard quando criado, e oferece o m\u00e1ximo de prote\u00e7\u00e3o poss\u00edvel, sem denegrir a performance do ambiente. Isso \u00e9 poss\u00edvel pois o primary n\u00e3o aguarda a confirma\u00e7\u00e3o do standby dizendo que os redo data foram aplicados, para reportar o commit da transa\u00e7\u00e3o. <\/li><\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p>Fonte: https:\/\/docs.oracle.com\/cd\/B19306_01\/server.102\/b14239\/concepts.htm#i1040787<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Do mesmo modo que precisamos coletar com o neg\u00f3cio as suas premissas para que possamos definir a estrat\u00e9gia de backup\/restore, do mesmo jeito precisamos ter este alinhamento para implementar o modo de prote\u00e7\u00e3o do Oracle Data Guard. Em suma, temos as seguintes op\u00e7\u00f5es: Maximum Protection: A prioridade neste caso \u00e9 garantir que nenhum dado seja [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-3027","post","type-post","status-publish","format-standard","hentry","category-high-availability"],"_links":{"self":[{"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts\/3027","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=3027"}],"version-history":[{"count":1,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts\/3027\/revisions"}],"predecessor-version":[{"id":9210,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts\/3027\/revisions\/9210"}],"wp:attachment":[{"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=3027"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=3027"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=3027"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}