Oracle Database 12c a adus peste 500 de caracteristici noi, iar multe dintre ele sunt legate de îmbunătățiri de Data Guard. Împreună cu optimizarea generală, acum Data Guard Broker oferă suport pentru bazele de date standby în cascadă. Mai mult, destinațiile în cascadă primesc acum logurile redo în timp real, fără a aștepta switch-ul archivelog-urilor.
Cascada standby funcționează la fel ca baza de date standby, dar primește logurile redo din o altă bază de date standby și nu direct de la baza de date primară. Prin urmare se îmbunătățește utilizarea lățimii de bandă în baza de date primară.
Înainte de 12c atunci când redo-ul bazei de date primare era aplicat pe baza de date standby din cascadă numai după ce a fost arhivat. De aceea exista întotdeauna o întârziere între baza de date primară și baza de date standby din cascadă.
Pentru a configura diferite variații ale destinațiilor în așteptare, a fost implementat un nou parametru numit RedoRoutes. Acesta definește regulile de redirecționare care returnează transferul în funcție de starea bazelor de date din Data Guard.
Pentru a vedea cum funcționează, am configurat Data Guard cu două baze de date în standby:
DGMGRL> show configuration Configuration - dgmcfg Protection Mode: MaxPerformance Members: orcl - Primary database orcldg - Physical standby database orcldg2 - Physical standby database Fast-Start Failover: DISABLED Configuration Status: SUCCESS (status updated 9 seconds ago)
Folosind documentația pentru RedoRoutes, am configurat bazele de date, schimbând parametrul pentru primar și pentru una din bazele de date standby:
DGMGRL> show database orcl redoroutes RedoRoutes = '' DGMGRL> show database orcldg redoroutes RedoRoutes = '' DGMGRL> show database orcldg2 redoroutes RedoRoutes = '' DGMGRL> edit database orcl set property redoroutes = '(local:orcldg)(orcldg:orcldg2)'; Property "redoroutes" updated DGMGRL> show configuration Configuration - dgmcfg Protection Mode: MaxPerformance Members: orcl - Primary database orcldg - Physical standby database Members Not Receiving Redo: orcldg2 - Physical standby database Fast-Start Failover: DISABLED Configuration Status: SUCCESS (status updated 22 seconds ago) DGMGRL> edit database orcldg set property redoroutes = '(orcl:orcldg2)(local:orcl)'; Property "redoroutes" updated DGMGRL> show configuration Configuration - dgmcfg Protection Mode: MaxPerformance Members: orcl - Primary database orcldg - Physical standby database orcldg2 - Physical standby database (receiving archived redo) Fast-Start Failover: DISABLED Configuration Status: SUCCESS (status updated 17 seconds ago) DGMGRL> edit database orcldg set property redoroutes = '(orcl:orcldg2 async)(local:orcl)'; DGMGRL> show configuration Configuration - dgmcfg Protection Mode: MaxPerformance Members: orcl - Primary database orcldg - Physical standby database orcldg2 - Physical standby database (receiving current redo) Fast-Start Failover: DISABLED Configuration Status: SUCCESS (status updated 5 seconds ago)
Baza de date primară (orcl) trimite acum redo la orcldg, iar orcldg trimite logurile redo mai departe la orcldg2. Cu toate acestea, RedoRoutes poate avea mai multe reguli de traseu și poate suporta transportul redo după schimbarea rolurilor, cum ar fi switchover-ul de la orcl la orcldg.