MDB维护手册V11_第1页
MDB维护手册V11_第2页
MDB维护手册V11_第3页
MDB维护手册V11_第4页
MDB维护手册V11_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、AI MDB维护手册V1.12012年10月亚信联创科技(成都)有限公司AI MDB维护手册总览MDB 文件恢复维护。MDB内存管理机制以及维护MDB CheckPoint机制说明。亚信MDB简介。MDB异常情况下维护说明。MDB各个模块架构。数据库基本功能数据库基本功能平台支持:支持AIX的各个操作系统版本。支持HP-UX 的各个操作系统版本。支持Solaris 的各个操作系统版本。数据类型支持基本数据类型:char、short、 long、long long、float、 double 。定长数据:表的每条记录都是定长的。索引、主键使用HASH索引,索引字段个数无限制,支持组合索引 ,支持

2、主键。sql语法支持单表的查询、插入、删除、更新、事务提交、回滚等基本sql语法。其他支持基于游标的访问。数据库工具数据库工具命令行查看工具提供命令行工具,可以对MDB进行查询、更新、删除MDB表的数据。同时支持在线导入导出MDB数据,MDB表内存数据的同步等功能。数据导入导出支持内存数据库全量或者部分导出到文本文件或者磁盘数据库中。支持从文本文件或者磁盘数据库导入数据到MDB中。表空间修改支持对MDB表的表空间进行扩展。Redo日志查看通过该工具可以将二进制的redo日志转换可以查看的文本文件,方便分析。数据同步支持将MDB内存单个或者多个表dump到对应磁盘文件中。模式更改可以在线更改MD

3、B运行的模式。例如文件HA异步模式改成文件HA同步模式等。数据库性能数据库性能数据访问响应时间和具体的主机配置、磁盘IO等相关,参考数据:IBM AIX 5.3 CPU 4个双核CPU 32G内存,MDB数据库中100W数据: 11.4w/s 的数据插入效率 。 8.5w/s的数据更新效率。数据装载性能 同具体的主机配置、磁盘IO等相关,参考数据:HP RX8640,CPU 32 * 1.6G,128G内存,平均加载速度110M/秒 。Redo恢复效率 平均每秒8w次事务的恢复速度。参考数据:Sun环境,192G内存,24个双核CPU下恢复速度为每秒10.8w次。安全机制安全机制增量Redo日

4、志内存数据库支持文件方式的增量Redo日志模式,一旦MDB服务程序出现异常,再次启动的时候直接恢复增量Redo日志中的数据,以保证MDB数据的一致性和快速恢复。定时全量备份内存数据库在停止运行时进行全量备份。系统同时支持定时写全量备份。内存数据库定时全量备份,可以保证业务完全持久化。异常信息收集机制异常信息收集机制启动异常配置文件参数遗漏、读写MDB文件没有权限、MDB内存不足等异常更新时的resize异常 resize异常是由于表记录数已满,需要扩充空间,而系统的内存又不足导致的,此时将不能对这个表有新的增加记录操作,必须等到系统有足够的内存,重新resize成功同步文件异常 如果同步失败,

5、抛出同步失败的异常信息。网络异常 网络发送失败,当发送失败后,MDB会主动中断这个socket连接,客户端需要重新连接客户端网络终端产生sigpipe异常信号,为防止这个信号对MDB产生中断,MDB屏蔽了该信号的处理信号处理 为了使MDB不丢失异常数据,屏蔽了部分信号,只开放了SIGKILL、SIGSTOP 、SIGTRAP、SIGUSR1、SIGUSR2信号 对外接口对外接口标准C接口(API)亚信MDB是面向应用程序的数据库,使用应用程序的类信息来构建数据库的表,每一个数据库中要使用的每个C+类或结构,都要包含一个描述它们字段的特殊方法,MDB为此提供了一系列的宏来构造字段描述符。MDB为

6、从数据库中提取和更新数据提供了一系列灵活而方便的接口。这些都大大简化了数据库应用程序的设计,并且使得它们更加高效。 MDB应用整体逻辑架构应用整体逻辑架构并发管理并发管理客户端控制通过配置客户端连接数限制,可以限制客户端同时连接MDB的个数。MDB默认最低256,最高4096保存连接MDB的客户端的IP、端口、连接时间、退出时间等信息备查。并发锁控制记录锁 MDB记录锁类似于行锁,支持对MDB表中的记录的关键字加锁,防止该关键字相等的记录进行并发操作。提高程序的准确性和安全性。进程锁进程锁是控制MDB整个进程的锁,在MDB作内存数据备份点的时候,需要加上进程锁,阻止此时发生的业务交易。锁检测为

