Oracle11gr2_ADG管理之在备库上模拟failover的过程实战

技术建议和方案。

 要求failover后不重建备库,并能够把failover的数据库重新切换回备库
主库为newtest,备库为snewtest
备库上已经开启了闪回

得到一个参考的SCN

SQL> select current_scn from v$database;

CURRENT_SCN
-----------
    4491930

查看闪回数据库特性是打开的。

SQL> select flashback_on from v$database;
FLASHBACK_ON
------------------------------------
YES

然后我们在备库上开始failover

DGMGRL> failover to snewtest;
Performing failover NOW, please wait...
Failover succeeded, new primary is "snewtest"

操作很快完成,我们查看备库此时的状态和角色

SQL> select open_mode,database_role    from v$database;

OPEN_MODE            DATABASE_ROLE
-------------------- ----------------
READ WRITE           PRIMARY

当然这个步骤可以做一些读写操作之类的.

然后我们开始计划切回备库。

SQL> shutdown immediate

SQL> startup mount

闪回数据库到指定的SCN,

SQL> flashback database to scn 4491930;
Flashback complete.

切换这个新主库为备库

SQL> alter database convert to physical standby;
Database altered.

需要重启备库

SQL> shutdown immediate
SQL> startup mount

最关键的步骤,重新配置DG Broker

主库上删除DG Broker配置

SQL> alter system set dg_broker_start = false;

System altered.

SQL> !ps -ef |grep dmon
oracle   24648 24644  0 00:13 pts/3    00:00:00 /bin/bash -c ps -ef |grep dmon
oracle   24650 24648  0 00:13 pts/3    00:00:00 grep dmon

[[email protected] ~]$ cd $ORACLE_HOME/dbs
[[email protected] dbs]$ ll
total 10048
-rw-r-----. 1 oracle dba     8192 Mar 30 00:07 dr1newtest.dat
-rw-r-----. 1 oracle dba     8192 Mar 30 00:07 dr2newtest.dat
-rw-rw----. 1 oracle dba     1544 Mar 12 00:02 hc_DBUA1321268.dat
-rw-rw----. 1 oracle dba     1544 Mar 27 21:10 hc_newtest.dat
-rw-r--r--. 1 oracle dba      982 Mar 21 23:12 initnewtest.ora
-rw-r--r--. 1 oracle dba     2851 May 15  2009 init.ora
-rw-r-----. 1 oracle dba       24 Jan 31 20:16 lkNEWTEST
-rw-r-----. 1 oracle dba     1536 Jan 31 20:18 orapwnewtest
-rw-r-----. 1 oracle dba 10240000 Mar 27 23:53 snapcf_newtest.f
-rw-r-----. 1 oracle dba     3584 Mar 30 00:12 spfilenewtest.ora
[[email protected] dbs]$ rm -rf dr*newtest.dat
[[email protected] dbs]$ ll
total 10032
-rw-rw----. 1 oracle dba     1544 Mar 12 00:02 hc_DBUA1321268.dat
-rw-rw----. 1 oracle dba     1544 Mar 27 21:10 hc_newtest.dat
-rw-r--r--. 1 oracle dba      982 Mar 21 23:12 initnewtest.ora
-rw-r--r--. 1 oracle dba     2851 May 15  2009 init.ora
-rw-r-----. 1 oracle dba       24 Jan 31 20:16 lkNEWTEST
-rw-r-----. 1 oracle dba     1536 Jan 31 20:18 orapwnewtest
-rw-r-----. 1 oracle dba 10240000 Mar 27 23:53 snapcf_newtest.f
-rw-r-----. 1 oracle dba     3584 Mar 30 00:12 spfilenewtest.ora

备库上删除DG Broker配置

SQL>  alter system set dg_broker_start = false;

System altered.

