-- Maximum protection(最大保护模式)
-- Maximum availability(最大可用模式)
-- Maximum performance(最大性能模式)
查看dg是什么模式的
select database_role,protection_mode,protection_level from v$database;
在Maximum protection下, 可以保证从库和主库数据完全一样,做到zero data loss.事务同时在主从两边提交完成,才算事务完成。如果从库宕机或者网络出现问题,主从库不能通讯,主库也立即宕机。在这种方式下,具有最高的保护等级。但是这种模式对主库性能影响很大,要求高速的网络连接。
在Maximum availability模式下,如果和从库的连接正常,运行方式等同Maximum protection模式,事务也是主从库同时提交。如果从库和主库失去联系,则主库自动切换到Maximum performance模式下运行,保证主库具有最大的可用性。
在Maximum performance ,主库把归档的 archived log通过arch进程传递给从库,在这种方式下,主库运行性能最高,但是不能保证数据不丢失,且丢失的数据受redo log的大小影响。在redo log过大的情况下,可能一天都没有归档一个日志,可以通过手工切换日志的方式来减小数据的丢失(这个问题可以通过设置定时切归档参数解决)。
大家在做dataguard database 的时候一般选择什么样的模式?
目前国内基本上是最大性能模式,其他模式会整死你
Maximum availability觉得也挺好的,如果网络没有问题,和Maximum protection一样,如果网络不好和Maximum performance一样
首先Maximum protection在只有一台standby database 的情况下一般不会使用的,一方面对主库的性能影响比较的大,一方面要保证快速安全的网络速度,如果网络断开或者standby database 失效的话,那么会引起主库的down机,虽然说可以最大保护数据,但是还是不安全,如果有多台standby database 的话可以考虑
Maximum performance;虽然对主库的性能影响不大,但是对数据的保护不好啊,9i一般日志默认大小是100M,如果主库的磁盘全坏了,那至少要损失100m 的日志数据啊,这就起不到保护数据的作用