超大型Oracle数据库应用系统的设计方法(下)

 
   | |

导读:数据库的备份与恢复在系统设计中占很重要的地位。好的备份及恢复策略可以降低系统的运行风险,减少因硬件故障而造成的损失。

关键词:数据库 备份 系统 硬盘 Oracle

正在加载数据...

  表空间的设计

  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。一般的每组日志文件的个数为3-7个,每个的大小为200MB-500MB。

  数据文件大小

  建议用标准的文件大小,如200M、1GB、2GB、4GB、8GB等,可简化空间的维护工作。

  回滚段

  回滚段一般建在专用的表空间中。每一个INSTANCE实例拥有各自的回滚段。设置回滚段的一般原则是: initial 及 next 存储参数的值是相等的,同时还是DB BLOCK SIZE的倍数。每个回滚段的minextents设为20,optimal参数的值保证回滚段缩小时不低于20个extents。

  临时表空间

  临时表空间一般建在专用的表空间中。每一个INSTANCE实例拥有各自的临时表空间。这样使用临时表空间时不会有PING。设置临时表空间的initial=next。

  四、系统硬盘的划分及分配

  在多机集群环境下,Oracle并行服务器通过操作系统提供的DRD服务来共享同一个数据库。每一个INSTANCE对数据库的数据文件的访问都是通过该数据文件所在的DRD服务进行的。

  考虑以下情况:主机1上有DRD服务1,该服务对应的数据文件有1、2、13、35、67等,这时如果主机2上的INSTANCE2需要读取数据文件13,通过DRD服务调度,主机1通过DRD服务访问磁盘阵列上的数据文件13,把INSTANCE2需要的数据读到内存,然后通过MEMORY IO把数据传到主机2的INSTANCE2。写操作是读操作的逆过程。

  通过以上分析可知,系统硬盘的划分及分配的原则是尽量减少MEMORY IO。

  五、备份及恢复策略的考虑

  数据库的备份与恢复在系统设计中占很重要的地位。好的备份及恢复策略可以降低系统的运行风险,减少因硬件故障而造成的损失。

  Oracle备份方法:

  1、物理备份

  将数据库的物理文件通过操作系统的命令或工具备份到备份介质上。物理备份往往用于存储介质故障时恢复数据库系统的数据。

  根据数据库运行方式的不同,可进行不同的物理备份:

  a)物理冷备份(offline backup)

  物理冷备份要求数据库在关闭(所有INSTANCEs停止)的情况下进行。这种备份必须是完全备份,即需备份所有的数据文件、控制文件(control file)、日志文件(redo log file)、初始参数文件等等。

  物理冷备份的步骤简单,但要求系统能够停止。

  b)物理热备份(online backup)

  物理热备份是在数据库系统正常运行的情况下进行的数据库备份。这种备份可以是数据库的部分备份,既备份数据库的某个表空间(tablespace)或某个数据文件(datafile),也可备份控制文件(control file)。

  物理热备份要求数据库在ARCHIVELOG模式下运行。这种备份一般用于应用系统不能停机的情况。

  c)归档日志文件备份(archived log file backup)

  要使数据库系统能够恢复到故障点前一时刻状态,或恢复到某指定时刻状态,数据库必须采用ARCHIVELOG模式。在ARCHIVELOG模式下,数据库系统会产生归档日志文件(archive log files)。归档日志文件也需备份到备份介质上。在恢复时,这些文件可使数据库恢复到最近状态。

  归档日志文件产生在指定目录下,这些文件一生成就可以备份到备份介质上,DBA可根据磁盘空间情况,定时将它们备份出去。

  2、逻辑备份

  逻辑备份是通过Oracle提供的Export工具,将数据库的结构定义及其数据卸出到特定格式的文件中,并备份该文件。

  在实际应用中,逻辑备份与物理备份并用。一般来说,物理备份用于磁盘介质损坏或数据文件损坏;逻辑备份用于数据库中的某些对象被破坏或用户误操作。

  备份策略的考虑主要在以下三个方面:

  存储空间

  对现行运行的系统的性能影响

  恢复时间的影响

  如果需要节省空间和恢复时间就需要增加备份的频率,但是备份操作会明显增加现行运行的系统的负载。、

  Oracle的恢复方法

  根据不同的备份方法采用不同的恢复方法。

  使用物理备份恢复

  Oracle提供了三种恢复手段:

  1、数据库级的恢复

  2、表空间(Tablespace)的恢复

  3、数据文件的恢复

  数据库级的恢复要求数据库在关闭但Mount的状态下进行。表空间及数据文件的恢复可在数据库运行的状态下进行。

  使用逻辑备份恢复

  当数据库中的某一对象被损坏,或用户的误操作使数据破坏(如误删表) 时可用逻辑备份恢复。用逻辑备份只能恢复到备份时刻的状态。


超大型Oracle数据库应用系统的设计方法
 超大型Oracle数据库应用系统的设计方法(1)
 超大型Oracle数据库应用系统的设计方法(2)
 超大型Oracle数据库应用系统的设计方法(下)

原文出处:http://tech.ccidnet.com/art/1107/20090608/1792267_2.html
 
来源:赛迪网    作者:yan    
 
 
 
 
 

Oracle数据库设计

 
在使用Oracle数据库时,如何选择表中的主键列(primary key columns ),在选择是需要注意哪些问题,专家将给出解答。
 
在进行软件开发与设计时,使用特定的开发语言,比如C++,能否链接Oracle数据库,这是程序员比较关心的问题,而Oracle C++调用接口就是这样一个工具。
 
Oracle数据库中,传统表和索引组织表(IOT)有哪些区别,在特定的环境中如何选用两种表,专家给出了建议。
 
在Oracle 9i中,如果有一个图像文件大小超过了1GB,使用什么方法来对它进行存储和检索工作,专家将给出参考方法。
 
我是个Oracle数据库的初学者。我想使用Oracle复制功能。谁能帮我讲讲Oracle数据库复制的步骤?非常感谢。

热门技术手册排行

 

在本次的技术手册中,我们为您提供了PL/SQL的基础知识以及专家指导,包括了PL/SQL中的数据类型简介、PL/SQL函数与触发器以及PL/SQL中的存储过程等,相信您无论是高手还是菜鸟都可以获得有帮助的信息。

 

本系列文章由三部分组成,为Oracle数据库管理员(DBA)面试成功的必备手册。本专题内容囊括从DBA最初的面试开始,从写“杀手简历”到求职信、到面试过程到Oracle认证再到上升到公司高层最后到你成为公司里的明星DBA。专家为你一一指点迷津,最终让你登上成功的宝座。

 

要成为一名DBA,你需要具备哪些素质?DBA的薪酬待遇如何?DBA的职业道路究竟可以走向何方?我们将在本次的技术手册中为您一一解答。

 

在本次技术手册中,我们将对SQL Server存储过程的调试进行详细的介绍,包括了基础的调试方法和在调试过程中出现的T-SQL性能问题和解决方法。

 

本技术专题主要围绕sql server设计这个话题展开,侧重介绍了sql server集簇索引的设计、如何创建sql server索引、如何优化索引、索引的能与不能、处理sql server 2000索引碎片技巧以及维护sql server索引以实现查询优化等等。

查看更多
 
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录