中国农业银行系统数据中心建设方案设计学生:学号:系部:专业:指导教师:提交日期:中国农业银行系统数据中心建设方案设计一、绪论随着中国农业银行数据的集中,面对海量的数据,银行要花费大量的人力和财力来进行存储和维护,业务具有数据海量化的特点。
由于业务数据不断增长带来的压力,决定采用oracle数据库系统来完成此次中国农业银行的数据库系统设计。
二、银行业务模块设计1、存款业务(Deposit):开户业务、活期储蓄、整存整取定期储蓄、零存整取定期储蓄、教育储蓄、整存零取定期储蓄、存本取息定期储蓄、定活两便储蓄、资金归结、自动转账。
2、贷款业务(Loan):住房按揭贷款、汽车贷款、教育助学贷款、创业贷款、生产经营贷款、农户贷款。
3、中间业务(Settlement):结算业务、银行卡业务、担保业务、资讯类业务、其它业务。
4、电子银行业务(E-Banking):包括网上银行、银行、手机银行、自助银行:(1)网上银行(Online Banking):账户信息查询、转账交易、漫游汇款、贷记卡还款、网上缴费、理财服务、信息管理、网上外汇宝、电子工资单查询、账户管理(3)银行(Telephone Banking):转账结算、信息查询、投资理财、其他功能(4)手机银行(Mobile Banking):信息查询、转账汇款、缴费支付、信用卡、漫游汇款、农户贷款、定活互转、第三方存管、消息定制、账户管理、基金买卖、双利丰(5)自助银行(Self-Service Banking):现金存款、现金取款、转账、查询余额、修改密码三、数据库部署模式数据大集中为银行带来集约化经营管理优势的同时,也带来了信息系统风险的相对集中,这使得银行经营发展对信息系统连续运行的要求也越来越高。
加强信息系统灾备体系建设,保障业务连续运行,已经成为影响银行市场竞争能力的一个重要因素。
对RTO=0、RPO=0的系统,决定数据库采用RAC+DataDataGuard模式。
根据RAC+DataDataGuard模式的特点,有如下要求:1. 主机与备机在物理上要分开。
为了实现容灾的特性,需要在物理上分割主机和备机。
2. 进行合理的设计,充分实现DATAGUARD的功能。
注:RTO(RecoveryTime Object):恢复时间目标,灾难发生后信息系统从停顿到必须恢复的时间要求。
RPO(Recovery Point Object):恢复点目标,指一个过去的时间点,当灾难或紧急事件发生时,数据可以恢复到的时间点。
四、数据库逻辑模型设计1、针对数据的业务功能,同时提高Oracle数据库系统性能,因此Oracle数据库的表空间分为基本表空间和应用表空间。
(1)基本表空间:(2)应用表空间:2、业务数据量的估算:新上线或扩容时,对所申请的存储不得全部一次性挂上,应该预留出30%左右的空间用于追加,以防止出现业务发展和预期不一致时剩余空间多寡不均,调整困难。
操作系统上应该预先做好几个合适大小的lv备用,包括用于system/sysaux等表空间的小尺寸的lv和用于数据表空间、索引表空间的大尺寸lv,这些lv要求在HA两边主机都可见,不必单纯因为数据库增加数据文件而需要重新同步HA。
每个表空间下的基本表:Deposit表空间Loan表空间Settlement表空间OnlBank表空间TelBank表空间MobBank表空间SelfSer表空间下面列出几个数据表的结构设计:活期储蓄表开户业务表3、分区表设计和索引设计:(1)分区设计是为解决数据库中巨大的表或索引读写速度过慢而提出的解决方案,分区技术利用物理上和逻辑上对数据进行分割来提高处理速度。
有数500行以上的表时,采用分区策略。
大型表或索引经过分区后更容易进行管理,因为这样可以快速高效地管理和访问数据子集,同时维护数据集合的完整性。
可使用复合分区。
先使用围分区,将每一交易日期交易的记录按时间分区,然后每个分区中的数据分三个子分区,将数据散列地存储在三个指定的表空间中。
分区提供以下优点:A、由于将数据分散到各个分区中,减少了数据损坏的可能性;B、可以对单独的分区进行备份和恢复;C、可以将分区映射到不同的物理磁盘上,来分散IO;D、提高可管理性、可用性和性能。
(2)索引设置:对于中国农业银行这种大型的数据库表(>5000),合理的索引能够提高整个数据库的操作效率。
常规OLTP(面向交易的处理系统)应用,创建B-TREE索引。
B-TREE索引的索引值中包含ROWID,这样Oracle就可以在行级别上锁定索引。
在索引设计中,索引字段应挑选重复值较少的字段;在对建有复合索引的字段进行检索时,按照复合索引字段建立的顺序进行。
(二)数据库物理存储结构设计设计出数据物理存储文件配置方案,主要包括控制文件、数据文件、重做日志文件的位置、名称、数量、大小、布置等。
1、软件安装路径及环境变量建立单独的文件系统来安装数据库软件,且文件系统的mount点不要直接建立在根目录下。
(1)安装路径:/home/db/oracle(2)各种环境变量设置:ORACLE_BASE=/home/db/oracleCRS_HOME=/home/db/oracle/crs/10.2.0,ORACLE_HOME=/home/db/oracle/product/10.2.02、数据文件:1) 向SiMei数据库的Deposit表空间分别在01磁盘、02磁盘、03磁盘添加一个1G的处于归档模式下的数据文件。
2) 向SiMei数据库的Loan表空间分别在01磁盘、02磁盘、03磁盘添加一个1G的处于归档模式下的数据文件。
1) 向SiMei数据库的Settlement表空间分别在01磁盘、02磁盘、03磁盘添加一个1G的处于归档模式下的数据文件。
1) 向SiMei数据库的OnlBank表空间分别在01磁盘、02磁盘、03磁盘添加一个2G的处于归档模式下的数据文件。
1) 向SiMei数据库的TelBank表空间分别在01磁盘、02磁盘、03磁盘添加一个500MB的处于归档模式下的数据文件。
1) 向SiMei数据库的MobBank表空间分别在01磁盘、02磁盘、03磁盘添加一个500MB的处于归档模式下的数据文件。
1) 向SiMei数据库的SelfSer表空间分别在01磁盘、02磁盘、03磁盘添加一个2G的处于归档模式下的数据文件。
3、控制文件:每个数据库实例应至少有两个控制文件,且每个文件存储在独立的物理磁盘上。
如果有一个磁盘失效而导致控制文件不可用,与其相关的数据库实例必须关闭。
一旦失效的磁盘得到修复,可以把保存在另一磁盘上的控制文件复制到该盘上。
这样数据库实例可重新启动。
并通过非介质恢复操作使数据库得到恢复。
因此,为了使整个系统的高可靠地运行,系统设置3个控制文件Control01.ctl、Control02.ctl、Control03.ctl分别储存在01磁盘、02磁盘、03磁盘。
4、重做日志文件:重做日志文件的尺寸会对数据库的性能产生重要影响,因为它的尺寸大小决定着数据库的写进程(DBWn)和日志归档进程(ARCn)。
一般情况下,较大的日志文件提供较好的数据库性能,较小的重做日志文件会增加核查点(checkpoint)的活动,从而导致性能的降低。
为了防止I/O争用,把各个重做日志文件组成员分布到不同的物理磁盘上。
group1的为redo1_1.log和redo1_2.log分别放在01磁盘和02磁盘group2的为redo2_1.log和redo2_2.log分别放在03磁盘和04磁盘group3的为redo3_1.log和redo3_2.log分别放在04磁盘和01磁盘(三)数据库工作方式设计主要包括初始化参数文件设计、服务器工作方式设计、归档方式设计、数据库类型设计等容。
1、数据库字符集设计:在该系统中选用AL32UTF8的字符集,该字符集对汉字支持比较好,包含字符较全,支持其他国家的字符录入,所以比较适合银行数据库字符设计。
2、数据库实例参数设计(1)SGA又称共享全局区,SGA区存管理通过手工设置,根据银行的数据量,需分配存。
其中个组成部分的存分配如下:数据高速缓冲区:合理设置数据高速缓冲区的大小可以使缓冲命中率越高,根据系统物理存的大小DB_CACHE_SIZE设置为物理的30%-50% 共享池:大小与系统可用存和并发乎数量有关,合适的共享池大小可以大大降低重复执行的sql语句的系统开销,所以设置SHARED_POOL_SIZE=物理4gb300并发用户就800m建议512m重做日志缓冲:较大的重做日志缓冲区,可以减少重做日志文件写的次数。
根据SGA设置值将参数大小为:LOG_BUFFER=30M.3、服务器工作模式设计:由于专用服务器工作模式的服务进程与用户进程是一对一的的关系,一个服务进程只能为一个用户服务,在银行系统中,客户并发数目非常多,这种专用服务模式满足不了银行系统的要求,所以应该选用共享服务器模式。
共享服务器模式下,一个服务进程可以被多个用户进程共享,这样可以使更多用户在同一时间对进行数据库访问。
4、归档方式设计:银行对数据安全要求非常高,不允许丢失任何数据,而且数据库需要全天候运行,所以应该选择归档模式,归档模式不仅可以用来保护例程失败,而且还可以在介质失败的时候,最大程度的恢复数据库的原有数据。
此时,数据库管理员可以利用数据库备份文件、归档日志文件、重做日志文件等把数据库中的数据恢复到故障发生的那一时点。
在非归档模式下,则进行日志切换时,新的日志会直接覆盖原有日志文件的容,不会保留原有日志文件中的数据。
如此的话,当出现数据文件损坏时,数据库管理员只能够恢复到过去的完全被分点,不能够恢复全部的数据,这样的模式不适用于银行系统。
5、数据库类型设计:数据库类型选用OLTP类型,OLTP数据库支持某种特定的操作,OLTP系统是一个包含繁重及频繁执行的DML应用,其面向事务的活动主要包括更新,同时也包括一些插入和删除。
OLTP系统可以允许有很高的并发性(在这种情况下,高并发性通常表示许多用户可以同时使用一个数据库系统)。
银行的业务大多预定系统或在线时时交易系统,例如网上银行和ATM自动取款机系统。
所以银行系统应该选用OLTP型数据库。
(四)数据库安全体系设计设计由数据库的角色、权限、用户、概要文件等容组成的安全体系结构。
1、数据库用户和权限设计(1)系统基本用户有sys、system、scott、public用户。
(2)自定义的用户有:Manager用户:由数据库管理员担任,负责管理同级普通用户和下一级用户管理员。
默认表空间为user表空间,在该表空间的配额为:。
Report用户:由数据上报员担任,负责报文预处理;报文报送;报文上报情况查询,默认表空间为user表空间,在该表空间的配额为:Teller用户:由普通柜员担任,负责查询,插入,修改客户信息,默认表空间为user表空间,在该表空间的配额为:user用户:由普通客户担任默认表空间为user表空间,在该表空间的配额为:。