最大保护(maximum protection)
可以保证主库和备库的同步,任何情况下主库的损毁都不会导致已提交数据的丢失。
如果主库和备库之间的网络出现问题,或者备库本身出现问题,都会导致主库停止数据处理。
最大可用(maximum availability)
保证主库和备库的同步,与上面的区别是当网络或备库不可用时,主库仍可继续。
最大性能(maximum performance)
缺省模式,主库和备库是异步的。这种模式可能在主库出现损毁时,丢失一部分数据。但是这种模式对主库
符合最小,因此具有最好的性能。
1、查看数据库模式
select dest_name,status,database_mode,recovery_mode,protection_mode from v$rachive_dest_status;
select status,database_mode from v$archive_dest_status;
select open_mode,protection_mode,activation#,database_role,switchover,switchover_status from v$database;
2、数据库模式管理
dataguard数据保护模式
数据库模式的查看与调整
首先查看当前的保护模式 ---primary 数据库操作
select protection_mode,protection_level from v$database;
设置新的数据保护模式并重启数据库 --primary数据库操作
当保护模式更改顺序:
maximize protection ---> maximize availability --->maximize performance
当在把dataguard的保护级别按这上面的顺序减低的时候,不需要primary库在mount状态,否则primary必须在mount状态
提示:maximize 后可跟(protection|availability|performance),分别对应最大保护,最高可用性及最高性能。
在最大保护模式下,直接关闭备库是不行的,如果在备库上关闭数据库,会有如下提示:
shutdown immediate
ora-01154:database busy.Open,close,mount,and dismount not allowed now
在最大保护模式下,备库是不允许关闭的,此时首先关闭主库,然后备库就可以顺利关闭了。
注意:主库的保护模式修改之后,备库的模式也会改变,和主库保持一致。
切换dataguard从maximum performance到maximum availability模式
maximum protection/availability模式必须满足以下条件
redo archival process:LGWR
network tranmission mode:SYNC
disk write option:affirm
standby redo logs:yes
standby database type:physical only
默认情况下是maximum performance,所以我们需要调整
1)、查看主备库log_archive_dest_2参数:
(1)主库
show parameter log_archive_dest_2
(2)备库
show parameter log_archive_dest_2
2)、修改主备库的log_archive_dest_2参数:
(1)主库
alter system set log_archive_dest_2='service=standbydb LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) NET_TIMEOUT=30 DB_UNIQUE_NAME=standbydb' scope=both sid='*';
(2)备库
alter system set log_archive_dest_2='service=racdb LGWR VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) NET_TIMEOUT=30 DB_UNIQUE_NAME=racdb' scope=both;
关闭数据库
shutdown immediate
startup mount
alter database set standby database to maximize protection;
alter database open;
欢迎关注“自学Oracle”
领取专属 10元无门槛券
私享最新 技术干货