7、了防止上面两种锁造成的死锁,提供了锁检测工具,支持对记录锁和进程锁超时情况查询,并提供解锁服务。事务管理事务管理支持事务的提交应用程序每次事务的提交,MDB数据库将该次事务对MDB的所有更新信息写入Redo日志。支持事务的回滚应用程序每次事务的回滚,MDB数据库回退该应用程序事务开始到回滚之间的数据库操作。数据管理数据管理MDB数据持久化保存MDB每次停止时,将内存中所有数据同步到内存映像文件中。MDB支持通过客户端工具将MDB中的一个或者多个表的内存数据同步到各个表对应的内存映像文件中。系统同时支持定时写全量备份,保证业务完全持久化。 MDB数据导入导出支持将MDB表中的数据全量或者部分导出

8、到磁盘数据库中。同时支持从磁盘数据库中导入MDB表数据。支持将MDB表中的数据全量或者部分导出到文本文件中。同时支持从文本文件导入MDB表数据。支持加载sql执行脚本方式对MDB内存数据进行维护。HA机制机制HA机制内存数据库支持文件HA以及双机HA机制。文件HAMDB数据交易的事务Redo日志记录保存到磁盘文件。恢复时加载内存映像文件,重做Redo日志事务即可恢复。文件HA支持同步、异步写Redo日志两种模式的MDB运行方式。双机HAMDB数据交易的事务Redi日志直接通过socket方式发送给备机,备机重做redo日志实现MDB交易数据的实时恢复。双机HA支持同步、异步、半同步发送/接收恢

9、复Redo日志的MDB运行方式。HA应用应用主用主用 MDBMDB 事务处理事务处理Log files事务日志事务日志Table 1Table NTable 2备用备用 MDBMDB Table 1Table NTable 2REDO处理处理日志发送日志发送Datafiles DatafileDatafiles Datafile 异步双机本机日志同步双机同步双机文件HA文件HA功能概述文件HA特点:Redo日志磁盘文件形式保存。MDB文件HA模式下,备机支持加载离线MDB内存映像文件,并循环读取增量Redo日志并恢复的方式进行MDB数据的恢复。文件HA部署说明物理上可以只有一台主机主机运行MD

10、B,也可以部署一台备MDB,备MDB通过磁盘共享、ftp传输等方式实时恢复从主MDB同步过来的redo日志来实现类双机HA方式的数据恢复。根据MDB的配置文件,把MDB按文件HA的方式进行启动双机HA双机HA功能概述对MDB中的内存操作数据进行实时的数据备份,保证业务交易数据的安全性;同时在异常情况下,最大限度的缩短业务数据的恢复时间,保证计费业务的稳定性双机HA部署说明要求物理上有两台主机通过网络进行连接组合根据MDB的配置文件,把MDB按ACTIVE/STANDBY的HA方式进行启动部署方式-运行模式说明MDB基础库运行模式启动模式 logmodeHA方式说明 0ACTIVE单节点不产生R

11、edo日志运行的模式1ACTIVE单节点 redo日志同步写文件模式运行 2ACTIVE节点 redo日志同步Socket发送模式运行 3ACTIVE单节点 redo日志异步写文件模式运行 4ACTIVE节点 redo日志异步Socket发送模式运行 5STANDBY节点 读取文件redo日志恢复模式运行 6STANDBY节点 Socket接收模式2或4的redo日志并恢复的模式 7打印Redo日志内容成文本内容到.disp文件中运行模式性能比较模式0 模式3 模式4 模式1 模式2; 模式2跟模式0之间性能差异10%提纲MDB 文件恢复维护。MDB内存管理机制以及维护MDB CheckPoi

