Oracle database DataGuard平常维护(一)SQL语句

1.中止Standby数据库

SQL >select process,status from v$managed_standby; --查看备库是否在应用日志进行恢复
SQL >alter database recover managed standby database cancel;
SQL >shutdown immediate;
复制代码

2.切换到只读模式
bash

--在shutdown模式下切换到只读模式session

SQL >startup nomount;
SQL >alter database mount standby database;
SQL >alter database open read only;复制代码

--在应用日志模式切换到只读模式app

SQL >alter database recover managed standby database cancel; -- 取消日志应用
SQL >alter database open read only;复制代码

3.切换回管理恢复模式ui

SQL >startup nomount;
SQL >alter database mount standby database;
SQL >alter database recover managed standby database disconnect from session; -- 启动日志应用
SQL >alter database recover managed standby database using current logfile disconnect from session;
复制代码

4.主库和备库之间角色切换spa

--主库切换为备库日志

SQL >alter database commit to switchover to physical standby;
SQL >alter database commit to switchover to physical standby with session shutdown;-- 主库有会话链接的时候
SQL >shutdown immediate
SQL >startup nomount;
SQL >alter database mount standby database;
SQL >alter database recover managed standby database disconnect from session;
复制代码

--备库切换为主库code

SQL >alter database commit to switchover to primary;
SQL >shutdown immediate;
SQL >startup
SQL >alter system switch logfile; --手动切换日志文件复制代码

5.备库自动使用主库传过来的日志进行恢复orm

SQL >alter database recover automatic standby database;复制代码

6.更改保护模式
it

SQL >alter database set standby database to maximize protection;
SQL >alter database set standby database to maximize availability;
SQL >alter database set standby database to maximize performancen;
复制代码

7.取消自动恢复模式

SQL >alter database recover managed standby database cancel;
SQL >alter database recover managed standby database finish;
SQL >alter database recover managed standby database finish force;
复制代码

8.查看数据库的状态

SQL >select name,open_mode,database_role,protection_mode,switchover_status from v$database;
复制代码

9.查看数据库当前日志状态

SQL >select sequence#,status from v$log;
复制代码

10.查看最大归档序列号

SQL >select max(sequence#) from v$archived_log;
复制代码

11.手动归档

SQL >alter system archive log current;SQL >select message from v$dataguard_status;复制代码

12.在备库手工注册拷贝过来的归档日志

SQL >alter database register logfile ‘/u01/arch/2019.log’
复制代码

13. standby日志相关

SQL >alter database add standby logfile ‘/u01/oradata/orcl/standby01.log’ size 50m; --建立
SQL >alter database drop standby logfile group 4; --删除
SQL >select group#,thread#,sequence#,archived,status from v$standby_log; --查看
(注:recover_mode是managed real time apply是实时应用,managed是非实时应用。)复制代码
相关文章
相关标签/搜索