SQL> !ps -ef |grep dmon
oracle   15200 15198  0 00:15 pts/2    00:00:00 /bin/bash -c ps -ef |grep dmon
oracle   15202 15200  0 00:15 pts/2    00:00:00 grep dmon

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[[email protected] backup_stage]$ cd $ORACLE_HOME/dbs
[[email protected] dbs]$ ll
total 10064
-rw-r-----. 1 oracle dba    20480 Mar 30 00:13 dr1snewtest.dat
-rw-r-----. 1 oracle dba    20480 Mar 30 00:08 dr2snewtest.dat
-rw-rw----. 1 oracle dba     1544 Mar 30 00:12 hc_newtest.dat
-rw-r--r--. 1 oracle dba     1062 Mar 21 23:30 initnewtest.ora
-rw-r-----. 1 oracle dba       24 Mar 21 23:38 lkSNEWTEST
-rw-r-----. 1 oracle dba     1536 Mar 27 23:34 orapwnewtest
-rw-r-----. 1 oracle dba 10240000 Mar 29 06:45 snapcf_newtest.f
-rw-r-----. 1 oracle dba     4608 Mar 30 00:15 spfilenewtest.ora
[[email protected] dbs]$ rm -rf dr*snewtest.dat
[[email protected] dbs]$ ll
total 10024
-rw-rw----. 1 oracle dba     1544 Mar 30 00:12 hc_newtest.dat
-rw-r--r--. 1 oracle dba     1062 Mar 21 23:30 initnewtest.ora
-rw-r-----. 1 oracle dba       24 Mar 21 23:38 lkSNEWTEST
-rw-r-----. 1 oracle dba     1536 Mar 27 23:34 orapwnewtest
-rw-r-----. 1 oracle dba 10240000 Mar 29 06:45 snapcf_newtest.f
-rw-r-----. 1 oracle dba     4608 Mar 30 00:15 spfilenewtest.ora

主库上重新配置 DG Broker

SQL> alter system set dg_broker_start =true;

System altered.

[[email protected] dbs]$ dgmgrl /
DGMGRL for Linux: Version 11.2.0.4.0 - 64bit Production

Copyright (c) 2000, 2009, Oracle. All rights reserved.

Welcome to DGMGRL, type "help" for information.
Connected.
DGMGRL> create configuration dg_newtest as primary database is newtest connect identifier is newtest;
Configuration "dg_newtest" created with primary database "newtest"
DGMGRL> show configuration;

Configuration - dg_newtest

  Protection Mode: MaxPerformance
  Databases:
    newtest - Primary database

Fast-Start Failover: DISABLED

Configuration Status:
DISABLED

DGMGRL> enable configuration ;
Enabled.
DGMGRL>  show configuration;

Configuration - dg_newtest

  Protection Mode: MaxPerformance
  Databases:
    newtest - Primary database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

DGMGRL> add database snewtest as connect identifier is snewtest maintained as physical;
Database "snewtest" added
DGMGRL>  enable database snewtest;
Enabled.
DGMGRL>  show configuration;

Configuration - dg_newtest

  Protection Mode: MaxPerformance
  Databases:
    newtest  - Primary database
    snewtest - Physical standby database
      Error: ORA-16525: the Data Guard broker is not yet available

Fast-Start Failover: DISABLED

Configuration Status:
ERROR

此时提示备库的 Data Guard broker不可用

配置备库的DG Broker

SQL> alter system set dg_broker_start = true;

System altered.

在主库上再次查看dg broke 的状态

DGMGRL> show configuration

Configuration - dg_newtest

  Protection Mode: MaxPerformance
  Databases:
    newtest  - Primary database
    snewtest - Physical standby database
      Error: ORA-16613: initialization in progress for database

Fast-Start Failover: DISABLED

Configuration Status:
ERROR

此时是初始化状态

open 备库

SQL> alter database open;

Database altered.

在主库上再次查看dg broke 的状态

DGMGRL> show configuration

Configuration - dg_newtest

  Protection Mode: MaxPerformance
  Databases:
    newtest  - Primary database
    snewtest - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

查看备库的状态

 SQL> select open_mode,database_role    from v$database;

OPEN_MODE            DATABASE_ROLE
-------------------- ----------------
READ ONLY WITH APPLY PHYSICAL STANDBY

原文地址:https://www.cnblogs.com/chinesern/p/8687126.html

时间: 2024-10-28 14:58:06

Oracle11gr2_ADG管理之在备库上模拟failover的过程实战的相关文章

在dataguard备库上找回在主库上被错误的Drop/Truncate/Delete 掉的Table

前提: - Standby Database Must be in Flashback database mode. - Time at which Drop/Truncate/Delete Table happened should be within the db_flashback_retention_target and all the flashback and archive logs should be available     在dataguard备库上找回在主库上被错误的Dr

oracle 利用flashback将备库激活为read wirte(10g 及上)