12、nt机制说明。亚信MDB简介。MDB异常情况下维护说明。MDB各个模块架构。MDB整体应用架构整体应用架构MDB核心库核心库-功能描述MDB核心库核心库MDB核心库具有高可用性,高实时性能和方便的C+ 接口,能实现快速的增删改查操作。MDB核心库支持事务、在线备份、双机热备和系统崩溃之后的自动恢复。事务提交基于MDB HA机制,对数据库执行原子更新操作,恢复操作执行起来非常快,给关键应用程序提供了高效率。MDB的双机备份是在两台主机之间进行数据的同步,采用SOCKET的方式进行数据交互,支持根据DNS进行切换。MDB核心库使用应用程序的类信息来构建数据库的表,每一个数据库中要使用的每个C+类或

13、结构,都要包含一个描述它们字段的特殊方法,MDB为此提供了一系列的宏来构造字段描述符。MDB为从数据库中提取和更新数据提供了一系列灵活而方便的接口。这些都大大简化了数据库应用程序的设计,并且使得它们更加高效。MDB核心库有着强大的异常处理机制,MDB几乎为每个操作都提供了的异常信息,包括MDB打开,关闭错误,初始化MDB配置信息错误,内存分配失败等异常信息,供客户端应用程序方便地检测MDB应用上出现的异常。MDB服务框架-功能描述管理MDB表、打开MDB、关闭MDB管理与客户端通讯的socket、共享内存、信号等响应客户端消息处理逻辑管理MDB业务库,支持动态的加载业务库,卸载业务库等为MDB

14、业务库提供基本的数据,并对数据做初始化,提供接口给业务库查询和更新这些数据提供用户锁和进程锁资源,提供锁操作接口,并监控用户锁的超时信息,在线程退出时自动清除此线程占用的锁 。 MDB服务框架功能点MDB框架实现业务库外的MDB统一管理,衔接客户端应用和服务程序,负责与客户端的通讯管理,提供基础的接口供MDB业务库和MDB框架通讯。实现MDB的基础框架和业务库的分离。框架独立于业务逻辑,增加其复用性,通过接口能适配任何符合接口的MDB业务库,并提供动态加载和卸载MDB业务库的功能,能实现无缝的加载和卸载。 MDB业务库-功能描述注册支持的消息和业务类型,接受客户端的应答请求,对请求包做校验,响

15、应业务库的业务请求,并做应答。一个业务库在物理实现上是一个动态库。根据交易协议,将客户端发送的交易数据包分析出来,并执行相应的MDB表数据的查询、更新、新增、删除等功能,并对数据集结果打包,由MDB框架通过socket通讯返回给客户端。每天对MDB进行一次数据的全量备份,增强MDB的安全性。更新MDB表数据封装客户端业务逻辑MDB查询代理-功能描述接受、分摊、管理应用客户端申请的连接请求MDB查询代理管理与MDB框架之间连接、支持连接复用、异步通讯、消息重发和超时机制;接收MDB返回的交易数据包,并分发给应用客户端接收应用请求的数据,对应用请求的数据进行分发提供MDB客户端维护工具维护通讯接口

16、MDB维护工具维护工具命令行查看工具 提供命令行工具,可以对MDB进行查询、更新、删除MDB表的数据。同时支持在线导入导出MDB数据,MDB表内存数据的同步等功能。MDB维护工具维护工具表空间修改 支持对MDB表的表空间进行扩展数据导入导出 支持内存数据库全量或者部分导出到文本文件或者磁盘数据库中。支持从文本文件或者磁盘数据库导入数据到MDB中。数据同步 支持将MDB内存单个或者多个表dump到对应磁盘文件中Redo日志查看 通过该工具可以将二进制的redo日志转换可以查看的文本文件,方便分析模式更改 可以在线更改MDB运行的模式。例如文件HA异步模式改成文件HA同步模式等。提纲MDB 文件恢

17、复维护。MDB内存管理机制以及维护MDB CheckPoint机制说明。亚信MDB简介。MDB异常情况下维护说明。MDB各个模块架构。MDB 表内存管理机制MDB表内存结构:MDB表在内存是由MDB头、数据块链表构成。 MDB头:保存MDB表的表信息(表名、字段数、索引数等)、字段信息、hash表。 数据块链表:保存实际的存放的记录。这个是一个链表,每次扩表就申请一块数据挂到这个链表中。当MDB停止的时候所有的数据块节点合并成一个数据块写入磁盘文件。影响MDB扩表的配置项: MDB控制文件中的record_num(容量)及record_ext(扩展数)配置项。扩表机制: 当往MDB表中插入的记

