zoukankan      html  css  js  c++  java
  • Oracle 11g Data Guard保护模式

    本篇主要包括如下两部分内容:
    • Data Guard保护模式
    • 设置主库的保护模式

    一 Data Guard保护模式


    1、最大可用性(MAXumum Availability)
          最大可用性保护模式提供了在不影响主库可用性的情况下最高级别的数据保护。需要进行恢复事务的所有重做数据被写到online redo log和至少一个同步备库的standby redo log时,事务才会提交。如果主库不能将重做流写到至少一个备库,那么它将按照最大性能模式来保护主库的可用性,直到它再次能够将重做流写到备库为止。

    2、最大性能(Maxumum Performance)
          最大性能是默认的保护模式,它提供了在不影响主库性能情况下的最高级别数据保护。一旦事务产生的redo data被写到online log,事务就会立即提交。重做数据也被写入一个或多个备库,但它在事务提交方面是异步完成的,因此,主库性能不会因延迟写重做数据到备库而受到影响。和最大可用性模式相比,这种保护模式提供了稍微小一些的数据保护,但它对主库性能的影响最小。

    3、最大保护(Maximum Protection)
          最大保护模式确保主库故障时不会发生数据丢失。为了提供这种级别的保护,在事务提交前,恢复事务所需的重做数据必须同时写入online redo log和至少一个备库的standby redo log。为了确保数据丢失不会发生,如果主库不能将其重做流写入至少一个备库,主库将关闭,而不是继续处理事务。

          Data Guard将重做数据一写到standby redo log持久存储时,主库的事务就会被认为是受保护的。一旦完成,确认就会快速返回到主库,以便继续进行下一个事务,这减少了同步传输对主库吞吐量和响应时间的影响。要完全从备库的完整Data Guard验证中获益,确保在实时应用日志模式(real-time apply mode)操作,以便重做更改被接收时快速地应用到备库。

          由于这种数据保护模式将数据保护优先于主库的可用性,因此,Oracle建议使用至少两个备库来保护运行在最大保护模式下的主库,以防止单个备库故障而导致主库关闭。


    二 设置主库的保护模式


    执行下面的步骤设置主库的保护模式。
    1、查看主库当前保护模式
    SQL> select name,open_mode,protection_mode,database_role,switchover_status from v$database;
    
    NAME	  OPEN_MODE	       PROTECTION_MODE	    DATABASE_ROLE    SWITCHOVER_STATUS
    --------- -------------------- -------------------- ---------------- --------------------
    SZPRI	  READ WRITE	       MAXIMUM PERFORMANCE  PRIMARY	     TO STANDBY
    2、切换保护模式为最大保护模式
    需要使主库处于Mount状态方可切换
    SQL> startup mount
    ORACLE instance started.
    
    Total System Global Area  830930944 bytes
    Fixed Size		    2257800 bytes
    Variable Size		  536874104 bytes
    Database Buffers	  289406976 bytes
    Redo Buffers		    2392064 bytes
    Database mounted.
    SQL> alter database set standby database to maximize protection;
    
    Database altered.
    3、查看主备库保护模式
    • 主库
    SQL> select name,open_mode,protection_mode,database_role,switchover_status from v$database;
    
    NAME	  OPEN_MODE	       PROTECTION_MODE	    DATABASE_ROLE    SWITCHOVER_STATUS
    --------- -------------------- -------------------- ---------------- --------------------
    SZPRI	  READ WRITE	       MAXIMUM PROTECTION   PRIMARY	     TO STANDBY
    • 备库
    SQL> select name,open_mode,protection_mode,database_role,switchover_status from v$database;
    
    NAME	  OPEN_MODE	       PROTECTION_MODE	    DATABASE_ROLE    SWITCHOVER_STATUS
    --------- -------------------- -------------------- ---------------- --------------------
    SZPRI	  READ ONLY WITH APPLY MAXIMUM PROTECTION   PHYSICAL STANDBY NOT ALLOWED
    4、切换保护模式为最大可用性
    SQL> alter database set standby database to maximize availability;
    
    Database altered.
    
    SQL> alter database open;
    
    Database altered.
    
    SQL> select name,open_mode,protection_mode,database_role,switchover_status from v$database;
    
    NAME	  OPEN_MODE	       PROTECTION_MODE	    DATABASE_ROLE    SWITCHOVER_STATUS
    --------- -------------------- -------------------- ---------------- --------------------
    SZPRI	  READ WRITE	       MAXIMUM AVAILABILITY PRIMARY	     SESSIONS ACTIVE
    5、切换保护模式为最大性能
    SQL> alter database set standby database to maximize performance;
    
    Database altered.
    
    SQL> alter database open;
    
    Database altered.
    
    SQL>  select name,open_mode,protection_mode,database_role,switchover_status from v$database;
    
    NAME	  OPEN_MODE	       PROTECTION_MODE	    DATABASE_ROLE    SWITCHOVER_STATUS
    --------- -------------------- -------------------- ---------------- --------------------
    SZPRI	  READ WRITE	       MAXIMUM PERFORMANCE  PRIMARY	     SESSIONS ACTIVE
    6、验证主备数据更新
    • 主库
    SQL> select *from test;
    
    	ID NAME
    ---------- --------------------------------------------------
    	 1 Alen Liu
    
    SQL> insert into test values(2,'Protection mode test');
    
    1 row created.
    
    SQL> commit;
    
    Commit complete.
    • 备库
    SQL> select *from test;
    
    	ID NAME
    ---------- --------------------------------------------------
    	 1 Alen Liu
    
    SQL> /
    
    	ID NAME
    ---------- --------------------------------------------------
    	 1 Alen Liu
    	 2 Protection mode test



  • 相关阅读:
    为什么很多IT公司不喜欢进过培训机构的人呢?
    为何90%的IT技术人员不适合做老大
    一位失足程序员的来信
    你做了哪些事,导致老板下调了对你的评价?
    我的信,你一定要看。
    python 之路,200行Python代码写了个打飞机游戏!
    今天又给即将毕业的学生灌了鸡汤。。。
    收了几个有背景的学生。
    刚收到一个吃瓜群众看了肯定不信的offer!
    关于认识、格局、多维度发展的感触
  • 原文地址:https://www.cnblogs.com/alen-liu-sz/p/12975712.html
Copyright © 2011-2022 走看看