ORACLE数据库规划与实施

上传人:飞*** 文档编号:48859128 上传时间:2018-07-21 格式:PPT 页数:47 大小:207.50KB
返回 下载 相关 举报
ORACLE数据库规划与实施_第1页
第1页 / 共47页
ORACLE数据库规划与实施_第2页
第2页 / 共47页
ORACLE数据库规划与实施_第3页
第3页 / 共47页
ORACLE数据库规划与实施_第4页
第4页 / 共47页
ORACLE数据库规划与实施_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《ORACLE数据库规划与实施》由会员分享,可在线阅读,更多相关《ORACLE数据库规划与实施(47页珍藏版)》请在金锄头文库上搜索。

1、4.4 ORACLE数据库规划与实施 ORACLE为信息系统提供了一个开放、综合、集 成的方法。使用ORACLE数据库进行信息系统开 发的步骤可以归纳为如下过程:建ORACLE 数据库建表空间建回滚段建用户建数据库对象开发 本节介绍ORACLE数据库的规划与实施:4.4.1 数据库应用程序类型 4.4.4 ORACLE对象设计4.4.2 ORACLE空间设计 4.4.5 DBA工具4.4.3 ORACLE安全设计郭文明 2003.06.054.4.1 数据库应用程序类型 规划和配置数据库,需要知道将要操作数据库 的事务有什么,这些事务访问数据库的频率有 多大。针对不同的事务访问情形,对内存的要

2、 求不同,磁盘I/O操作的情形也不同。只有设 置合适的ORACLE实例,才能使数据库应用系统 获得快速、准确、可靠的事务响应。ORACLE既 可以设置成处理长的密集型事务的系统,也可 以设置成处理大量的小型快速事务的系统。有 三种通用的数据库设置类型: 联机事务处理(OLTP) 决策支持系统(DSS) 批量作业系统 混合系统郭文明 2003.06.054.4.1 数据库应用程序类型 联机事务处理(OLTP)OLTP系统是一个包含繁重DML的应用,其面向事务 的活动主要包括更新,但也包括一些插入和删除。典 型的例子是用于航空公司和旅馆的预定系统。OLTP系 统可以允许有很高的并发性。OLTP的特

3、点是有大量短的事务高频率地访问数据库 ,每一个事务操作的数据量不是很多,但事务比较频 繁,而且要求数据库响应事务的速度快。一般来说 OLTP系统需要24*7地响应对数据库的请求。根据这些 要求,我们应该从以下几方面考虑:1)大量的小回滚段。因为事务都不太大,对回滚 段空间的需求不可能很大,但事务数量多,引发回滚 段数量的增大。应该创建大量小的回滚段,把事务对 回滚段的争用减到最小。标准的配置可以考虑每四个 活动事务用一个回滚段,每个事务接受一个区间。郭文明 2003.06.054.4.1 数据库应用程序类型 联机事务处理(OLTP)2)OLTP应用的表可能插入或者删除记录,所以存放 易变表和索

4、引的表空间应被分配到它们最大的期望容量 。3)适当的估计重写日志缓冲区和日志文件大小,减 少日志写和日志切换的频率,尽可能降低对响应事务请 求的影响,另外频繁的检查点也可能影响事务响应速度 。4)拥有大型共享池。不同客户可能执行同样的SQL语 句,SQL在共享池中缓冲,性能可提高(应用程序的SQL 语句应当统一,另外WHERE中使用绑定变量查询而不是 直接的值查询,使不同值的查询共享SQL的执行计划) 。5)数据拥有单独的索引。OLTP的事务请求基本在规 划设计范围之内,建立单独有效的索引,并在独立的表 空间中创建主键和其他索引,且存放在独立的存储器上 。6)使用小型临时段。需要小的排序应在内

5、存中完成 ,尽量避免OLTP系统对临时段的请求进入磁盘。郭文明 2003.06.054.4.1 数据库应用程序类型决策支持系统(DSS)DSS系统通常是一个大型的、包含历史性内容的只读 数据库,通常用于简单的固定查询或特别查询。夜间 处理任务被认为是DSS,查询(选择)是DSS的主要活 动。根据这些要求,我们应该从以下几方面考虑:1)拥有少量的较大的回滚段。大型工作要创建大型 的回滚段,使用SET TRANSACTION USER ROLLBACK SEGMENT语句使事务强制使用专用回滚段。2)为分类排序创建大型临时表空间,DSS经常超出 内存的使用空间而从内存转入磁盘(临时表空间)。3)使