18、录数超过MDB表的record_num时,此时MDB会对MDB表内存进行自动扩展。自动扩展时MDB根据控制文件配置的record_ext,申请record_ext条记录所需要的内存。同时以链表的形式挂接到MDB的数据块链表中。MDB 自动扩表性能影响说明性能影响说明:影响性能的有两个地方:1:扩表次数多了之后,数据块链表就会增大,查询数据时一般会需要搜索多个数据块才能定位。2:由于MDB头中的hash表的大小是不变的,所以一旦扩表次数增多,那么此时hash的冲突也会增大,hash冲突增加会降低查询的效率。一般来说,自动扩表20次以内,不会对性能有明显的影响。超过50次或者更多,表记录的更新、查

19、询效率会降低。 MDB 扩表维护自动扩表场景说明: 自动扩表很频繁的情况都是record_num及record_ext这两个值配置不合理造成。 record_ext配置过小时,在record_num不够用的情况下,每次只能扩record_ext那么大,那么当应用继续插入数据则会造成MDB频繁扩表。扩表维护说明当发生MDB频繁扩表的情况时,有以下几种解决办法: 1:根据现场的数据量,产生一个record_num、record_ext配置合理的空MDB文件。然后使用mdb_transfer工具,或者mdb_view_new文件方式导入导出工具进行数据的转移。目前推荐这种方式,产生的MDB文件是最合

20、理可靠的。 2:停止MDB,再启动。停止MDB时,所有链表的节点会合并成一个。当再次启动时,则MDB的链表只有一个节点,链表这块消耗就不存在。但是这个不会根本上解决问题。如果继续插入记录,则还是会扩表。不建议使用 3:通过mdb_resize工具。 目前已经提供,未发布到现场。内存消耗计算内存计算公式:公式1:recordnum * (UnitSize+4) + 152 + fieldNum * 176 公式2:recordnum * ( recordSize + 4 + 8 * hashNum ) + 152 + fieldNum * 176注:recordnum 既MDB的recordnu

21、m值。unitsize是 info tablename看到 unitsize值。recordsize既 info tablename看到 recordsize值。hashnum是 表有几个hash索引。fieldnum为表的字段个数。控制文件说明每个MDB对应一个监听端口、一个配置文件、一个控制文件。控制文件简要说明log_file./mdb/RAS.log/MDB基础库运行的日志redo_path./mdb/RAS/redo/存放redo日志的目录back_path./mdb/RAS/back/备份redo日志的目录sync_host/双机备份时配置的ACTIVE MDB的

22、IP地址sync_port51800/双机备份时配置的ACTIVE MDB的端口sync_tabs0/不使用 参考配置0sync_num96/写redo日志的线程个数 最低1 最高99,建议配置96coun_num80000/每个redo日志文件保存事务数,建议8w,最低1000,最高1000000redo_num0/不使用 参考配置0reco_num0/不使用 参考配置0conn_num1024/客户端连接数目 最低256 最高2048 建议配置1024table_nameCRASAcctRemainFee/表名table_file./mdb/CRASAcctRemainFee.mdb/内存

23、映像文件record_num1000/表记录数 record_ext1000/每次扩展的记录数hash_buf1000/hash表大小 配置成跟record_num一样大redo_log1/是否记录redo日志 0:不记录 1:记录提纲MDB 文件恢复维护。MDB内存管理机制以及维护MDB CheckPoint机制说明。亚信MDB简介。MDB异常情况下维护说明。MDB各个模块架构。MDB HA文件方式恢复流程步骤1:准备备份MDB运行环境,包括MDB框架配置文件。MDB基础库控制文件,MDB内存映像文件(*.mdb文件),MDB增量redo日志。注:1:框架配置文件中配置MDB的运行模式为5。

24、2:MDB增量redo日志必须跟MDB内存映像文件一致。3:MDB基础库控制文件必须跟主MDB控制文件配置项一致。步骤2:准备好备份MDB运行环境后,启动MDB开始恢复。MDB在恢复时每次恢复完一批redo日志,redo目录下面对应的redo文件会被移动到back目录。注:如何查看MDB已经恢复完成?MDB基础库redo目录下的redo文件全部移到back目录,同时查看基础库运行的log日志,当抛出读取下一个redo日志文件不存在的异常时表明MDB已经全部恢复完成。MDB HA文件方式恢复流程步骤3:产生恢复后的MDB内存映像文件:有两种模式:1:通过mdb_sync工具将备MDB的内存数据备

25、份出来。2:停止备MDB,自动将最新的MDB数据写到磁盘文件。步骤4:将备MDB产生的恢复后的MDB内存映像文件拷贝到主MDB目录,启动既完成整个恢复过程。注:恢复速度:平均每秒8w次事务的恢复速度。贵州恢复一整天的增量日志需时1小时15分钟。在192M内存,24个双核CPU下恢复速度为每秒10.8w次事务的恢复效率提纲MDB 文件恢复维护。MDB内存管理机制以及维护MDB CheckPoint机制说明。亚信MDB简介。MDB异常情况下维护说明。MDB各个模块架构。MDB CheckPoint功能说明产生内存映象文件,增量redo日志重新生成。1、将redo目录下的redo日志文件全部移到ba

26、ck目录下2、递增redo日志文件序列号3、将MDB内存数据同步到MDB内存映象文件中MDB内存映象文件:1、后缀名为.mdb的文件2、用于MDB数据的持久化存储增量Redo日志文件:1、后缀名为.redo的文件2、用于MDB事务提交和数据恢复MDB CheckPoint流程开始停业务Dump 内存挪移redo日志恢复处理业务开始停业务触发MDB的checkpoint将redo目录下日志文件移到back目录恢复处理业务MDB开始dump内存数据到mdb映象文件check point 结束check point开始MDB Redo文件说明Redo文件命名:”redo_” + 4位checkpoi

27、nt序号 + 4位sync序号 + 8位序号 + “.redo” checkpoint序号: 随checkpoint的次数递增,从0开始,最大9999(循环使用)sync序号 :每次MDB表更新产生的事务号对sync_num取摸8位序号:每写满conn_num个事务,递增该序列号(未写满conn_num个事务的redo文件将加上后缀.tmp)Redo文件格式:MDB CheckPoint辅助工具mdb_sync:1、用于触发特定的MDB的check_point行为2、特定的MDB由(ip地址,端口号)唯一标识3、一次CheckPoint结束后才能开始下一次的CheckPointmdb_redo

28、view:1、用于查看redo文件2、需要提供相应的redo文件和table共享库MDB check point相关的控制文件配置项控制文件简要说明红色部分与CK相关log_file./mdb/RAS.log/MDB基础库运行的日志redo_pathredo_path./mdb/RAS/redo./mdb/RAS/redo/存放存放redoredo日志的目录日志的目录back_pathback_path./mdb/RAS/back./mdb/RAS/back/备份备份redoredo日志的目录日志的目录sync_host/双机备份时配置的ACTIVE MDB的IP地址sync

29、_port51800/双机备份时配置的ACTIVE MDB的端口sync_tabs0/不使用 参考配置0sync_numsync_num9696/写写redoredo日志的线程个数日志的线程个数 最低最低1 1 最高最高99,99,建议配置建议配置9696coun_numcoun_num8000080000/每个每个redoredo日志文件保存事务数,建议日志文件保存事务数,建议8w8w,最低,最低10001000,最高,最高10000001000000redo_num0/不使用 参考配置0reco_num0/不使用 参考配置0conn_num1024/客户端连接数目 最低256 最高2048

30、 建议配置1024table_nameCRASAcctRemainFee/表名table_file./mdb/CRASAcctRemainFee.mdb/内存映像文件record_num1000/表记录数 调整这个值不会影响已存在的MDB文件record_ext1000/每次扩展的记录数 调整这个值不会影响已存在的MDB文件hash_buf1000/hash表大小 配置成跟record_num一样大 调整这个值不会影响已存在的MDB文件redo_logredo_log1 1/是否记录是否记录redoredo日志日志 0:0:不记录不记录 1:1:记录记录提纲MDB 文件恢复维护。MDB内存管理机制以及维护MDB CheckPoint机制说明。亚信MDB简介。MDB异常情况下维护说明。MDB各个模块架构。MDB异常:工具mdb_sync/check_lock/mdb_cilent 1):其中的功能的不能随便使用,mdb_sync不能对正在运行的mdb服务进行操作,如果要用,首先停止外业的更新业务,然后再做。 2):check_lock不建议使用,这个工具只有MDB业务库代码逻辑有问题

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论