oracle 利用flashback将备库激活为read wirte(10g 及上) 环境: OS: CENTOS 6.5 X64 DB: ORACLE 10.2.0.5 主库操作: SQL> alter system switch logfile; System altered. SQL> 备库操作 取消归档应用 SQL> alter database recover managed standby database cancel; Database altered. SQL>

Oracle 11g Data Guard 物理备库快速配置指南(上)

缘起 最近做了10g和11g的物理备库配置实验,发现 Data Guard 其实很容易,但是缺少好文档.我是参考官方文档做的实验,觉得它写的不是很清楚的. Google 出来两个pdf文档,读了觉得比官方文档强很多.翻译下,也许会对某些朋友有用.翻译的同时我也好更熟悉下这两个文档.好久没翻译过英文了,可以顺便练练手. 原文档下载地址(墙外): Configure Dataguard 11gR2 Physical Standby Part 1 Configure Dataguard 11gR2 P

备库简介

备库类型:1.物理备库:2.逻辑备库:3.快照备库. 可以同时配置1个或多个类型的备库 1.物理备库 是主库的块对块的拷贝,应用重做日志,通过从主库接受重做数据应用到物理备库上的机制 可以以read only模式打开,11g之后可以配置active DG以只读模式打开应用重做数据 物理备库的好处: 1. 灾难恢复和高可用 2. 数据保护 支持多有的DDL和DML操作 3. 减小主库负载 以只读模式打开,用于报表和查询 4. 性能 底层拷贝,绕过SQL级别代码层 2. 逻辑备库 通过SQL应用更新

备份一篇SVN的文章, 从搭建到主备库

来源: http://h2ofly.blog.51cto.com/6834926/1539141 [svn简介]            svn用于版本管理数据,它采用了分支管理系统.在它出现之前存在CVS,svn推出之后,逐步替代了CVS.            目前又出现git,相比于svn,git更支持分布式版本管理,目前发展很猛,这里不详细介绍.大家可以先把svn了解熟悉之后,再看看git,对比下.            ps:时代总是在进步啊,需要跟上潮流.同时,需要了解潮流为何,需要思

mysql主键的缺少导致备库hang

最近线上频繁的出现slave延时的情况,经排查发现为用户在删除数据的时候,由于表主键的主键的缺少,同时删除条件没有索引,或或者删除的条件过滤性极差,导致slave出现hang住,严重的影响了生产环境的稳定性,也希望通过这篇博客,来加深主键在innodb引擎中的重要性,希望用户在使用RDS,设计自己的表的时候,一定要为表加上主键,主键可以认为是innodb存储引擎的生命,下面我们就来分析一下这个案例(本案例的生产环境的binlog为row模式,对于myisam存储引擎也有同样的问题):(1).现象

【转载】mysql主键的缺少导致备库hang

最近线上频繁的出现slave延时的情况,经排查发现为用户在删除数据的时候,由于表主键的主键的缺少,同时删除条件没有索引,或或者删除的条件过滤性极差,导致slave出现hang住,严重的影响了生产环境的稳定性,也希望通过这篇博客,来加深主键在innodb引擎中的重要性,希望用户在使用RDS,设计自己的表的时候,一定要为表加上主键,主键可以认为是innodb存储引擎的生命,下面我们就来分析一下这个案例(本案例的生产环境的binlog为row模式,对于myisam存储引擎也有同样的问题):(1).现象

oracle11g dataguard物理备库搭建

Dataguard 环境: 操作系统:Redhat6.4 Primary数据库: IP 地址:192.168.1.122 数据库SID:ora11g DB_UNIQUE_NAME:ora11g_primary Standby数据库: IP 地址:192.168.1.123 数据库SID:ora11g DB_UNIQUE_NAME:ora11g_standby (注:oracle数据库版本是11.2.0.1.0) 1.Primary端的配置 (1).检查数据库是否支持 Data Guard(企业版

Oracle 11g Data Guard 之逻辑备库角色转换

逻辑备库不复制数据库服务,在进行switchover或者failover时,连接主库服务的中间层将不能连接(因为服务的创建没有被复制),或者连接不正确的版本(因为服务属性的修改没有被复制). Oracle集群不复制管理逻辑备库的服务,必须手动对主库与备库进行同步,具体的详参Oracle集群管理和部署的相关内容. 一.逻辑备库的switchover操作 当进行switchover操作来改变主库和逻辑备库的角色时,总是在主库启动switchover,然后在逻辑备库完成操作,其中的步骤必须按顺序,否则