热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

OracleDataGuard主备切换switchover-mysql教程

不可预知原因导致primary数据库故障并且短期内不能恢复就需要failover。如果是这种切换那你就要小心点了,有可能只是虚惊一场

不可预知原因导致 primary 数据库故障并且短期内不能恢复就需要 failover。如果是这种切换那你就要小心点了,有可能只是虚惊一场

环境:

OS:rhel63_64bit

DB: Oracle10gR2

主备切换 切换的顺序: 先从主库到备用,再从备库到主库
Switchover Switchover:
无损转换,通常是用户手动触发或者有计划的让其自动触发,比如硬件升级啦,软件升级啦之类的。
通常它给你带来的工作量非常小并且都是可预计的。其执行分两个阶段,第一步,primary 数据库转换为standby 角色,第二步,standby 数据库(之一)转换为 primary 角色,primary 和 standby 只是简单的角色互换,这也印证了我们前面关于角色转换是 primary/standby 互动的猜测。
Failover Failover:
不可预知原因导致 primary 数据库故障并且短期内不能恢复就需要 failover。如果是这种切换那你就要小心点了,有可能只是虚惊一场,甚至连你可能损失的脑细胞的数量都能预估,但如果运气不好又没有完备的备份恢复策略而且 primary 数据并非处于最大数据保护或最高可用性模式地话

SWITCHOVER_STATUSVARCHAR2(18)Indicates whether switchover is allowed:
■NOT ALLOWED - Either this is a standby database and the primary
database has not been switched first or this is a primary database
and there are no standby databases.
■SESSIONS ACTIVE - Indicates that there are active SQL sessions
attached to the primary or standby database that need to be
disconnected before the switchover operation is permitted. Query
theV$SESSIONviewtoidentifythespecificprocessesthatneedto
be terminated.
■SWITCHOVER PENDING - This is a standby database and the
primary database switchover request has been received but not
processed.
■SWITCHOVER LATENT - The switchover was in pending mode,
but did not complete and went back to the primary database.
■TOPRIMARY-Thisisastandbydatabaseandisallowedtoswitch
over to a primary database.
■TOSTANDBY-Thisisaprimarydatabaseandisallowedtoswitch
over to a standby database.
■RECOVERY NEEDED - This is a standby database that has not
received the switchover request.
主库操作
SQL> select process,pid,status,client_process from v$managed_standby;

PROCESS PID STATUS CLIENT_P
--------- ---------- ------------ --------
ARCH 7913 CONNECTED ARCH
ARCH 7915 CONNECTED ARCH
ARCH 7917 CLOSING ARCH
ARCH 7919 CONNECTED ARCH
ARCH 7921 CONNECTED ARCH
ARCH 7923 CONNECTED ARCH
ARCH 7925 CONNECTED ARCH
ARCH 7927 CONNECTED ARCH
ARCH 7929 CONNECTED ARCH
ARCH 7931 CONNECTED ARCH
LGWR 7893 WRITING LGWR

11 rows selected.

SQL> select DATABASE_ROLE,switchover_status from v$database;

DATABASE_ROLE SWITCHOVER_STATUS
---------------- --------------------
PRIMARY SESSIONS ACTIVE

SQL>
sys@ORA> SELECT COUNT(*) FROM V$SESSION WHERE USERNAME IS NOT NULL;

COUNT(*)
----------
1
SQL> startup force
ORACLE instance started.

Total System Global Area 213909504 bytes
Fixed Size 2095152 bytes
Variable Size 88082384 bytes
Database Buffers 117440512 bytes
Redo Buffers 6291456 bytes
Database mounted.
Database opened.
SQL> select DATABASE_ROLE,switchover_status from v$database;

DATABASE_ROLE SWITCHOVER_STATUS
---------------- --------------------
PRIMARY SESSIONS ACTIVE

SQL> SELECT COUNT(*) FROM V$SESSION WHERE USERNAME IS NOT NULL;

COUNT(*)
----------
1
没有其他的会话,直接切换
SQL> select sequence#,applied from dba_logstdby_log;

no rows selected


SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN;

Database altered.
SQL> alter database commit to switchover to standby;

Database altered.

SQL> select instance_name,status from v$instance;

