ORACLE设计的建设银行业务管理系统.docx
- 文档编号:16826422
- 上传时间:2023-07-17
- 格式:DOCX
- 页数:35
- 大小:99.94KB
ORACLE设计的建设银行业务管理系统.docx
《ORACLE设计的建设银行业务管理系统.docx》由会员分享,可在线阅读,更多相关《ORACLE设计的建设银行业务管理系统.docx(35页珍藏版)》请在冰点文库上搜索。
ORACLE设计的建设银行业务管理系统
建设银行业务管理系统
一、需求分析
1.1功能模块结构图
其中用户信息子系统存储客户开户信息数据。
1.2业务介绍
建设银行目前主要业务及其功能:
(1)前台业务:
办理客户开户、存款、取款、贷款、汇款、转账功能。
(2)自助银行:
办理客户存款、取款、查询、转账、代缴费功能。
(3)电话银行:
办理客户开户、查询功能。
(4)手机银行:
办理客户开户、查询、转账、代缴费功能。
(5)网上银行:
办理客户开户、查询、转账、贷款、代缴费功能。
1.3数据来源及估算
根据建设银行《2011年社会责任报告》可知,截止2011年12月31日,建行的客户总体情况如下表1-1所示。
客户类型
类别
数量(万户)
个人客户
银行借记卡发卡量(万张)
36,400
银行贷记卡发卡量(万张)
3,225
网上银行客户
8,593
电话银行客户
9,621
手机银行客户
4,695
个人消费贷款客户
8.63
个人住房按揭贷款客户
649.61
对公客户
集团客户
0.62
公司与机构客户
220.81
小企业客户
7.21
表1-1
1.3.1开户量数据统计
根据建设银行2011年社会责任报告可知,2011年末,建行在我国国内设有分支机构13581家,其中拥有自助银行的营业网点共有10681个。
其中:
网上银行客户数 8593万户,新增2795万户;
手机银行客户数 4695 万户,新增2470万户;
电话银行客户数9621 万户,新增2429万户。
国家统计局发布的数据显示:
2011年末我国0-14岁、15-64岁、65岁以上的年龄段的比重分别为16.55%、74.4%、9.1%。
我国目前商业银行客户大多数集中在15-64岁这个年龄段,所以估算我国商业银行客户的人数为:
13.5亿*0.7=94500万户,其中前台业务的客户人数估计为94500*0.7=66150万户。
由我国目前商业银行体系结构可知,主要的商业银行有5家国有银行及11家股份制银行,所以估算截止2011年末,建行的前台业务开户量为66150*13%=8600万户。
假设建行每天每个分支结构有7人左右办理前台开户业务,则每天的增长量为7*13581=9.5067万户。
由以上资料,可计算建行各业务的开户量以及增长量,如下表1-2所示。
截止2011年开户量(万户)
新增客户量
(万户)
截止2010年开户量(万户)
增长量
(万户\天)
前台业务
8600
3467
5133
9.50
网上银行
8593
2795
5798
7.66
手机银行
4695
2470
2225
6.72
电话银行
9621
2429
7192
6.65
表1-2
由表1-2可知,截止到2011年末,建行总的开户量为31509万户,每天的开户量为30.53万户。
1.3.2贷款数据统计
根据建行《2011年社会责任报告》和《2011年年报》可知,建行2011年客户贷款和垫款总额为64964.11亿元,其中主要分为公司类贷款和个人贷款。
公司类贷款和垫款总额为44461.68亿元,个人贷款和垫款总额为16838.55亿元。
公司类贷款业务中,小企业客户贷款余额9138亿元,贷款客户数增加10392户,公司与机构客户增加26.5万户。
个人贷款业务中,个人住房贷款余额为13174.44亿元,个人消费贷款余额为767.88亿元,个人信用卡贷款余额为975.53亿元。
截止2011年末,建行信用卡发卡量达3225万张,今年第一季度建行信用卡发卡量达3414万张,三个月新增发卡量189万张,所以每天新增的发卡量为5178户。
假设信用卡客户中有50%左右的人有贷款,则贷款总客户数为1613万户。
每天新增的发卡量中也有一半左右的客户参与贷款,则信用卡业务每天新增的贷款客户数为2589户。
根据建行截止2010年末个人住房贷款余额为10911.17亿元,可得一年内贷款余额增量为2263.27亿元,增幅为20.74%,所以估算2010年个人住房贷款客户量为538万户。
根据相关数据显示,个人消费贷款年增24%,所以估算建行2010年末个人消费贷款客户量为6.96万户,则新增1.67万户。
另外估算建行每天新增的贷款集团客户数量为5户。
根据以上数据,可计算建行贷款业务的客户量和增长量,如下表1-3所示。
贷款类型
类别
截止2011年末客户量(万户)
增长量
(户\天)
贷款余额
(亿元)
公司类贷款
集团客户
0.62
5
——
公司与机构
客户
220.81
726
——
小企业客户
7.21
29
9138
个人贷款
个人住房贷款
649.6
3058
13174.44
个人消费贷款
8.63
46
767.88
信用卡贷款
1613
2589
975.53
表1-3
根据表1-3可知,截止2011年末,建行贷款客户量为2499.87万户,每天新增的贷款客户量为6453户。
1.3.3存款数据统计
估计开户客户中有八成左右的人有存款业务,则存款总客户量为31509*80%=25207.2万户。
由表1-2知,建行每天的开户量为30.53万户,假设这些客户中每天有八成左右的人办理存款,则每天新增的存款客户量为30.53*80%=24.42万户。
二、逻辑模型分析
2.1模式结构
2.1.1数据库部署模式
数据库服务器采用RAC+DATAGUARD模式
RAC+DATAGUARD模式可以满足对可用性和容灾都有特定需求的应用,具备以下特点:
需要冗余的服务器设备。
该模式需要有冗余的服务器硬件,硬件成本较高。
需要冗余才存储设备。
主机和备机都需要同样的存储空间,成本较高。
安装配置比较复杂。
该模式既需要配置RAC又需要配置DATAGUARD,配置过程比较复杂,配置周期长。
管理维护成本高。
该模式对维护人员的要求较高,维护成本高。
具备很高的可用性和容灾性。
该模式既满足高可用性也满足容灾的需求。
备机可以用作只读查询。
备机可以切换到只读状态供报表之类的查询操作,减
轻主机的压力。
根据该模式的特点有如下要求:
主机与备机在物理上要分开。
为了实现容灾的特性,需要在物理上分割主机和备机。
进行合理的设计,充分实现DATAGUARD的功能。
根据该模式特点的应用建议:
应用必须使用绑定变量;
对于aix系统,建议在操作系统配置文件.profile中设置exportAIXTHREAD_SCOPE=S;
频繁使用的小表要放入库存中;
频繁使用的index需要放入库缓存的keep池中;
不使用select*fromxxxxforupdate;如果可能的话,考虑使用select*fromxxxxforupdatenowait替代;
对于表空间,建议使用自动段管理(ASSM);
对于存储频繁更新的数据的表空间或者表,建议设置较大的pctfree,以避免行迁移和行链接;
如果使用rawdevice,建议使用AIO,各个平台的配置稍有不同。
2.1.2数据库业务类型
数据库业务类型选取OLTP(联机事务处理)
OLTP数据库支持某种特定的操作,OLTP系统是一个包含繁重及频繁执行的DML应用,其面向事务的活动主要包括更新,同时也包括一些插入和删除。
OLTP系统可以允许有很高的并发性(在这种情况下,高并发性通常表示许多用户可以同时使用一个数据库系统)。
2.1.3数据库规模
由上述数据可知,截止2011年末建行总开户量为31509万户,每天的开户量为30.53万户;贷款客户量为2499.87万户,每天新增的贷款客户量为6453户;存款总客户量为25207.2万户,每天新增的存款客户量为24.42万户。
数据库业务量可能要600GB-1TB,属于大规模数据库。
2.1.4磁盘配置
磁盘配置采用RAID0+1
由于RAID的划分,不存在一个个真实的物理盘,对应的是物理卷(PV),逻辑卷组(VG),逻辑卷(LV)。
推荐使用SAME技术,即全部镜像和条带化。
在对磁盘阵列做SAME处理后,所有的逻辑卷都分布在所有的物理磁盘上,每个逻辑卷的读写都能够利用到所有的物理磁盘的吞吐能力,同时获得较高的可靠性。
同时在使用磁盘设备的时候不需要考虑各个不同文件的IO情况,因为它们都使用同样的全部磁盘的吞吐能力,这进一步简化了数据库的文件管理工作,避免一些意外的操作。
不同的类型对象,尽量分布在不同的卷组上,建议:
表对应的数据和索引分别放置在不同的物理磁盘上;
控制文件的多个备份分别放置咋不同的物理磁盘上;
REDO日志组的多个成员放置在不同的物理磁盘;
建议将oracle文件、system表空间、temporary表空间、undo表空间放置在不同的磁盘上。
设置磁盘数目为5个,编号分别为:
e盘,f盘,g盘、h盘和i盘。
其中将数据文件、重做日志文件、控制文件等分别存放在这些磁盘中,数据库备份存放在i盘中,并且相互镜像。
2.1.5数据库实例命名
RAC模式下的Oracle数据库的服务名与实例名不同。
2.2基本表设计
2.2.1业务表设计
表名
字段
含义
Customer
Customer_No
客户编号
Customer_Name
客户姓名
Customer_Sex
客户性别
Customer_Age
出生年月
Customer_Native
客户籍贯
Customer_Address
居住地址
Customer_Tel
联系电话
Customer_ID
证件号码
Customer_Branch
Customer_Branch_No
分支客户编号
Customer_Branch_Name
分支客户姓名
Customer_Branch_Sex
分支客户性别
Customer_Branch_Age
分支出生年月
Customer_Branch_Native
分支客户籍贯
Customer_Branch_Address
分支居住地址
Customer_Branch_Tel
分支联系电话
Customer_Branch_ID
分支证件号码
Employee
Employee_No
员工编号
Employee_Name
员工姓名
Employee_Sex
员工性别
Employee_Age
出生年月
Employee_Native
员工籍贯
Employee_Address
居住地址
Employee_Tel
联系电话
Employee_ID
证件号码
Loan
Loan_No
贷款编号
Loan_Name
贷款人姓名
Loan_Age
贷款人出生日期
Loan_Address
贷款人住址
Loan_Tel
贷款人联系电话
Loan_Money
贷款金额
Loan_ID
贷款人证件号码
Loan_Branch
Loan_Branch_No
分支贷款编号
Loan_Branch_Name
分支贷款人姓名
Loan_Branch_Age
分支贷款人出生日期
Loan_Branch_Address
分支贷款人住址
Loan_Branch_Tel
分支贷款人联系电话
Loan_Branch_Money
分支贷款金额
Loan_Branch_ID
分支贷款人证件号码
Saving
Saving_No
存款编号
Saving_Name
存款人姓名
Saving_Age
存款人出生日期
Saving_Address
存款人住址
Saving_Tel
存款人联系电话
Saving_Money
存款金额
Saving_ID
存款人证件号码
Saving_Branch
Saving_Branch_No
分支存款编号
Saving_Branch_Name
分支存款人姓名
Saving_Branch_Age
分支存款人出生日期
Saving_Branch_Address
分支存款人住址
Saving_Branch_Tel
分支存款人联系电话
Saving_Branch_Money
分支存款金额
Saving_Branch_ID
分支存款人证件号码
Account
Account_No
取款编号
Account_Name
取款人姓名
Account_Age
取款人出生日期
Account_Address
取款人住址
Account_Tel
取款人联系电话
Account_Money
取款金额
Account_ID
取款人证件号码
Account_Branch
Account_Branch_No
分支取款编号
Account_Branch_Name
分支取款人姓名
Account_Branch_Age
分支取款人出生日期
Account_Branch_Address
分支取款人住址
Account_Branch_Tel
分支取款人联系电话
Account_Branch_Money
分支取款金额
Account_Branch_ID
分支取款人证件号码
表2-1
2.2.2业务数据量估计(总业务量120亿)
序号
表名
增长量
(\小时\天\周)
增长量
(\月\半年)
年数据量
1.
客户表(Customer)
50.2m\天
1.5g\月
19g\年
2.
客户分支表
(Customer_Branch)
--
2.5g\半年
5g\年
3.
员工表(Employee)
--
--
2g\年
4.
存款单表(Saving)
690m\天
20g\月
240g\年
5.
存款分支表
(Saving_Branch)
--
10g\月
120g\年
6.
贷款单表(Loan)
345m\天
10g\月
120g\年
7.
贷款分支表
(Loan_Branch)
--
10g\月
120g\年
8.
取款单表(Account)
690m\天
20g\月
240g\年
9.
取款分支表
(Account_Branch)
--
10g\月
120g\年
合计
986g
表2-2
2.2.3表空间类型
2.2.3.1基本表空间
表空间名称
裸设备连接文件名
普通文件名
说明
SYSTEM
rsystem_01_2g
systemnn.dbf
总空间大小设置为2G
SYSAUX
rsysaus_01_4g
sysauxnn.dbf
总空间大小设置为4G
UNDOTBS1
rundotbs_01_10g
undotbsnn.dbf
总空间不小于8G
TEMP
rtemp_01_6g
tempnn.dbf
总空间不小于4G
表2-3
2.2.3.2应用表空间
表空间种类
表空间命名规则
裸设备连接文件名
普通文件名
TABLES公用表空间
D_
r+Customer_Branch_tbs_01_5g
Customer_Branch_tbs_01.dbf
TABLES公用表空间
D_
r+Customer_tbs_01_19g
Customer_tbs_01.dbf
TABLES公用表空间
D_
r+Employee_tbs_01_1g
Employee_tbs_01.dbf
TABLES公用表空间
D_
r+Loan_tbs_01_120g
Loan_tbs_01.dbf
TABLES公用表空间
D_
r+Loan_Branch_tbs_01_120g
Loan_Branch_tbs_01.dbf
TABLES公用表空间
D_
r+Saving_tbs_01_240g
Saving_tbs_01.dbf
TABLES公用表空间
D_
r+Saving_Branch_tbs_01_120g
Saving_Branch_tbs_01.dbf
TABLES公用表空间
D_
r+Account_Branch_tbs_01_120g
Account_Branch_tbs_01.dbf
TABLES公用表空间
D_
r+Account_tbs_01_120g
Account_tbs_01.dbf
表2-4
其中应用表空间保存业务应用数据。
根据实际需要,共分为4个应用表空间,如下所示:
表空间名
说明
数据文件
表空间中的表
Customer
该空间存放银行客户和员工相关的数据信息,存储在e盘上。
Customer_mn.dbf
Customer_Branch_mn.dbf
Employee_mn.dbf
客户表
客户分支表
员工表
Loan
该空间存放贷款客户的相关数据信息,存储在f盘上。
Loan_mn.dbf
Loan_Branch_mn.dbf
贷款单表
贷款分支表
Saving
该空间存放存款客户的相关数据信息,存储在g盘上。
Saving_mn.dbf
Saving_Branch_mn.dbf
存款单表
存款分支表
Account
该空间存放取款客户的相关数据信息,存储在h盘上。
Account_mn.dbf
Account_Branch_mn.dbf
取款单表
取款分支表
表2-5
2.5表空间参数设置原则
Extent管理
使用本地管理中的指定大小(UniformSize)的方式管理表空间。
通过指定合适的数据表空间,可以避免系统出现过多的碎片和提高存储空间的利用效率。
Segement管理
使用自动管理方式(ASSM),即指数据库系统使用BIMTP的方式来管理空闲块。
数据表空间的存储参数
表空间的区管理:
表空间是以区为单位进行分配空间的,使用本地管理表空间。
表空间的段管理:
使用自动段空间管理(缺省参数)。
临时表空间的存储参数
使用本地表空间管理+统一尺寸管理1M。
2.5表空间创建
2.5.1创建临时表空间组
临时表空间组是指,将一个或多个临时表空间构成一个表空间组。
此处创建两个临时表空间组temp_group1和temp_group2,其中
临时表空间BANKTEMP1和BANKTEMP2存放于temp_group1中;
临时表空间BANKTEMP3和BANKTEMP4存放于temp_group2中;
2.5.2创建撤销表空间
撤销表空间专门用于回滚段的自动管理。
此处设置三个撤销表空间UNDOTBS1、UNDOTBS2和UNDOTBS3,使用撤销表空间对数据库回滚信息进行自动管理,将参数UNDO_MANAGEMENT设置为AUTO。
2.6表的参数设置原则
Pctfree、Pctused
存储参数Pctfree和Pctused决定了一个数据块在不同的数据库操作下的可用性。
对于主要操作为insert的数据对象,设置Pctfree=5Pctused=60;
对于更新较为频繁的系统,设置Pctfree=20Pctused=40;
对于银行系统,由于数据保留时间长,设置Pctfree=10Pctused=50。
Initrans、Maxtrans
存储参数Initrans和Maxtrans决定了数据对象的同一个数据块中能够并发进行的事务数。
由于目前的数据库有逐步变大的趋势,故此同一个数据块发生并发事务的几率在上升。
对于db_Block_Size=8192的OLTP系统,设置Initrans=4Maxtrans=10。
2.7分区设计
如果数据能按照某个(某些)值分区,则采用range分区,range分区可以利用分区消除;
如果不能找到其他适合的自然条件进行分区,则采用HASH分区,建议选择唯一列或者几乎唯一的列作为分区键值,这种情况下,分区数据要保持均匀,且该情况下hash分区可以利用分区消除;
若分区后,每个分区的数据量还是很大,则采用组合分区,如首先按照自然条件做range分区,之后,对分区再进行分区。
2.8索引设计
全局索引:
指向任何一个分区中的记录,索引可以被分区或不分区;
本地索引:
采用前缀本地索引,唯一类或非唯一列,可有效的使用分区消除,使用于索引并行查询;
本地分区索引:
每个表分区建立一个索引分区,该分区索引只索引该表分区的数据,一个给定索引分区中的所有条目都指向一个表分区,表分区中的所有行都表示在一个索引分区中,适合并行索引扫描;
全局分区索引:
索引有独立的分区键值,每个索引分区可能指向多个不同的表分区数据。
三、数据库物理存储结构设计
3.1数据文件
数据文件位置:
\home\db\oracle\oradata\{DB_NAME}\
客户表(Customer)、客户分支表(Customer_Branch)、员工表(Employee)存放路径:
e:
\oracle\product\11.2.0\oradata\bank\Customer_Branch01.dbf
e:
\oracle\product\11.2.0\oradata\bank\Customer01.dbf
e:
\oracle\product\11.2.0\oradata\bank\Employee01.dbf
贷款单表(Loan)、贷款分支表(Loan_Branch)存放路径:
f:
\oracle\oradata\bank\Loan01.dbf
f:
\oracle\oradata\bank\Loan_Branch01.dbf
存款单表(Saving)、存款分支表(Saving_Branch)存放路径:
g:
\oracle\oadata\bank\Saving01.dbf
g:
\oracle\oadata\bank\Saving_Branch01.dbf
取款单表(Account)、存款分支表(Account_Branch)存放路径:
h:
\oracle\oradata\bank\Account01.dbf
h:
\oracle\oradata\bank\Account_Branch01.dbf
数据文件都使用裸设备方式,使用固定大小,不得设置为自动扩展。
3.2控制文件
每个数据库实例应至少有两个控制文件,且每个文件存储在独立的物理磁盘上。
如果有一个磁盘失效而导致数据文件不可用,与其相关的数据库实例必须关闭。
一旦失效的磁盘得到修复,可以把保存在另一磁盘的控制文件复制
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ORACLE 设计 建设银行 业务 管理 系统