在了解oracle中data guard的配置后,关于保护模式的切换是管理工作中必须了解的内容,以下主要对基本概念及操作步骤进行介绍:
一.概念: data guard中的保护模式:
a、最大性能(maximize performance):
    这是data guard默认的保护模式。primay上的事务commit前不需要从standby上收到反馈信息,该模式在primary故障时可能丢失数据,但standby对primary的性能影响最小。
b、最大可用(maximize availability):
    在正常情况下,最大可用模式和最大保护模式一样;在standby不可用时,最大可用模式会自动降低成最大性能模式,所以standby故障不会导致primay不可用。只要至少有一个standby可用的情况下,即使primary down机,也能保证不丢失数据。
c、最大保护(maximize protection):
    最高级别的保护模式。primay上的事务在commit前必须确认redo已经传递到至少一个standby上,如果所有standby不可用,则primary会挂起。该模式能保证零数据丢失, 一般为保证主库在某个从库故障后仍能正常运行,最好配置两个及以上的从库.
二.修改方法
  a.查看当前数据库保护模式(最大可用性模式):
  select DATABASE_ROLE,PROTECTION_MODE,PROTECTION_LEVEL from v$database;
p_w_picpath
b.在从库上停止自动应用重做日志:
alter database recover managed standby database cancel;
p_w_picpath
c.在主库上将库启动到mount模式,并修改保护模式为最大保护模式(修改为其它保护模式操作方法类似).
alter database set standby database to maximize protection或(performance/availability)
p_w_picpath
d.查看主从库上保护模式:
select DATABASE_ROLE,PROTECTION_MODE,PROTECTION_LEVEL from v$database;
主库
p_w_picpath
从库
p_w_picpath
e.在从库上设置应用重做日志以继续同步
alter database recover managed standby database disconnect from session;
至此保护模式修改完成!