oracleDG备库重启 ,对主库会有影响吗?
oracleDG备库重启 ,对主库会有影响吗?
我来答
添加附件
收藏
复制链接
微信扫码分享
在小程序上查看
分享
添加附件
问题补充
2条回答
默认
最新
取决于DG的保护模式,DG一共有三种保护模式,如果是最大保护模式,就会有影响。
Maximum performance:最大性能模式
默认的保护模式;
在不影响主库性能的情况下,提供最高级别的保护模式。
Maximum protection :最大保护模式
保证备库的内容和主库的内容完全一致,不能有丝毫的差别;
保证当主库出现问题,不会有任何的数据丢失;
为了达到这样的保护级别,redo data必须同时写入主库的online redo log和备库的standby redo log;
一旦备库的日志写入不成功,那么,主库hang住,超过某个时间长度,主库自动停止实例;
Maximum availability:最大可用模式
介于最大保护和最大性能之间的一种模式:
一般使用最大保护模式保护主库,一旦达不到最大保护模式的条件,转为最大性能模式;
要求所有事务在提交前必须保障redo 数据至少在一个standby 数据库可用,不过与之不同的是,如果
出现故障导入无法同时写入standby 数据库redo log,primary 数据库并不会shutdown,而是自动转为最大性能
模式,等standby 数据库恢复正常之后,它又会再自动转换成最大可用性模式。
评论
有用 0
如楼上所说,有三种模式,但一般情况下备库都是默认的最大性能模式,重启备库不会影响主库,但要记得重启后备库要应用日志进程 MRP0.
select DATABASE_ROLE,PROTECTION_MODE,PROTECTION_LEVEL from v$database;
DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL
---------------- -------------------- --------------------
PHYSICAL STANDBY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE
一般流程如下:
1、先停备库应用
查看备库保护模式
select DATABASE_ROLE,PROTECTION_MODE,PROTECTION_LEVEL from v$database;
====================================================================
2、RAC ADG备库 停备库
先听监听
lsnrctl stop
sqlplus / as sysdba
查看同步情况
set linesize 150;
set pagesize 9999;
column name format a13;
column value format a20;
column unit format a30;
column TIME_COMPUTED format a30;
select name,value,unit,time_computed from v$dataguard_stats where name in ('transport lag','apply lag');
select open_mode from v$database;
select process,status,sequence# from v$managed_standby;
关库
shutdown immediate;
exit;
tail -500f alert_jiekedb.log
3.关机
shutdown -h now
4.维护完毕,开机
5.启动 ADG 备库
先查看是否开启自启动
su - oracle
ps -ef | grep smon
lsnrctl status
sqlplus / as sysdba
如果已启动,检查启动到哪个阶段
col HOST_NAME for a30
select INSTANCE_NAME,HOST_NAME,VERSION,STARTUP_TIME,STATUS from gv$instance;
如果没有启动,则先启动到 mount
sqlplus / as sysdba
startup mount
select open_mode from v$database;
检查 mrp0 进程是否开启
select process,status,sequence# from v$managed_standby;
检查 ADG 同步情况
set linesize 150;
set pagesize 9999;
column name format a13;
column value format a20;
column unit format a30;
column TIME_COMPUTED format a30;
select name,value,unit,time_computed from v$dataguard_stats where name in ('transport lag','apply lag');
如果没有开启则先开启 mrp0 进程,使用如下语句应用日志进程 mrp0
alter database recover managed standby database using current logfile disconnect;
再次查看等如下 value 值为0
set linesize 150;
set pagesize 9999;
column name format a13;
column value format a20;
column unit format a30;
column TIME_COMPUTED format a30;
select name,value,unit,time_computed from v$dataguard_stats where name in ('transport lag','apply lag');
取消日志应用
alter database recover managed standby database cancel;
然后 open 数据库实例
alter database open;
select open_mode from v$database;
然后需要继续应用日志进程 mrp0
alter database recover managed standby database using current logfile disconnect;
检查 mrp0 进程
select process,status,sequence#,THREAD# from v$managed_standby;
--查看日志应用时间,注意 apply lag 即可。
set linesize 150;
set pagesize 9999;
column name format a13;
column value format a20;
column unit format a30;
column TIME_COMPUTED format a30;
select name,value,unit,time_computed from v$dataguard_stats where name in ('transport lag','apply lag');
exit;
也可查看备库 alter 日志。
验证:
主库 切换日志检查备库日志是否会立即同步
alter system switch logfile;
alter system archive log current;
备库
查看Alert日志更新情况
tail -500f alert_jiekedb.log
评论
有用 0回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏


