dg主备切换 oracle_oracle dg主备切换 - CSDN
精华内容
参与话题
  • oracle11g主备切换

    千次阅读 2016-06-13 15:48:49
     众所周知DataGuard一般的切换分成两种,一种是系统正常的情况下的切换这种方式为:switchover是无损切换,不会丢失数据;另外一种方式属于灾难情况下的切换,这种情况下一般主库已经启动不起来了,为failover,有...

    本文来自转载,转载出处为http://blog.itpub.net/12679300/viewspace-1130135/

    前言:

           众所周知DataGuard一般的切换分成两种,一种是系统正常的情况下的切换这种方式为:switchover是无损切换,不会丢失数据;另外一种方式属于灾难情况下的切换,这种情况下一般主库已经启动不起来了,为failover,有可能会丢失数据,并且切换后原primary 数据库也不再是该data guard 配置的一部分了。

           本文先简单的介绍在正常情况下运行的系统切换测试; 

     

    整个dataguard的搭建,请参考实战ORACLE DataGuard不停机的配置,只要按照该文档操作,保证没有问题;

     

    环境信息:

    hostname

    db_name

    db_unique_name

    role

    dg2

    orcl

    orcldg2

    PRIMARY

    dg1

    orcl

    orcldg1

    STANDBY

     

    切换步骤:

    一、主库的操作

    1、主数据库的状态检查

    脚本:SQL> select switchover_status from v$database;

    说明:如果该列值为"TO STANDBY"则表示primary 数据库支持转换为standby 角色,否则的话你就需要重新检查一下Data Guard 配置,比如看看LOG_ARCHIVE_DEST_n 之类参数值是否正确有效等等。

     

    2、首先将primary 转换为standby 的角色

    脚本:SQL> alter database commit to switchover to physical standby;

    说明:PRIMARY进行转换完毕后,查看状态会变成RECOVERY NEEDED;

     

    3、重启动到mount --原primary 数据库操作

    SQL> shutdown immediate

    ORA-01507: 未装载数据库

    ORACLE 例程已经关闭。

    SQL> startup mount

    ORACLE 例程已经启动

     

    二、备库切换成主库的操作

    完成以上操作后,变可以进行以下备库的操作

    1、检查备库的状态

    脚本:脚本:SQL> select switchover_status from v$database;

     

    2、确认没有问题后,可以进行切换转换standby 到primary 角色

    脚本:SQL> alter database commit to switchover to primary;

     

    3、完成转换,打开新的primary 数据库

    SQL> alter database open;

     

    4、查看当前系统的状态

    脚本:select name,open_mode,database_role,protection_mode,SWITCHOVER_STATUS  From v$database;

     

    三、原主库切换成备库

    当前的备库是mount状态了,运行以下语句

    1、执行日志的运用

    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

     

    2、取消日志的运用

    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;  

     

    3、打开数据库

    SQL> ALTER DATABASE OPEN;

     

    4、在open状态下执行日志的即时运用

    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

     

    四、测试

    1、在dg1上面插入一个表test,并插入数值1

     

    2、在dg2上面检查

     

    大功告成了,数据马上传送到dg2了;

    展开全文
  • ORACLE DG概念及切换

    万次阅读 2019-01-15 16:02:46
    DG的原理: DG分为物理standy,逻辑standy 物理standy: 物理STANDBY提供与数据库完全一样的拷贝(块到块),数据库SCHEMA,包括索引都是一样的。它是直接应用REDO实现同步的。 逻辑standy: 逻辑STANDBY则不是...

    DG的原理:

    DG分为物理standy,逻辑standy

    物理standy:

    物理STANDBY提供与主数据库完全一样的拷贝(块到块),数据库SCHEMA,包括索引都是一样的。它是直接应用REDO实现同步的。

    逻辑standy:

    逻辑STANDBY则不是这样,在逻辑STANDBY中,逻辑信息是相同的,但物理组织和数据结构可以不同,它和主库保持同步的方法是将接收的REDO转换成SQL语句,然后在STANDBY上执行SQL语句。逻辑STANDBY除灾难恢复外还有其它用途,比如用于用户进行查询和报表。

    DG三种模式:

    最大保护模式(Maximum protection)  --性能不佳

    alter database set standby database to maximize protection;

    Primary Database上的每个事务的Redo日志必须在本地和Standby Database上都写入日志文件后才能提交,如果不能写入到Standby Database,Primary Database就会自动关闭(挂起)以防止数据丢失。

    最大可用性(Maximum Availability)

    Primary Database每个事务的Redo日志要写到本地和Standby Database中才能提交。

    这个和最大保护模式不同的是,如果写入到Standby Database失败,Primary Database不会自动关闭。这时Primary Database会自动转换为Maximum Performance模式,等待问题解决并且Standby Database再次和Primary Database同步之后,Primary Database会自动的转换为Maximum Availability。

    这种模式要求Standby Database必须配置Standby Redo log,而Primary Database必须配置为LGWR、SYNC、AFFIRM方式归档。

    最大性能(Maximum Performance)

    这个模式是缺省模式,他更加侧重对Primary Database的可用性不造成任何影响。

    Primary Database上的事务的Redo日志只要写到本地日志文件就可以提交,不必等待到Standby Database的传递完成。

    Primary Database的Redo流可以异步的发送到Standby Database。

    这种模式通过LGWR ASYNC或者ARCH实现,Standby Database也不要求使用Standby Redo Log。

    一、检查DG是否正常的四个方法

    1.看备库的告警日志,正在恢复的日志号是否对应得上

    2.看三个进程是否都已经启动

    SQL>select process from v$managed_standby

    主库中显示:

    PROCESS

    ---------

    ARCH

    ARCH

    ARCH

    ARCH

    备库中显示:ARCH、MRPO和RFS 表示正常

    3.先切换一次日志,再进到归档目录里,看两边的归档文件号是否对得上

    4.用命令查看两边归档是否对得上

    SQL> select max(sequence#) from v$archived_log where applied='YES';

    二、切换DG步骤

    关闭:先主库,后备机,开启的时候先开备库启动备库监听,再开主库

    1.先将主库切换成备库,然后将原主库启动到物理库的状态

    SQL> Alter database commit to switchover to physical standby with session shutdown;

    2.关闭主库

    SQL> shutdown immediate

    3.打开数据库nomount

    SQL> startup nomount

    4.更改主库为备库

    SQL> alter database mount standby database;

    SQL> alter database recover managed standby database disconnect from session;

    如果配置了 standby redo log 并需要启用实时同步则执行以下代码

    SQL>alter database recover managed standby database using current logfile disconnect from session;

    5.将备库切换成主库

    SQL> select switchover_status from v$database;

    SQL> select * from v$version where rownum<2;

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

    如果备库还有未应用的日志则执行

    SQL>alter database recover managed standby database disconnect from session;

    SQL> shutdown immediate

    SQL> startup

    切换日志进行检查

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

    SQL>select sequence#,applied from v$archived_log;

    SQL> alter system switch logfile;

     

    展开全文
  • dg主备切换步骤

    千次阅读 2012-05-11 13:06:26
    先将主库切换库,然后将原主库启动到物理库的状态 SQL> select switchover_status from v$database; SWITCHOVER_STATUS -------------------- TO STANDBY SQL> Alter database commit to ...

    先将主库切换成备库,然后将原主库启动到物理库的状态

    SQL> select switchover_status from v$database;



    SWITCHOVER_STATUS
    --------------------
    TO STANDBY


    SQL> Alter database commit to switchover to physical standby with session shutdown;


    Database altered.


    SQL> shut immediate
    ORA-01507: database not mounted




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


    Total System Global Area  304807936 bytes
    Fixed Size                  2212856 bytes
    Variable Size             176163848 bytes
    Database Buffers          121634816 bytes
    Redo Buffers                4796416 bytes
    SQL> alter database mount standby database;


    Database altered.


    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION; 


    Database altered.


    然后将备库切换成主库
    SQL> select switchover_status from v$database;


    SWITCHOVER_STATUS
    --------------------
    NOT ALLOWED


    SQL> select * from v$version where rownum<2;


    BANNER
    --------------------------------------------------------------------------------
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production


    SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY; 


    Database altered.


    SQL> shut immediate
    ORA-01109: database not open




    Database dismounted.
    ORACLE instance shut down.
    SQL> starutp
    SP2-0042: unknown command "starutp" - rest of line ignored.
    SQL> startup
    ORACLE instance started.


    Total System Global Area  304807936 bytes
    Fixed Size                  2212856 bytes
    Variable Size             138415112 bytes
    Database Buffers          159383552 bytes
    Redo Buffers                4796416 bytes
    Database mounted.
    Database opened.
    切换日志进行检查
    SQL> select max(sequence#) from v$log;


    MAX(SEQUENCE#)
    --------------
               108


    SQL> alter system switch logfile;


    System altered.

    参考:
    http://blog.csdn.net/leishifei/article/details/6240464

    展开全文
  • OracleDG三种保护模式及切换方式

    千次阅读 2017-09-19 14:48:29
    一、三种保护方式 Required Redo Transport Attributes for Data Protection Modes Maximum Availability Maximum Performance Maximum Protection AFFIRM NOAFFIRM AFFIRM

    一、三种保护方式

    Required Redo Transport Attributes for Data Protection Modes

    Maximum Availability

    Maximum Performance

    Maximum Protection

    AFFIRM

    NOAFFIRM

    AFFIRM

    SYNC

    ASYNC

    SYNC

    DB_UNIQUE_NAME

    DB_UNIQUE_NAME

    DB_UNIQUE_NAME

     

    1.最大可用性模式Maximum Availability

    1)该模式提供了仅次于“最大保护模式”的数据保护能力;

    2)要求至少一个物理备库收到重做日志后,主库的事务才能够提交;

    3)主库找不到合适的备库写入时,主库不会关闭,而是临时降低到“最大性能模式”模式,直到问题得到处理;

    4)优点:该模式可以在没有问题出现的情况下,保证备库没有数据丢失,是一种折中的方法;

    5)缺点:在正常运行的过程中缺点是主库的性能受到诸多因素的影响。

    2.最大性能模式Maximum Performance

    1)该模式是默认模式,可以保证主数据库的最高可用性;

    2)保证主库运行过程中不受备库的影响,主库事务正常提交,不因备库的任何问题影响到主库的运行;

    4)优点:避免了备库对主数据库的性能和可用性影响;

    5)缺点:如果与主库提交的事务相关的恢复数据没有发送到备库,这些事务数据将被丢失,不能保证数据无损失。

    3.最大保护模式Maximum Protection

    1)这种模式提供了最高级别的数据保护能力;

    2)要求至少一个物理备库收到重做日志后,主库的事务才能够提交;

    3)主库找不到合适的备库写入时,主库会自动关闭,防止未受保护的数据出现;

    4)优点:该模式可以保证备库没有数据丢失;

    5)缺点:主库的自动关闭会影响到主库的可用性,同时需要备库恢复后才能提交,对网络等客观条件要求非常的高,主库的性能会因此受到非常大的冲击。

     

    二、切换方式

    1.主库启动到mount状态

    2.主库中执行如下SQL语句

    SQL> ALTER SYSTEM SET log_archive_dest_2='SERVICE=DG LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DG';
    SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE {AVAILABILITY | PERFORMANCE | PROTECTION};

    3.查询保护模式语句

    SQL> SELECT PROTECTION_MODE FROM V$DATABASE;


     

     


    展开全文
  • oracle DG 启动和关闭顺序

    千次阅读 2018-02-26 17:35:16
    启动顺序:先启动库,后启动主库关闭顺序:先关闭主库,后关闭库1、正确打开库和主库库:SQL&gt; STARTUP MOUNT;SQL&gt;ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;...
  • Oracle 11gR2 DG部署(RMAN方式)

    千次阅读 2018-12-04 09:47:16
    Oracle DG部署(RMAN方式) Oracle DG部署(RMAN方式) 1.环境介绍 2.DG部署 2.1.建立主库orcl 2.2.主库开启归档 2.3.主库添加Standby Redo Log 2.4.从主库创建pfile文件 2.5.设置主库初始化参数 2.6.设置库...
  • oracle dg adg failover switchover broker
  • oracle dg打开库为读写数据库,慎重!

    千次阅读 2014-08-01 20:05:14
    --确保standby数据库置于flashback on 状态 --设置闪回恢复区 alter system set db_recovery_dest_size=2g; ...alter system set db_...--取消库的自动恢复状态 alter database recover managed standby d
  • DataGuard之DG Broker配置详解

    万次阅读 2017-02-17 09:57:01
    oracle dg datagurad failover swithover broker fsfo
  • oracle dg 状态检查

    万次阅读 2018-05-18 10:04:40
    先检查库的归档日志同步情况 SELECT NAME,applied FROM v$archived_log; alter database recover managed standby database cancel;select thread#,sequence#,standby_dest,archived,applied,status from v$...
  • Oracle DG主备切换VIP

    千次阅读 2018-02-05 13:04:26
    在做DG主备切换时,为使应用端在不修改连接配置的情况下,正常连接DG数据库,方法有几种; 一是,应用端连接主机为主机名,可以通过域名解析调整实现; 二是,应用端连接主机为IP, 通过设置VIP(手动配置或者f5等...
  • 有关DG的RFS进程不存在的解决办法

    千次阅读 2015-02-26 16:15:15
    当时有时候库重新启动归档日志应用 时,发现主机不传日志过来,配置也没改过,网络也是通的,万分不解,查看库的DG进程,发现没有RFS进程,主库切换日志不起作用。只好重新在主库上声明机的相关参数,也不知道...
  • oracle DG主备切换

    千次阅读 2017-04-12 11:08:09
    --切换前确认下主备信息 select open_mode, switchover_status, database_role, db_unique_name from v$database; --主库 alter database commit to switchover to physical standby with session shutdow
  • HA/DG/RAC 三者的区别

    千次阅读 2010-08-14 16:04:00
    高可用性解决方案分为4种 (DG AR RAC HA): 一种是oracle提供的被用方法,Standby (=9i DataGuard) 一种是AR (高级复制Advanced Replication,在以前版本叫快照snapshot) 一种是oracle 并行...
  • 01: 与做库一样,配置好 监听文件 密码文件 网络文件 并且动好监听. 注意必要的目录结构.然后从主库,库1 都能用SYS用户登陆到库2 表示通道是联通有效的....dg2: startup nomount pfile='/home/oracle/initdg.ora'
  • DG之主库、切换(物理库)

    千次阅读 2014-07-08 22:28:34
    DG之主库、备库切换 一.开库与关库顺序 ...主备切换 1、操作过程一览 步骤1:启动备库、监听、告警; 步骤2:启动主库、监听、告警; 步骤3:主库(bj)查询信息 SQL>selectname,dbid,databa
  • oracle 搭建dg步骤解析

    千次阅读 2018-09-10 15:46:33
    如果搭建dg 先安装主库database 并建库,同时建库database 软件,不需要建库。 1 主库打开归档功能 启动到mount状态下,打开归档功能 alter database archivelog; SQL&gt; archive log list; ...
  • oracle物理dg安装:主库创建

    千次阅读 2016-04-26 22:18:43
    oracle用户执行dbca,如果是root用户登录图形图面,则su切换用户前需要先执行一下xhost +x,否则oracle不能启动图形界面程序,下一步 ​ 选择Create Database,下一步 选择General Purpose or Transaction ...
  • ORACLE RAC+DG(单实例)

    万次阅读 2019-07-02 14:55:43
    2.DG备库已经安装完相同版本的oracle软件,无需创建数据库。 1、RAC开启归档。 任意节点: alter system set log_archive_format='%t_%s_%r.arc' scope=spfile sid='*'; alter system set log_archiv...
  • oracle datagurad dg failover dg_broker switchover failover fsfo
1 2 3 4 5 ... 20
收藏数 4,799
精华内容 1,919
关键字:

dg主备切换 oracle