(一)三种保护模式介绍@H_403_3@1.最大性能模式@H_403_3@这种模式保证数据库主库性能最大化,主备库之间数据是异步传输的。即,主库日志归档以后才会传输到备库,在备库上使用归档日志文件做恢复操作。@H_403_3@这种模式提供在不影响primary数据库性能前提下最高级别的数据保护策略。事物可以随时提交,当前primary数据库的redo数据也需要至少写入一个standby数据库,不过这种写入是不同步的。
2.最高可用模式@H_403_3@这种模式和“最大保护”模式差不多,正常情况下,主备库之间是同步的。当网络或备库出现故障时,不会影响到主库的宕机,主库会自动切换为“ 最大性能”模式,等待备库可用时,将归档传输到备库做恢复。@H_403_3@可以把最高可用模式理解为“最大保护”模式和“最大性能”模式的中间体。@H_403_3@这种模式提供在不影响primary数据库可用前提下最高级别的数据保护策略。其实现方式与最大保护模式类似,也是要求所有事物在提交前必须保障redo数据至少在一个standby数据库可用,不过与之不同的是,如果出现故障导致无法同时写入stangby数据库redo log,primary数据库并不会shutdown,而是自动转为最高性能模式,等standby数据库恢复正常之后,又自动转换为最高可用模式。
3.最大保护模式@H_403_3@这种模式主备之间数据是同步的。即主库提交commit的同时,备库会做相应的恢复。最大限度保证了数据的完整性,不允许数据的丢失。@H_403_3@如果主备库之间网络,或者备库出现问题会直接影响主库操作,导致主库宕机。这种模式能够确保绝无数据丢失。要实现这一步当然是有代价的,他要求所有的事物在提交前期redo不仅被写入本地的online redo log,还要同时提交到standby数据库的standby redo log,并确认redo数据至少在一个standby数据库可用(如果有多个数据库),然后才在primary数据库上提交。如果出现故障导致standby数据库不可用,那么primary数据库也会被shutdown。
注意:@H_403_3@最大保护模式和最高可用模式需要至少一个standby数据库redo数据被同步写入。
(二)三种保护模式参数配置@H_403_3@最大性能:@H_403_3@LGWR ASYNC NOAFFIRM
最大保护,最高可用:@H_403_3@LGWR SYNC AFFIRM
(三)三种保护模式转换@H_403_3@如何查看数据库的主备、保护模式:@H_403_3@主库:
sql> select name,open_mode,database_role,protection_mode,protection_level from v$database; NAME OPEN_MODE DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL --------- -------------------- ---------------- -------------------- ------------------- ADGDB READ WRITE PRIMARY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE
备库:
sql; NAME OPEN_MODE DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL ------- -------------------- ---------------- -------------------- -------------------- ADGDB READ ONLY WITH APPLY PHYSICAL STANDBY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE
1.转换为最高可用模式,在备库和主库上执行:
alter database set standby to maximize availability;
2.转换为最大性能模式,1)">to maximize performance;