在某小县城银行的某系统终于上线了,蛋疼的DB2,看着客户的的服务器申请单,着实抑郁了一把:
中间件
中间件名称
版本
数据库
数据库类型
■DB2 □Oracle □Informix □Sql Server
版本
32/64位
□32位 ■64位
实例名
数据库名称
DBA用户
表空间
名称
容量(三年)
是否裸设备
增长率(月)
其他
GB
%
G
%
数据库用户
用户名
权限
□DBA □select □insert □update □delete
□DBA □select □insert □update □delete
□DBA □select □insert □update □delete
实际上,我们的系统数据库是采用automatic storage来着,没有对表空间什么的进行设计,最直接的因素是我们的系统其实对效率并没有很高的要求,所以,数据库优化这块也就没什么需要的了。当然主要是本人对db2掌握不好,只是会用,经验也不足。
其中有一个裸设备的概念,裸设备实际上就是使用数据库来管理磁盘,而不是底层操作系统,在访问文件的时候,省去了一些步骤,效率会高一些,但对空间的拓展可能就复杂一些吧。据行里透露,实际上的系统有的用裸设备,有的用文件系统。对我们来说,还是用文件系统吧。
对于表空间,可能普遍的就是数据和索引分别建在不同的表空间上,很遗憾,我们系统没有单独的建索引;换句话说,如果有需要对系统进行优化,那么是需要收钱的,你懂的。对表空间的大小和增长率,也不是凭空瞎说的。比如有N个表,大概占1K,每天业务量为5000笔,那么每天就会增长5000x1K,再按每年大约250个工作日计算,最终就得到一年大概的数据量了。
最终按照客户的表格填好了,不过最后才发现客户就安装了两个实例,除了操作系统外,还分了两个逻辑卷但是没有挂载到文件系统。因此协商了一下,直接给我把剩余空间挂载到了/home/db/data下,做数据库存储用。
create database xxdb automatic storage yes on /home/db/data/ using codeset GBK territor CN pagesize 32768
值得注意的是/home/db/data目录应该有写的权限,否则会出现不能access的错误。
chmod 775 /home/db/data
整个/home/db挂载的230G左右的分区,设计的是3年的存储量。实际上3年估计能用50G就不错了。