日期:2014-05-17  浏览次数:20791 次

db2到oracle的迁移方案及oracle设计方案(提供建议即可)
题目如下:
一、 Oracle数据库专家考核题
某网站此前一直使用DB2 8.1作为其后台数据库,但是由于业务发展迅速,计划后期采用Oracle11g作为其后台数据库。此网站具有如下特点。
1、 用户量巨大,目前的注册用户已经达到5千万。
2、 同时在线用户量也很大,同时在线用户一般在500万左右。高峰期可以达到1000万,即使在最少时也有20万人同时在线。
3、 此网站主要业务包括:社交、购物、邮箱。
4、 后续可能会进军网络游戏业务。
请从以上信息出发,充分挖掘,从数据表结构、冗灾、日常维护监控、性能等多个角度考虑,给出数据库迁移方案和新的Oracle数据库设计方案。如果不能面面俱到,也可选择其中的某一两个点,深入设计。
请大家给些建议,随便说说一点或几点都可以,我再来总结。
比如:表结构的设计啊,容灾的设计啊。性能的方案等等。谢谢


------解决方案--------------------
关注
------解决方案--------------------
DB2没有用过
帮顶了
------解决方案--------------------
关注,
------解决方案--------------------
关注...
------解决方案--------------------
汗,并发量这么大的项目,这样的项目正是oracle的用武之地。
看一下oracle HA部分相关概念。
下面帖一个以前收藏的文章,不知道对你有没有帮助。
------解决方案--------------------
【IT168 技术文档】

一、概论 

超大型系统的特点为: 

1.处理的用户数一般都超过百万,有的还超过千万,数据库的数据量一般超过1TB; 

2.系统必须提供实时响应功能,系统需不停机运行,要求系统有很高的可用性及可扩展性。 

为了能达到以上要求,除了需要性能优越的计算机和海量存储设备外,还需要先进的数据库结构设计和优化的应用系统。 

一般的超大型系统采用双机或多机集群系统。下面以数据库采用Oracle 8.0.6并行服务器为例来谈谈超大型数据库设计方法: 

·确定系统的ORACLE并行服务器应用划分策略 

·数据库物理结构的设计 

·系统硬盘的划分及分配 

·备份及恢复策略的考虑 

二、Oracle并行服务器应用划分策略 

Oracle并行服务器允许不同节点上的多个INSTANCE实例同时访问一个数据库,以提高系统的可用性、可扩展性及性能。Oracle并行服务器中的每个INSTANCE实例都可将共享数据库中的表或索引的数据块读入本地的缓冲区中,这就意味着一个数据块可存在于多个INSTANCE实例的SGA区中。那么保持这些缓冲区的数据的一致性就很重要。Oracle使用 PCM( Parallel Cache Management) 锁维护缓冲区的一致性,Oracle同时通过I DLM( 集成的分布式锁管理器)实现PCM 锁,并通过专门的LCK进程实现INSTANCE实例间的数据一致。 

考虑这种情况:INSTANCE1对BLOCK X块修改,这时INSTANCE2对BLOCK X块也需要修改。Oracle并行服务器利用PCM锁机制,使BLOCK X从INSTANCE 1的SGA区写入数据库数据文件中,又从数据文件中把BLOCK X块读入INSTANCE2的SGA区中。发生这种情况即为一个PING。PING使原来1个MEMORY IO可以完成的工作,变成2个DISK IO和1个 MEMORY IO才能够完成,如果系统中有过多的PING,将大大降低系统的性能。 

Oracle并行服务器中的每个PCM锁可管理多个数据块。PCM锁管理的数据块的个数与分配给一个数据文件的PCM锁的个数及该数据文件的大小有关。当INSTANCE 1和INSTANCE 2要操作不同的BLOCK,如果这些BLOCK 是由同一个PCM 锁管理的,仍然会发生PING。这些PING称为FALSE PING。当多个INSTANCE访问相同的BLOCK而产生的PING是TRUE PING。 

合理的应用划分使不同的应用访问不同的数据,可避免或减少TRUE PING;通过给FALSE PING较多的数据文件分配更多的PCM锁可减少 FALSE PING的次数,增加PCM锁不能减少TRUE PING。 

所以, Oracle并行服务器设计的目的是使系统交易处理合理的分布在INSTANCE实例间,以最小化PING,同时合理的分配PCM锁,减少FALSE PING。设计的关键是找出可能产生的冲突,从而决定应用划分的策略。应用划分有如下四种方法: 

1.根据功能模块划分,不同的节点运行不同的应用 

2.根据用户划分,不同类型的用户运行在不同的节点上 

3.根据数据划分,不同的节点访问不同的数据或索引 

4.根据时间划分,不同的应用在不同的时间段运行 

应用划分的两个重要原则是使PING最小化及使各节点的负载大致均衡。 

三、数据库物理结构的设计 

数据库物理结构设计包括确定表及索引的物理存储参数,确定及分配数据库表空间,确定初始的回滚段,临时表空间,redo log files等,并确定主要的初始化参数。物理设计的目的是提高系统的性能。整个物理设计的参数可以根据实际运行情况作调整。 

● 表及索引数据量估算及物理存储参数的设置 

表及索引的存储容量估算是根据其记录长度及估算的最大记录数确定的。在容量计算中考虑了数据块的头开销及记录和字段的头开销等等。表及索引的initial和next存储参数一般设为相等,pctincrease设为0。 

● 表空间的设计 

Oracle数据库的表和索引是透过表空间tablespace存储在数据库中的。在tablespace设计时一般作以下考虑: 

1、一般较大的表或索引单独分配一个tablespace。 

2、Read only对象或Read mostly对象分成一组,存在对应的tablespace中。 

3、若tablespace中的对象皆是read only对象,可将tablespace设置成read only模式,在备份时,read only tablespace只需备份一次。 

4、高频率insert的对象分成一组,存在对应的tablespace中。 

5、增、删、改的对象分成一组,存在对应的tablespace中。 

6、表和索引分别存于不同的tablespace。 

7、存于同一个 tablespace中的表(或索引)的extent 大小最好成倍数关系,有利于空间的重利用和减少碎片。 

● DB BLOCK SIZE 

超大型数据库DB BLOCK SIZE一般在4KB 至 64KB,而最常用的是8KB、 16KB或32KB。选用较大的DB BLOCK SIZE可使INDEX的高度降低,也会提高IO效率。 

● Redo Log Files 

Oracle进程redo log writer (LGWR)将日志写入日志文件。一般日志文件最好建在专用的镜像盘上。日志文件组的个数及文件的大小的设定与系统交易量的大小有关。ORACLE并行服务器中每个INSTANCE使用各自的一组rego log files。一