6、用较小的共享SQL区域而采用较大的数据缓冲 区高速缓冲。DSS中SQL的执行频率并不大,无需考虑 SQL语句的共享,但应增加数据库缓冲区高速缓冲的容 量,使得更多的数据块和回滚段在内存中高速缓冲。郭文明 2003.06.054.4.1 数据库应用程序类型 决策支持系统(DSS)4)如前所述,DSS希望Oracle块一次读取尽可能多的 行。因为DSS查询一般触发整个表扫描,所以希望通过 读取多个连续的块使系统读取的块达到最大值。把 DB_BLOCK_SIZE和DB_FILE_MULTIBLOCK_READ_COUNT参数 设置得尽可能高些。5)运行的SQL应当删除不必要的排序并充分利用索引 ,以

7、减少对临时表空间和回滚段的压力。2种方法:在 没有可以选择的良好索引时不使用任何索引或屏蔽使用 某些索引(参见4.3);使用位图索引。6)不要在DSS应用代码中使用绑定变量。在OLTP下, 希望最小化应用进程开销(语法分析)。然而,DSS的查 询,语法分析占用整个查询时间的比例会更小。假如使 用绑定变量,优化程序不能调用它所存储的统计信息( 通过ANALYZE命令)以选出存取数据的最好方法。郭文明 2003.06.054.4.1 数据库应用程序类型 批量作业系统批作业处理系统是作用于数据库的非交互性的自动 应用。它通常含有繁忙DML语句并有较低的并发性。 另外还有一些其他的应用类型: OLAP

8、(联机分析处理)系统可提供分析服务。该系统在 数学、统计学、集合以及大量的计算方面区别于OLTP 或DSS模型。可以把OLAP看作是在OLTP系统或DSS之上 的一个扩展或一个附加的功能层次。地理信息系统( Geographic Information Systems,GIS)或有关空 间的数据库和OLAP数据库相集成,提供图表的映射能 力。例如用于社会统计的人口统计数据库。VCDB(可变基数数据库),这类数据库通常被用作 一个处理系统的数据库后端,这样就会导致在数据处 理期间,数据库中的表显著地增长或收缩。基数是指 在一个给定时间里一个表中行的数目。郭文明 2003.06.054.4.1 数

9、据库应用程序类型混合系统混合系统混合了前面介绍的几种类型。许多实际应 用系统往往是OLTP和DSS甚至其他模型的集成。从前面OLTP和DSS的需求对比来看,OLTP和DSS的基 本特征似乎相反,如何协调这两种需求的矛盾?一般 有三种解决方法:1)在一个系统中的OLTP和DSS之间节流,白天运行 OLTP,而夜间进行批量处理。即白天运行OLTP配置的 数据库,夜间跳回DSS配置的实例。这种方法的实际操作模式可以是以下两种:OLTP不 支持24*7工作方式,DSS时不支持OLTP;DSS操作的系 统反跳之后,OLTP可以使用,但系统性能将受影响。 DBA需要测试DSS和服务器反跳对Web用户的影响

10、,必 要时选择其他解决办法来调整系统服务模式。郭文明 2003.06.054.4.1 数据库应用程序类型 混合系统2)同时运行两个数据库,一个服务于OLTP,一个 服务于DSS。OLTP数据库进行实时更新,在有规则的 时间间隔内,将变化传递给DSS数据库。这种方法的实际操作模式可以多种。DBA可以夜间 执行部分或全部OLTP系统的输出,并输入到DSS系统 。较好的解决方法是对实时方式下传递变化的连接数 据库使用复制技术,将变化的数据复制记录下来, OLTP数据库只传递变化的数据给DSS数据库。第三种 方法是使ORACLE中OLTP数据库的归档日志自动应用于 DSS数据库,保证DSS系统紧跟在O

11、LTP系统之后,DSS 数据库不仅作为OLTP的备用数据库,而且自己又独立 地服务于决策支持。尽管这种方式可能不能保证OLTP 和DSS数据库的绝对同步,但在DSS的实时性要求不是 很强时,是一种很好的方法。郭文明 2003.06.054.4.1 数据库应用程序类型 混合系统3)在一个系统中同时运行OLTP和DSS。这是最普遍 的解决方法。系统经常作为OLTP开始活动,逐渐加入 DSS需求使系统渐渐成为混合系统。在这种情况下,DBA必须在OLTP和批量处理之间寻 找平衡,并且应该偏向于OLTP用户,创建与OLTP同样 多的回滚段,而且要创建少量专门为大型事务指定的 大型回滚段,同时将高速缓冲和

