DataGuard常用命令及DG主备库开关顺序
常用命令
1.查询命令
select name,db_unique_name from v$database;
select max(sequence#) from v$archived_log;
查询保护模式
select protection_mode,database_role,open_mode from v$database;
查询最近5个应用的归档
select * from (select name,recid,sequence#,status,applied from v$archived_log order by recid desc) where rownum<5;
查询归档日志号及
select sequence#,status,thread#,block#,process,status from v$managed_standby;
2.日志应用
打开日志应用及取消日志应用语句:
alter database recover managed standby database using current logfile disconnect from session;
alter database recover managed standby database disconnect from session;
alter database recover managed standby database cancel;
3.停止Standby
select process, status from v$managed_standby; --查看备库是否在应用日志进行恢复
alter database recover managed standby database cancel;
shutdown immediate;
4.切换到只读模式
-----由shutdown模式切换到只读模式-------
startup nomount;
alter database mount standby database;
alter database open read only;
-----由应用日志模式切换到只读模式-------
alter database recover managed standby database cancel; -- 取消日志应用
alter database open read only;
5.切换回管理恢复模式
startup nomount;
alter database mount standby database;
alter database recover managed standby database disconnect from session; -- 启动日志应用
alter database recover managed standby database using current logfile disconnect from session;
6.主库和备库之间角色切换
6.1 主库切换为备库
alter database commit to switchover to physical standby;
alter database commit to switchover to physical standby with session shutdown;-- 主库有会话连接的时候
shutdown immediate
startup nomount;
alter database mount standby database;
alter database recover managed standby database disconnect from session;
6.2 从库切换为主库
alter database commit to switchover to primary;
shutdown immediate;
startup
alter system switch logfile;
7.备库自动使用主库传过来的日志进行恢复
alter database recover automatic standby database;
8.更改保护模式
alter database set standby database to maximize protection;
alter database set standby database to maximize availability;
alter database set standby database to maximize performancen;
9.取消自动恢复模式
alter database recover managed standby database cancel;
alter database recover managed standby database finish;
alter database recover managed standby database finish force;
启动/关闭顺序
启动顺序
针对DataGuard采用不同的模式,主备库的启动顺序如下:
- max performance(最大性能):主库,备库的启动和关闭顺序没有先后
- max availability(最大可用): 要先启动备库,再启动主库,如果启动顺序相反,主库仍然能启动,但会在主库的alert.log文件中出现如下出错提示
- max protection(最大保护): 先启动备库,再启动主库,如果顺序相反,主库实例会自动中断,数据库无法启动,并会在alert.log文件中留下如下的信息
关闭顺序
- 关库时,先关主库,再关备库