INSTANCE_NAME STATUS
---------------- ------------
ora STARTED
SQL> shutdown immediate
ORA-01507: database not mounted


ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.

Total System Global Area 213909504 bytes
Fixed Size 2095152 bytes
Variable Size 92276688 bytes
Database Buffers 113246208 bytes
Redo Buffers 6291456 bytes
Database mounted.
sys@ORA> select DATABASE_ROLE,switchover_status from v$database;

DATABASE_ROLE SWITCHOVER_STATUS
---------------- --------------------
PHYSICAL STANDBY TO PRIMARY

SQL> select process,pid,status,client_process from v$managed_standby;

推荐阅读
  • 本文将详细探讨MySQL中较为特殊的三种数据类型:SQLTEXT、DATE以及SET,包括它们的基本用法、适用场景及一些高级特性。 ... [详细]
  • StoredProcedure “存储过程名” 的TextHeader 中存在语法错误
    修改存储过程的时候出现StoredProcedure“存储过程名”的TextHeader中存在语法错误出现这样的问题的解决方法(本人修改已成功)在创建存 ... [详细]
  • 本文基于最新版SQLite 3.33.0(发布于2020年8月20日),详细介绍如何使用ORDER BY语句进行数据排序,包括单列和多列排序的方法。 ... [详细]
  • 本文探讨了Android系统中联系人数据库的设计,特别是AbstractContactsProvider类的作用与实现。文章提供了对源代码的详细分析,并解释了该类如何支持跨数据库操作及事务处理。源代码可从官方Android网站下载。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文详细介绍了在MyBatis框架中如何通过#和$两种方式来传递SQL查询参数。使用#方式可以提高执行效率,而使用$则有助于在复杂SQL语句中更好地查看日志。此外,文章还探讨了不同场景下的参数传递方法,包括实体对象、基本数据类型以及混合参数的使用。 ... [详细]
  • 本文通过一系列实验,探讨了Oracle 11g数据库中密码错误验证延迟特性对用户登录速度的影响。实验旨在验证当某个用户因输入错误密码而触发延迟时,是否会影响其他用户的正常登录速度。 ... [详细]
  • SQL查询与事务管理:深入解析
    本文详细介绍了SQL查询的基本结构和高级特性,包括选择、分组查询以及权限控制等内容,并探讨了事务管理中的并发控制策略,旨在为数据库管理员和开发人员提供实用指导。 ... [详细]
  • PHP 图形函数中实现汉字显示的方法
    本文详细介绍了如何在 PHP 的图形函数中正确显示汉字,包括具体的步骤和注意事项,适合初学者和有一定基础的开发者阅读。 ... [详细]
  • 2023年1月28日网络安全热点
    涵盖最新的网络安全动态,包括OpenSSH和WordPress的安全更新、VirtualBox提权漏洞、以及谷歌推出的新证书验证机制等内容。 ... [详细]
  • 本文由公众号【数智物语】(ID: decision_engine)发布,关注获取更多干货。文章探讨了从数据收集到清洗、建模及可视化的全过程,介绍了41款实用工具,旨在帮助数据科学家和分析师提升工作效率。 ... [详细]
  • 本文深入探讨了MySQL中的高级特性,包括索引机制、锁的使用及管理、以及如何利用慢查询日志优化性能。适合有一定MySQL基础的读者进一步提升技能。 ... [详细]
  • 将XML数据迁移至Oracle Autonomous Data Warehouse (ADW)
    随着Oracle ADW的推出,数据迁移至ADW成为业界关注的焦点。特别是XML和JSON这类结构化数据的迁移需求日益增长。本文将通过一个实际案例,探讨如何高效地将XML数据迁移至ADW。 ... [详细]
  • 在使用mybatis进行mapper.xml测试的时候发生必须为元素类型“mapper”声明属性“namespace”的错误项目目录结构UserMapper和UserMappe ... [详细]
  • Windows环境下Oracle数据库迁移实践
    本文详细记录了一次在Windows操作系统下将Oracle数据库的控制文件、数据文件及在线日志文件迁移至外部存储的过程,旨在为后续的集群环境部署做好准备。 ... [详细]
author-avatar
百变精灵_tb
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有