暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

聊一聊基金业务系统常见的snapshot standby

恒生DBA公社 2021-04-21
725
前言导读


数据是企业的核心资产,而在金融业务系统里,对于数据保护,通常使用的是第三方数据同步软件(国内主流的九桥,迪思杰,国外的goldengate,shareplex),在数据库层面进行数据同步,不仅可以实现读写分离,而且备库可以用于测试或者数据问题排查,目前第三方数据同步方案,使用较成熟的是在证券公司的核心交易系统上,例如恒生UF20证券交易系统。

基金公司现状


对于基金公司核心系统O3,估值,数据中心等系统却很少使用数据同步软件,很小部分有采用存储层面同步,但是存储同步的弊端,就是系统在业务层面无法实现读写分离,只能作为一个冗余存在,而且IT人员面临一个问题,经常需要在测试环境恢复数据,用户系统测试及数据问题排查,随着数据量不断增大,数据恢复的时间持续增加,工作效率大大降低。大部分基金公司没有采购第三方的同步软件,有的因为是经费问题,有的是因为灾备方案不够完善。

目前基金公司的核心系统数据库95%oracle版本已经升级到11G,通过11Gdataguard 加上snapshot新特性,同时解决基金业务系统,数据库面临的多个问题。

  1数据保护。

2 数据层面实现读写分离。

3 standby database可以快速提供测试环境。

snapshot standby

Dataguard已经是很常见的技术,所以主要介绍一下新特性snapshot的使用过程。

一般情况下,物理standby数据库处于mount状态接收和应用主库的REDO日志,物理standby数据库不能对外提供访问。如果需要只读访问,那么可以临时以read-only的方式open物理备库,或者配置ACTIVE DATA GUARD,那么物理standby数据库可以进行只读(read-only)访问(比如报表业务查询),但是物理standby数据库不能进行读写操作(read-write)

有些情况下,为了实现系统的压力测试或者Real Application Testing(RAT)或者其他读写操作测试,那么可以临时将物理standby数据库转换为snapshot standby数据库然后进行测试,因为snapshot standby数据库是独立于主库的,并且是可以进行读写操作(read-write)。测试过程中snapshot standby数据库正常接收主库的归档日志,保证主库的数据安全,但是不会应用这些日志,当压力测试结束后,可以非常简单的再将snapshot standby转换为物理standby数据库,继续同步主库日志。


配置


1.物理standby配置闪回日志

SQL> Altersystem set db_recovery_file_dest_size=500M;

System altered.

 

SQL> Altersystem set db_recovery_file_dest='/u01/app/oracle/snapshot_standby';

System altered.

 

2.物理standby停止应用日志

SQL> alterdatabase recover managed standby database cancel;

Databasealtered.

 

3.物理standby转换为snapshot standby,并且open snapshot standby

SQL> alterdatabase convert to snapshot standby;

Databasealtered.

 

SQL> alterdatabase open;   

Databasealtered.

 

检查snapshot standby数据库角色是SNAPSHOT STANDBYopen模式是READ WRITE

SQL> selectDATABASE_ROLE,name,OPEN_MODE from v$database;

DATABASE_ROLE   NAME      OPEN_MODE

------------------------- --------------------

SNAPSHOT STANDBYFSDB      READ WRITE

 

4.snapshot standby数据库进行压力测试或者Real Application Testing(RAT)或者其他读写操作。

 

5.测试结束后,再将snapshot standby转换为physical standby,并且重新开始应用日志

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount;

ORACLE instance started.

Database mounted.

SQL> ALTER DATABASE CONVERT TO PHYSICAL STANDBY;

Databasealtered.

 

SQL> shutdown immediate;

ORA-01507:database not mounted

ORACLE instanceshut down.

SQL> startupmount;

ORACLE instance started.

Database mounted.

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

Database altered.

 

6.转换为物理standby后,查看备库角色是PHYSICAL STANDBYopen模式是MOUNTED

SQL> select DATABASE_ROLE,name,OPEN_MODE from v$database;

DATABASE_ROLE   NAME      OPEN_MODE

------------------------- --------------------

PHYSICAL STANDBYFSDB      MOUNTED

 

7.检查主库和物理备库日志是同步的

主库日志:

SQL> select ads.dest_id,max(sequence#) "Current Sequence",

          max(log_sequence) "Last Archived"

      from v$archived_log al, v$archive_dest ad, v$archive_dest_statusads

      where ad.dest_id=al.dest_id

      and al.dest_id=ads.dest_id

      and al.resetlogs_change#=(select max(resetlogs_change#) from v$archived_log )

      group by ads.dest_id;

 

  DEST_ID Current Sequence Last Archived

-------------------------- -------------

    1              361          361

    2              361          362

 

--备库日志

SQL>   select al.thrd "Thread", almax "Last Seq Received",lhmax "Last Seq Applied"

     from (select thread# thrd, max(sequence#) almax

         from v$archived_log

         where resetlogs_change#=(select resetlogs_change# from v$database)

         group by thread#) al,

        (select thread# thrd, max(sequence#) lhmax

         from v$log_history

         where resetlogs_change#=(select resetlogs_change# from v$database)

         group by thread#) lh

    where al.thrd = lh.thrd;

 

   Thread Last Seq Received Last Seq Applied

--------------------------- ----------------

         1              361             361

总结


其实,snapshot standby特性不单单可以用于基金公司的O3,估值,数据中心等系统,像交易所,港股系统,券商的呼叫中心等等没有采用第三方同步软件的业务系统都可以采用这个模式,在上线前可以模拟上线测试。

文章转载自恒生DBA公社,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论