`
guoyanxi
  • 浏览: 276965 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

dataguard成功实现物理switchover

阅读更多
一直都不能实现switchover,在看了不少文档后终于实现,当然只是照葫芦画瓢,原理还是不理解的

环境:
oracle 10g
thadgdb10  原primary=>physical standby
thadgdb9   原physical standby=>primary

1.现有状态
thadg10:
--环境、版本
SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE    10.2.0.4.0      Production
TNS for Linux: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production

SQL> select database_role,switchover_status from v$database;

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

thadg9:
SQL> select database_role,switchover_status from v$database;

DATABASE_ROLE    SWITCHOVER_STATUS
---------------- --------------------
PHYSICAL STANDBY SESSIONS ACTIVE


2已经同步:
thadg10:
SQL> select max(sequence#) from v$archived_log; 

MAX(SEQUENCE#)
--------------
            49          SESSIONS ACTIVE

thadg9:
SQL> select max(sequence#) from v$archived_log; 

MAX(SEQUENCE#)
--------------
            49


3.开始对原primary操作
thadgdb10:
SQL> 
SQL> alter database commit to switchover to physical standby WITH SESSION SHUTDOWN; 

Database altered.

SQL> shutdown immediate;
ORA-01507: database not mounted


ORACLE instance shut down.
SQL> 
SQL> 
SQL> startup nomount;
ORACLE instance started.

Total System Global Area  536870912 bytes
Fixed Size                  2085288 bytes
Variable Size             150998616 bytes
Database Buffers          377487360 bytes
Redo Buffers                6299648 bytes
SQL> alter database mount standby database;--以standby模式Mount

Database altered.

SQL> alter database recover managed standby database disconnect from session; --启动redo log的监听

Database altered.

SQL> 
SQL> select database_role,switchover_status from v$database;--检查状态,转换成功

DATABASE_ROLE    SWITCHOVER_STATUS
---------------- --------------------
PHYSICAL STANDBY SESSIONS ACTIVE

SQL> 


3.开始对原standby操作
thadgdb9:
SQL> select database_role,switchover_status from v$database;

DATABASE_ROLE    SWITCHOVER_STATUS
---------------- --------------------
PHYSICAL STANDBY SESSIONS ACTIVE


SQL> alter database commit to switchover to primary with session shutdown;--转换

Database altered.

SQL> select open_mode from v$database;--检查当前的open_mode

OPEN_MODE
----------
MOUNTED

SQL> shutdown immediate; --重新打开数据库
ORA-01109: database not open


Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area  536870912 bytes
Fixed Size                  2085288 bytes
Variable Size             150998616 bytes
Database Buffers          377487360 bytes
Redo Buffers                6299648 bytes
Database mounted.
Database opened.
SQL> select database_role,switchover_status from v$database;--检查状态

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

SQL> 


4.检查当前的dataguard是否正常
thadgdb9:
--检查arch dest是否报错
SQL> select status,target,archiver,error,process from v$archive_dest; 

STATUS    TARGET  ARCHIVER
--------- ------- ----------
ERROR                                                             PROCESS
----------------------------------------------------------------- ----------
VALID     PRIMARY ARCH
                                                                  ARCH

VALID     STANDBY LGWR
                                                                  LGWR

INACTIVE  PRIMARY ARCH
                                                                  ARCH


STATUS    TARGET  ARCHIVER
--------- ------- ----------
ERROR                                                             PROCESS
----------------------------------------------------------------- ----------
INACTIVE  PRIMARY ARCH
                                                                  ARCH

INACTIVE  PRIMARY ARCH
                                                                  ARCH

INACTIVE  PRIMARY ARCH
                                                                  ARCH


STATUS    TARGET  ARCHIVER
--------- ------- ----------
ERROR                                                             PROCESS
----------------------------------------------------------------- ----------
INACTIVE  PRIMARY ARCH
                                                                  ARCH

INACTIVE  PRIMARY ARCH
                                                                  ARCH

INACTIVE  PRIMARY ARCH
                                                                  ARCH


STATUS    TARGET  ARCHIVER
--------- ------- ----------
ERROR                                                             PROCESS
----------------------------------------------------------------- ----------
INACTIVE  PRIMARY ARCH
                                                                  ARCH


10 rows selected.

SQL> 
SQL> select database_role,switchover_status from v$database;

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

SQL> select max(sequence#) from v$archived_log; 

MAX(SEQUENCE#)
--------------
            53

SQL> alter system switch logfile;

System altered.

SQL> select max(sequence#) from v$archived_log; 

MAX(SEQUENCE#)
--------------
            54

thadgdb10:
SQL> select database_role,switchover_status from v$database;

DATABASE_ROLE    SWITCHOVER_STATUS
---------------- --------------------
PHYSICAL STANDBY SESSIONS ACTIVE

SQL> select max(sequence#) from v$archived_log; 

MAX(SEQUENCE#)
--------------
            53

SQL> select max(sequence#) from v$archived_log; 

MAX(SEQUENCE#)
--------------
            54

大功告成!

留下点东西:
1.为什么我经常遇到SESSIONS ACTIVE的情况?
2.要确保strandby ok的情况下再startup primary,不然会遇到ORA-03113: end-of-file on communication channel
SQL> select status,target,archiver,error,process from v$archive_dest;

STATUS    TARGET  ARCHIVER
--------- ------- ----------
ERROR                                                             PROCESS
----------------------------------------------------------------- ----------
VALID     PRIMARY ARCH
                                                                  ARCH

ERROR     STANDBY LGWR
ORA-03113: end-of-file on communication channel                   LGWR

INACTIVE  PRIMARY ARCH
                                                                  ARCH


STATUS    TARGET  ARCHIVER
--------- ------- ----------
ERROR                                                             PROCESS
----------------------------------------------------------------- ----------
INACTIVE  PRIMARY ARCH
                                                                  ARCH

INACTIVE  PRIMARY ARCH
                                                                  ARCH

INACTIVE  PRIMARY ARCH
                                                                  ARCH


STATUS    TARGET  ARCHIVER
--------- ------- ----------
ERROR                                                             PROCESS
----------------------------------------------------------------- ----------
INACTIVE  PRIMARY ARCH
                                                                  ARCH

INACTIVE  PRIMARY ARCH
                                                                  ARCH

INACTIVE  PRIMARY ARCH
                                                                  ARCH


STATUS    TARGET  ARCHIVER
--------- ------- ----------
ERROR                                                             PROCESS
----------------------------------------------------------------- ----------
INACTIVE  PRIMARY ARCH
                                                                  ARCH


10 rows selected.

3.以只读模式打开standby以后再作讨论

参考链接(各参考一部分,请按照实际情况操作):
盖老师的文章,就是实在,可读性高!
swtich over的一些操作

分享到:
评论

相关推荐

    Dataguard故障切换(Switchover和Failover)及利用Flashback进行恢复.docx

    在主数据库发生故障时,Data Guard 能够确保业务连续性,通过故障切换(Switchover)和故障恢复(Failover)机制实现。 1. **Switchover** 是一种计划内的角色切换,它允许你在不丢失数据的情况下,将当前主数据库...

    【DATAGUARD】物理dg的switchover切换(五).pdf

    【Oracle Data Guard】物理Data Guard的Switchover切换详解 在Oracle数据库环境中,Data Guard是一种高可用性和灾难恢复解决方案,它通过创建物理或逻辑备用数据库来保护生产数据库免受数据丢失和停机的影响。...

    DataGuard物理standby管理_主备切换

    数据库角色切换可以通过 Switchover 或 Failover 实现。 5. 数据库状态 在 DataGuard 中,数据库状态可以分为多种,包括 Mounted、Open、Recovery 等。不同的数据库状态对应不同的数据库角色和切换方式。在执行 ...

    Oracle11G DataGuard相同SID物理Standby搭建手册

    Oracle 11g DataGuard是Oracle数据库系统中的一个强大特性,用于实现高可用性和灾难恢复。...在实际操作中,建议参考《Oracle11G DataGuard相同SID物理Standby搭建手册》中的详细指南,以确保成功实施。

    perform oracle 11g physacal dataguard switchover

    切换完成后,通过查询`V$DATABASE`的`OPEN_MODE`来确认数据库现在是否处于读写模式,这表明它已经成功切换为主数据库。 7. **后续操作**: 切换后,记得更新应用程序连接参数,使其指向新的主数据库。同时,根据...

    dataguard主库系统崩溃之物理备库切主库

    ### Oracle Dataguard 主库系统崩溃之物理备库切主库 #### 背景介绍 在Oracle数据库环境中,为了确保数据的安全性和系统的高可用性,通常会采用Oracle Dataguard技术来构建主备库(Primary and Standby Databases)...

    【DATAGUARD】物理dg配置客户端无缝切换 (八.1)--Data Guard Broker 的配置

    - 检查 `dgmgrl.log` 文件以验证安装是否成功。 2. **配置 Data Guard Broker**: - 在每个数据库上运行 DGMGRL 工具以注册数据库。 - 使用 `CONFIGURE DATABASE REGISTER` 命令注册主库和物理备库。 - 设置角色...

    oracle配置物理DataGuard

    Oracle物理DataGuard是一种高可用性和灾难恢复解决方案,用于在Linux(如CentOS 5.5)环境下保护数据库。它通过创建一个或多个备用数据库来复制主数据库的数据更改,确保在主数据库出现故障时能快速无缝地切换到备用...

    个人学习DataGuard 心得

    4. **Failover and Switchover**:DataGuard提供了自动和手动两种方式实现故障切换和切换。当主数据库不可用时,DataGuard能自动将服务切换到备用数据库,保证业务连续性。而切换操作则是计划内的,例如为了维护或...

    oracle—DataGuard

    - **角色转换**:通过Switchover或Failover操作实现主备角色互换。 - **逻辑 Standby**:与物理Standby类似,但逻辑Standby可以执行SQL操作,允许用户查询数据并在一定条件下进行修改,适合于数据分析和报表生成等...

    Oracle19C DataGuard物理备库配置文档-完整版

    总结来说,Oracle 19C DataGuard物理备库的配置是一个复杂但关键的过程,涉及到操作系统、数据库软件、网络配置以及安全策略等多个方面。正确配置DataGuard可以显著提升数据库系统的可用性和数据安全性,是企业级...

    官方资料:[英文]Oracle Database 19c data-guard-broker

    总之,Oracle Database 19c的Data Guard Broker是企业实现高可用性和灾难恢复策略的关键工具,它通过自动化和集中的管理,降低了复杂性,提高了效率,并确保了数据的安全性和业务的连续性。管理员可以通过DGMGRL...

    Oracle在物理+DataGuard+中对异构操作系统的支持.pdf

    为了确保在发生故障转移(failover)或手动切换(switchover)到备数据库后,数据保护策略仍然有效,Oracle建议在采用异构配置时进行充分的测试。这些测试需要验证备数据库在接管生产工作负载后,是否能达到期望的...

    【DATAGUARD】物理dg配置客户端无缝切换 (八.2)--Fast-Start Failover 的配置.pdf

    实验可能包括创建物理备库,配置DataGuard,进行switchover和failover测试,以及处理丢失的归档日志。 注意,文中提到的归档日志序列号(如Thrd Seq Low SCN Low Time Next SCN Next Time)对于跟踪和验证归档日志...

    oracle 高可用 dataguard 单机到RAC复制与几乎无停顿全数据迁移

    - **同步物理备库**:使用`switchover`或`failover`命令同步物理备库,确保其与主库保持一致。 - **测试读写操作**:在备库上执行一些简单的读写操作来测试其可用性。 **3. RAC集群配置** - **安装RAC软件**:...

    DataGuard安装

    ApplyServices 在从库上自动应用 redo 日志,实现了 Primary 和 Standby 数据库之间的数据同步。具体而言,有两种不同的应用方式: - **RedoApply**(物理 standby):物理 standby 使用 RedoApply 来直接应用来自 ...

    ORACLE DATAGUARD维护手册

    Oracle Data Guard是Oracle数据库提供的一种高级数据保护技术,主要用于实现数据的高度可用性和灾难恢复能力。它通过构建主数据库(Primary Database)与一个或多个物理副本数据库(Physical Standby Databases)...

    Oracle DataGuard 11g完全参考手册(原版电子档).zip

    Oracle DataGuard是Oracle数据库系统中一个强大的高可用性和灾难恢复解决方案。在11g版本中,它提供了多种保护模式,增强了数据库的容错能力和性能,同时确保了数据的安全性和完整性。以下是对Oracle DataGuard 11g...

Global site tag (gtag.js) - Google Analytics