暂无图片
oracleDG备库重启 ,对主库会有影响吗?
我来答
分享
黑色VF
2021-11-26
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
暂无图片
黑色VF
题主
2021-11-26
感谢指导
JiekeXu
暂无图片

如楼上所说,有三种模式,但一般情况下备库都是默认的最大性能模式,重启备库不会影响主库,但要记得重启后备库要应用日志进程 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
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