概述
ADG
三种模式切换及介绍
1.1切换到最大保护模式(PERFORMANCE-->PROTECTION
)
--主库
select name,protection_mode,database_role,switchover_status from v$database;
NAME PROTECTION_MODE DATABASE_ROLE SWITCHOVER_STATUS
--------- -------------------- ---------------- --------------------
ORCL MAXIMUM PERFORMANCE PRIMARY TO STANDBY
--备库
select name,protection_mode,database_role,switchover_status from v$database;
NAME PROTECTION_MODE DATABASE_ROLE SWITCHOVER_STATUS
--------- -------------------- ---------------- --------------------
ORCL MAXIMUM PERFORMANCE PHYSICAL STANDBY NOT ALLOWED
--主库操作
--切换到PROTECTION需要重启
alter database set standby database to maximize protection;
alter database set standby database to maximize protection
*
ERROR at line 1:
ORA-01126: database must be mounted in this instance and not open in any
instance
shu immediate
startup mount
alter database set standby database to maximize protection;
Database altered.
alter database open;
--主备库都是下面的输出(database_role肯定是有区别的)
select name,protection_mode,database_role,switchover_status from v$database;
NAME PROTECTION_MODE DATABASE_ROLE SWITCHOVER_STATUS
--------- -------------------- ---------------- --------------------
ORCL MAXIMUM PROTECTION PHYSICAL STANDBY NOT ALLOWED
1.2切换到最大可用模式(PERFORMANCE-->AVAILABILITY
)
--主备库都是下面的输出(database_role肯定是有区别的)
select name,protection_mode,database_role,switchover_status from v$database;
NAME PROTECTION_MODE DATABASE_ROLE SWITCHOVER_STATUS
--------- -------------------- ---------------- --------------------
ORCL MAXIMUM PERFORMANCE PHYSICAL STANDBY NOT ALLOWED
--主库不需要重启
alter database set standby database to maximize availability;
Database altered.
--主备库都是下面的输出(database_role肯定是有区别的)
select name,protection_mode,database_role,switchover_status from v$database;
NAME PROTECTION_MODE DATABASE_ROLE SWITCHOVER_STATUS
--------- -------------------- ---------------- --------------------
ORCL MAXIMUM AVAILABILITY PHYSICAL STANDBY NOT ALLOWED
2.1切换到最大性能模式(AVAILABILITY-->PERFORMANCE
)
--主备库都是下面的输出(database_role肯定是有区别的)
select name,protection_mode,database_role,switchover_status from v$database;
NAME PROTECTION_MODE DATABASE_ROLE SWITCHOVER_STATUS
--------- -------------------- ---------------- --------------------
ORCL MAXIMUM AVAILABILITY PHYSICAL STANDBY NOT ALLOWED
--主库操作
alter database set standby database to maximize performance;
Database altered.
--主备库都是下面的输出(database_role肯定是有区别的)
select name,protection_mode,database_role,switchover_status from v$database;
NAME PROTECTION_MODE DATABASE_ROLE SWITCHOVER_STATUS
--------- -------------------- ---------------- --------------------
ORCL MAXIMUM PERFORMANCE PRIMARY TO STANDBY
2.2切换到最大保护模式(AVAILABILITY-->PROTECTION
)
--主备库都是下面的输出(database_role肯定是有区别的)
select name,protection_mode,database_role,switchover_status from v$database;
NAME PROTECTION_MODE DATABASE_ROLE SWITCHOVER_STATUS
--------- -------------------- ---------------- --------------------
ORCL MAXIMUM AVAILABILITY PRIMARY TO STANDBY
--主库操作不需要重启
alter database set standby database to maximize protection;
Database altered.
--主备库都是下面的输出(database_role肯定是有区别的)
select name,protection_mode,database_role,switchover_status from v$database;
NAME PROTECTION_MODE DATABASE_ROLE SWITCHOVER_STATUS
--------- -------------------- ---------------- --------------------
ORCL MAXIMUM PROTECTION PRIMARY TO STANDBY
3.1切换到最大性能模式(PROTECTION-->PERFORMANCE
)
--主备库都是下面的输出(database_role肯定是有区别的)
select name,protection_mode,database_role,switchover_status from v$database;
NAME PROTECTION_MODE DATABASE_ROLE SWITCHOVER_STATUS
--------- -------------------- ---------------- --------------------
ORCL MAXIMUM PROTECTION PRIMARY TO STANDBY
--主库操作
alter database set standby database to maximize performance;
Database altered.
--主备库都是下面的输出(database_role肯定是有区别的)
select name,protection_mode,database_role,switchover_status from v$database;
NAME PROTECTION_MODE DATABASE_ROLE SWITCHOVER_STATUS
--------- -------------------- ---------------- --------------------
ORCL MAXIMUM PERFORMANCE PRIMARY TO STANDBY
3.2切换到最大可用模式(PROTECTION-->AVAILABILITY
)
--主备库都是下面的输出(database_role肯定是有区别的)
select name,protection_mode,database_role,switchover_status from v$database;
NAME PROTECTION_MODE DATABASE_ROLE SWITCHOVER_STATUS
--------- -------------------- ---------------- --------------------
ORCL MAXIMUM PROTECTION PRIMARY TO STANDBY
--主库操作
alter database set standby database to maximize availability;
Database altered.
--主备库都是下面的输出(database_role肯定是有区别的)
select name,protection_mode,database_role,switchover_status from v$database;
NAME PROTECTION_MODE DATABASE_ROLE SWITCHOVER_STATUS
--------- -------------------- ---------------- --------------------
ORCL MAXIMUM AVAILABILITY PRIMARY TO STANDBY
总结
只有PERFORMANCE
切换到PROTECTION
模式的时候需要重启到MOUNT
状态,其他的无论怎么切换都不需要重启;
还有就是要注意log_archive_dest_n
中的参数,AVAILABILITY
PROTECTION
一定要是LGWR SYNC AFFIRM
,PERFORMANCE
可以是LGWR
或者ARCH
最后
以上就是冷酷铃铛为你收集整理的DG保护模式切换的全部内容,希望文章能够帮你解决DG保护模式切换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复