12、共享池保持合理的容 量,使系统既支持OLTP对共享池的需求又支持DSS对 数据库缓冲区高速缓冲的需求。还要确保临时表空间 够批量排序使用,同时将OLTP排序控制在内存中。推荐在这种情况下使用专用服务器,并且配置 ORACLE并行服务器(Oracle Parallel Server,OPS), 因为OPS允许多个实例访问同一个物理数据库,一个 实例为OLTP配置,另一些为批量处理配置。郭文明 2003.06.054.4.2 ORACLE空间设计 ORACLE数据库的结构包括逻辑结构和物理结构 。在进行应用系统数据库设计时,空间设计是 非常重要的,它与今后运行系统的性能、可用 、维护、管理等有密切

13、的关系。物理结构与逻 辑结构之间的关系如下图:TablespaceSegmentExtentOracle blockData fileOS blockDatabaseLogicalPhysical郭文明 2003.06.054.4.2.1 ORACLE表空间设计 ORACLE表空间分为两大类:系统表空间和非系 统表空间。系统表空间是建库时自动创建的主 要用于存储数据字典、系统回滚段;非系统表 空间是由用户创建的表空间,主要用于分离段 ,方便用户的数据管理。ORACLE推荐一种最佳 灵活结构OFA(Optimal Flexible Architecture)可以用于表空间的设计。OFA是 ORA

14、CLE软件安装和数据文件的推荐目录结构。 OFA只是一组建议,并不是绝对原则。下面介绍 基本OFA和扩展OFA。 基本OFA1)系统表空间(SYSTEM):系统表空间不具有重建 性,只用于存放数据字典,其他内容如数据段信息 等都应从系统表空间中移出。郭文明 2003.06.054.4.2.1 ORACLE表空间设计 基本OFA2)分离应用程序数据段(DATA):应用程序数据段 应是一个独立的表空间,即数据表空间。建立单独 数据表空间的理由是:应用程序与数据文件分离有 利于减少资源争用,简化文件管理;另外,当数据 段产生碎片时利于管理。3)分离应用程序索引段(INDEX):索引段不应与 相关的数

15、据段存储在一个表空间,以免产生资源争 用。由于表增长和不正确的尺寸设置可能产生索引 段的碎片,分离应用程序索引段,可以减少整理数 据表或索引碎片所需的管理代价。从数据表分离相 应的索引也可以通过ALTER INDEX命令来实现。4)分离工具段(TOOLS):许多第三方工具会将数 据存储在系统表空间中,为了避免这种情况,可将 它们的对象移出系统表空间。郭文明 2003.06.054.4.2.1 ORACLE表空间设计基本OFA5)分离回滚段(RBS):回滚段会针对巨型事务动态 扩展尺寸,也会动态收缩到指定的优化尺寸(参见4.3 )。回滚段的I/O通常与数据和索引表空间的I/O同步 。将回滚段分离

16、出来是出于减少I/O冲突的考虑。6)分离临时段(TEMP):临时段是数据库中动态生成 的对象,用来存储巨型排序操作(如SELECT DISTINCT ,UNION,CREATE INDEX等)的数据。由于动态特性, 临时段不应与其他类型段一起存储。通常,在建立用 户时,将这些用户使用的临时数据段设置到临时表空 间。7)分离用户(USER):为用户帐号建立一个USER表空 间,在建立用户时将用户的操作数据放在用户表空间 。以上7个表空间是最基本的表空间,也是传统OFA的 基本组成部分。随着应用的深入,又有扩展的OFA。郭文明 2003.06.054.4.2.1 ORACLE表空间设计 扩展的OFA1)分离低使用数据段(DATA_2):在基表中,有一 些是动态数据,一些是静态数据,而动态数据和静 态数据常常被并发操作。静态数据在实际使用时只 是被提取信息,可以把这些静态数据表设置到一个 专用表空间(DATA_2),从而避免并发操作冲突。2)分离低使用索引段(INDEX_2):数据表分为静 态表和动

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号