《数据厍设计与开发》讲义 4.4 ORACLE数据库规划与实施 · ORACLE为信息系统提供了一个开放、综合、集 成的方法。使用 ORACLE数据库进行信息系统开 发的步骤可以归纳为如下过程: 建 ORACLE 建表空间 数据库 建回滚段 建用 建数据库对象开发」 本节介绍 ORACLE数据库的规划与实施 4.4.1数据库应用程序类型|4.4.4 ORACLE对象设计 44.20 RACLE空间设计4.4.5DBA工具 4.4.3 ORACLE安全设计 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 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安全设计
《数据厍设计与开发》讲义 4.4.1数据库应用程序类型 ·规划和配置数据库,需要知道将要操作数据库 的事务有什么,这些事务访问数据库的频率有 多大。针对不同的事务访问情形,对内存的要 求不同,磁盘I/O操作的情形也不同。只有设 置合适的 ORACLE实例,才能使数据库应用系统 获得快速、准确、可靠的事务响应。 ORACLE既 可以设置成处理长的密集型事务的系统,也可 以设置成处理大量的小型快速事务的系统。有 三种通用的数据库设置类型: 联机事务处理(OLTP) 决策支持系统(DSS) 批量作业系统 混合系统 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 4.4.1 数据库应用程序类型 • 规划和配置数据库,需要知道将要操作数据库 的事务有什么,这些事务访问数据库的频率有 多大。针对不同的事务访问情形,对内存的要 求不同,磁盘I/O操作的情形也不同。只有设 置合适的ORACLE实例,才能使数据库应用系统 获得快速、准确、可靠的事务响应。ORACLE既 可以设置成处理长的密集型事务的系统,也可 以设置成处理大量的小型快速事务的系统。有 三种通用的数据库设置类型: –联机事务处理(OLTP) –决策支持系统(DSS) –批量作业系统 –混合系统
《数据厍设计与开发》讲义 4.4.1数据库应用程序类型 联机事务处理(OLTP) OLTP系统是一个包含繁重DML的应用,其面向事务 的活动主要包括更新,但也包括一些插入和删除。典 型的例子是用于航空公司和旅馆的预定系统。OLTP系 统可以允许有很高的并发性。 OLTP的特点是有大量短的事务高频率地访问数据库, 每一个事务操作的数据量不是很多,但事务比较频繁, 而且要求数据库响应事务的速度快。一般来说OLTP系 统需要24*7地响应对数据库的请求。根据这些要求, 我们应该从以下几方面考虑: 1)大量的小回滚段。因为事务都不太大,对回滚 段空间的需求不可能很大,但事务数量多,引发回滚 段数量的增大。应该创建大量小的回滚段,把事务对 回滚段的争用减到最小。标准的配置可以考虑每四个 活动事务用一个回滚段,每个事务接受一个区间 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 4.4.1 数据库应用程序类型 –联机事务处理(OLTP) OLTP系统是一个包含繁重DML的应用,其面向事务 的活动主要包括更新,但也包括一些插入和删除。典 型的例子是用于航空公司和旅馆的预定系统。OLTP系 统可以允许有很高的并发性。 OLTP的特点是有大量短的事务高频率地访问数据库, 每一个事务操作的数据量不是很多,但事务比较频繁, 而且要求数据库响应事务的速度快。一般来说OLTP系 统需要24*7地响应对数据库的请求。根据这些要求, 我们应该从以下几方面考虑: 1)大量的小回滚段。因为事务都不太大,对回滚 段空间的需求不可能很大,但事务数量多,引发回滚 段数量的增大。应该创建大量小的回滚段,把事务对 回滚段的争用减到最小。标准的配置可以考虑每四个 活动事务用一个回滚段,每个事务接受一个区间
《数据厍设计与开发》讲义 4.4.1数据库应用程序类型 联机事务处理(OLTP) 2)OLTP应用的表可能插入或者删除记录,所以存放 易变表和索引的表空间应被分配到它们最大的期望容量。 3)适当的估计重写日志缓冲区和日志文件大小,减 少日志写和日志切换的频率,尽可能降低对响应事务请 求的影响,另外频繁的检査点也可能影响事务响应速度 4)拥有大型共享池。不同客户可能执行同样的SQL语 句,SQL在共享池中缓冲,性能可提高(应用程序的SQL 语句应当统一,另外WERE中使用绑定变量查询而不是 直接的值査询,使不同值的查询共享SQL的执行计划)。 5)数据拥有单独的索引。OLTP的事务请求基本在规 划设计范围之内,建立单独有效的索引,并在独立的表 空间中创建主键和其他索引,且存放在独立的存储器上。 6)使用小型临时段。需要小的排序应在内存中完成 尽量避免OLTP系统对临时段的请求进入磁盘 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 4.4.1 数据库应用程序类型 –联机事务处理(OLTP) 2)OLTP应用的表可能插入或者删除记录,所以存放 易变表和索引的表空间应被分配到它们最大的期望容量。 3)适当的估计重写日志缓冲区和日志文件大小,减 少日志写和日志切换的频率,尽可能降低对响应事务请 求的影响,另外频繁的检查点也可能影响事务响应速度。 4)拥有大型共享池。不同客户可能执行同样的SQL语 句,SQL在共享池中缓冲,性能可提高(应用程序的SQL 语句应当统一,另外WHERE中使用绑定变量查询而不是 直接的值查询,使不同值的查询共享SQL的执行计划)。 5)数据拥有单独的索引。OLTP的事务请求基本在规 划设计范围之内,建立单独有效的索引,并在独立的表 空间中创建主键和其他索引,且存放在独立的存储器上。 6)使用小型临时段。需要小的排序应在内存中完成, 尽量避免OLTP系统对临时段的请求进入磁盘
《数据厍设计与开发》讲义 4.4.1数据库应用程序类型 决策支持系统(DSS) DSS系统通常是一个大型的、包含历史性内容的只读 数据库,通常用于简单的固定查询或特别查询。夜间 处理任务被认为是DSS,査询(选择)是DSS的主要活 动。根据这些要求,我们应该从以下几方面考虑: 1)拥有少量的较大的回滚段。大型工作要创建大型 的回滚段,使用 SET TRANSACTION USER ROLLBACK SEGMENT语句使事务强制使用专用回滚段 2)为分类排序创建大型临时表空间,DSS经常超出 内存的使用空间而从内存转入磁盘(临时表空间) 3)使用较小的共享SL区域而采用较大的数据缓冲 区高速缓冲。DSS中SQL的执行频率并不大,无需考虑 SL语句的共享,但应增加数据库缓冲区高速缓冲的容 量,使得更多的数据块和回滚段在内存中高速缓冲 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 4.4.1 数据库应用程序类型 –决策支持系统(DSS) DSS系统通常是一个大型的、包含历史性内容的只读 数据库,通常用于简单的固定查询或特别查询。夜间 处理任务被认为是DSS,查询(选择)是DSS的主要活 动。根据这些要求,我们应该从以下几方面考虑: 1)拥有少量的较大的回滚段。大型工作要创建大型 的回滚段,使用SET TRANSACTION USER ROLLBACK SEGMENT语句使事务强制使用专用回滚段。 2)为分类排序创建大型临时表空间,DSS经常超出 内存的使用空间而从内存转入磁盘(临时表空间)。 3)使用较小的共享SQL区域而采用较大的数据缓冲 区高速缓冲。DSS中SQL的执行频率并不大,无需考虑 SQL语句的共享,但应增加数据库缓冲区高速缓冲的容 量,使得更多的数据块和回滚段在内存中高速缓冲
《数据厍设计与开发》讲义 4.4.1数据库应用程序类型 决策支持系统(DSS) 4)如前所述,DSS希望 Oracle块一次读取尽可能多的 行。因为DSS查询一般触发整个表扫描,所以希望通过 读取多个连续的块使系统读取的块达到最大值。把 DB BLOCK SIZE和 DB FILE MULTIBLOCK READ COUNT参数 设置得尽可能高些。 5)运行的SQ应当删除不必要的排序并充分利用索引, 以减少对临时表空间和回滚段的压力。2种方法:在没 有可以选择的良好索引时不使用任何索引或屏蔽使用某 些索引(参见4.3);使用位图索引。 6)不要在DSS应用代码中使用绑定变量。在OLTP下, 希望最小化应用进程开销(语法分析)。然而,DSS的查 询,语法分析占用整个查询时间的比例会更小。假如使 用绑定变量,优化程序不能调用它所存储的统计信息、 (通过 ANALYZE命令)以选出存取数据的最好方法 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 4.4.1 数据库应用程序类型 –决策支持系统(DSS) 4)如前所述,DSS希望Oracle块一次读取尽可能多的 行。因为DSS查询一般触发整个表扫描,所以希望通过 读取多个连续的块使系统读取的块达到最大值。把 DB_BLOCK_SIZE和DB_FILE_MULTIBLOCK_READ_COUNT参数 设置得尽可能高些。 5)运行的SQL应当删除不必要的排序并充分利用索引, 以减少对临时表空间和回滚段的压力。2种方法:在没 有可以选择的良好索引时不使用任何索引或屏蔽使用某 些索引(参见4.3);使用位图索引。 6)不要在DSS应用代码中使用绑定变量。在OLTP下, 希望最小化应用进程开销(语法分析)。然而,DSS的查 询,语法分析占用整个查询时间的比例会更小。假如使 用绑定变量,优化程序不能调用它所存储的统计信息 (通过ANALYZE命令)以选出存取数据的最好方法
《数据厍设计与开发》讲义 4.4.1数据库应用程序类型 批量作业系统 批作业处理系统是作用于数据库的非交互性的自动 应用。它通常含有繁忙DM语句并有较低的并发性 另外还有一些其他的应用类型: ULAP(联机分析处理)系统可提供分析服务。该系统在 数学、统计学、集合以及大量的计算方面区别于OLTP 或DSS模型。可以把OLAP看作是在OLTP系统或DSS之上 的一个扩展或一个附加的功能层次。地理信息系统 ( Geographic Information Systems,GIS)或有关 空间的数据库和OLAP数据库相集成,提供图表的映射 能力。例如用于社会统计的人口统计数据库。 VCDB(可变基数数据库),这类数据库通常被用作 个处理系统的数据库后端,这样就会导致在数据处 理期间,数据库中的表显著地增长或收缩。基数是指 在一个给定时间里一个表中行的数目 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 4.4.1 数据库应用程序类型 –批量作业系统 批作业处理系统是作用于数据库的非交互性的自动 应用。它通常含有繁忙DML语句并有较低的并发性。 另外还有一些其他的应用类型: OLAP(联机分析处理)系统可提供分析服务。该系统在 数学、统计学、集合以及大量的计算方面区别于OLTP 或DSS模型。可以把OLAP看作是在OLTP系统或DSS之上 的一个扩展或一个附加的功能层次。地理信息系统 (Geographic Information Systems,GIS)或有关 空间的数据库和OLAP数据库相集成,提供图表的映射 能力。例如用于社会统计的人口统计数据库。 VCDB(可变基数数据库),这类数据库通常被用作 一个处理系统的数据库后端,这样就会导致在数据处 理期间,数据库中的表显著地增长或收缩。基数是指 在一个给定时间里一个表中行的数目
《数据厍设计与开发》讲义 4.4.1数据库应用程序类型 混合系统 混合系统混合了前面介绍的几种类型。许多实际应 用系统往往是LTP和DSS甚至其他模型的集成 从前面OLTP和DSS的需求对比来看,OLTP和DSS的基 本特征似乎相反,如何协调这两种需求的矛盾?一般 有三种解决方法: 1)在一个系统中的0LTP和DSS之间节流,白天运行 ULTP,而夜间进行批量处理。即白天运行OLTP配置的 数据库,夜间跳回DSS配置的实例 这种方法的实际操作模式可以是以下两种:OLTP不 支持24*7工作方式,DSS时不支持OLTP;DSS操作的系 统反跳之后,OLTP可以使用,但系统性能将受影响 DBA需要测试DSS和服务器反跳对Web用户的影响,必 要时选择其他解决办法来调整系统服务模式 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 4.4.1 数据库应用程序类型 –混合系统 混合系统混合了前面介绍的几种类型。许多实际应 用系统往往是OLTP和DSS甚至其他模型的集成。 从前面OLTP和DSS的需求对比来看,OLTP和DSS的基 本特征似乎相反,如何协调这两种需求的矛盾?一般 有三种解决方法: 1)在一个系统中的OLTP和DSS之间节流,白天运行 OLTP,而夜间进行批量处理。即白天运行OLTP配置的 数据库,夜间跳回DSS配置的实例。 这种方法的实际操作模式可以是以下两种:OLTP不 支持24*7工作方式,DSS时不支持OLTP;DSS操作的系 统反跳之后,OLTP可以使用,但系统性能将受影响。 DBA需要测试DSS和服务器反跳对Web用户的影响,必 要时选择其他解决办法来调整系统服务模式
《数据厍设计与开发》讲义 4.4.1数据库应用程序类型 混合系统 2)同时运行两个数据库,一个服务于0LTP,一个 服务于DSS。OTP数据库进行实时更新,在有规则的 时间间隔内,将变化传递给DSS数据库。 这种方法的实际操作模式可以多种。DBA可以夜间 执行部分或全部叽LTP系统的输出,并输入到DSS系统。 较好的解决方法是对实时方式下传递变化的连接数据 库使用复制技术,将变化的数据复制记录下来,OLTP 数据库只传递变化的数据给DSS数据库。第三种方法 是使 ORACLE中OLTP数据库的归档日志自动应用于DSS 数据库,保证DSS系统紧跟在OLTP系统之后,DSS数据 库不仅作为OLTP的备用数据库,而且自己又独立地服 务于决策支持。尽管这种方式可能不能保证OLTP和 DSS数据库的绝对同步,但在DSS的实时性要求不是很 强时,是一种很好的方法。 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 4.4.1 数据库应用程序类型 –混合系统 2)同时运行两个数据库,一个服务于OLTP,一个 服务于DSS。OLTP数据库进行实时更新,在有规则的 时间间隔内,将变化传递给DSS数据库。 这种方法的实际操作模式可以多种。DBA可以夜间 执行部分或全部OLTP系统的输出,并输入到DSS系统。 较好的解决方法是对实时方式下传递变化的连接数据 库使用复制技术,将变化的数据复制记录下来,OLTP 数据库只传递变化的数据给DSS数据库。第三种方法 是使ORACLE中OLTP数据库的归档日志自动应用于DSS 数据库,保证DSS系统紧跟在OLTP系统之后,DSS数据 库不仅作为OLTP的备用数据库,而且自己又独立地服 务于决策支持。尽管这种方式可能不能保证OLTP和 DSS数据库的绝对同步,但在DSS的实时性要求不是很 强时,是一种很好的方法
《数据厍设计与开发》讲义 4.4.1数据库应用程序类型 混合系统 3)在一个系统中同时运行OLTP和DSS。这是最普遍 的解决方法。系统经常作为OLTP开始活动,逐渐加入 DSS需求使系统渐渐成为混合系统 在这种情况下,DBA必须在OLTP和批量处理之间寻 找平衡,并且应该偏向于OLTP用户,创建与OLTP同样 多的回滚段,而且要创建少量专门为大型事务指定的 大型回滚段,同时将高速缓冲和共享池保持合理的容 量,使系统既支持OLTP对共享池的需求又支持DSS对 数据库缓冲区高速缓冲的需求。还要确保临时表空间 够批量排序使用,同时将OLTP排序控制在内存中。 推荐在这种情况下使用专用服务器,并且配置 ORACLE并行服务器( Oracle parallel server,OPS) 因为OPS允许多个实例访问同一个物理数据库,一个 实例为LTP配置,另一些为批量处理配置, 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 4.4.1 数据库应用程序类型 –混合系统 3)在一个系统中同时运行OLTP和DSS。这是最普遍 的解决方法。系统经常作为OLTP开始活动,逐渐加入 DSS需求使系统渐渐成为混合系统。 在这种情况下,DBA必须在OLTP和批量处理之间寻 找平衡,并且应该偏向于OLTP用户,创建与OLTP同样 多的回滚段,而且要创建少量专门为大型事务指定的 大型回滚段,同时将高速缓冲和共享池保持合理的容 量,使系统既支持OLTP对共享池的需求又支持DSS对 数据库缓冲区高速缓冲的需求。还要确保临时表空间 够批量排序使用,同时将OLTP排序控制在内存中。 推荐在这种情况下使用专用服务器,并且配置 ORACLE并行服务器(Oracle Parallel Server,OPS), 因为OPS允许多个实例访问同一个物理数据库,一个 实例为OLTP配置,另一些为批量处理配置