电信行业oracle高性能应用开发

上传人:飞*** 文档编号:46154926 上传时间:2018-06-23 格式:PPTX 页数:60 大小:806.62KB
返回 下载 相关 举报
电信行业oracle高性能应用开发_第1页
第1页 / 共60页
电信行业oracle高性能应用开发_第2页
第2页 / 共60页
电信行业oracle高性能应用开发_第3页
第3页 / 共60页
电信行业oracle高性能应用开发_第4页
第4页 / 共60页
电信行业oracle高性能应用开发_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《电信行业oracle高性能应用开发》由会员分享,可在线阅读,更多相关《电信行业oracle高性能应用开发(60页珍藏版)》请在金锄头文库上搜索。

1、高性能应用部门 :系统服务产品线 作者:2011年11月 培训目标通过本次培训,您将学习到以下内容:1.合理设计数据库结构2.合理设计数据库表3.正确设置数据库参数学习此次课程的目标:通过优化数据库,操作系统,应用程序,优化系统目录2 24 45 51 13 3Oracle数据库体系结构事务绑定变量索引高效编码原则Oracle数据库体系结构 实 例SGA重做日志缓存区共享池字典缓存库缓存DBWRSMONPMONCKPTLGWROthers用户进程服务器 进程 PGA控制 文件数据 文件 归档日志 文件参数文件密码文件重做日志文件数据库文件数据缓存区数据库管理系统后台进程内存结构大型池Java池

2、系统参数 sga_max_size指定例程存活期间所占用的系统全局区的最大内存大小。 sga_target当前已分配的最大sga。sga_target是自动管理内存时使用的,这样 你就不用设置db_cache_size,shared_pool_size等参数,他们会根 据需要自动的进行调整的。 pga_aggregate_target指定连接到例程的所有服务器进程的目标 PGA 总内存。缓存session 的变量以及sql排序或者hash连接等。 processes指定可同时连接到一个 Oracle Server 上的操作系统用户进程的最 大数量。 session_cached_cursors

3、指定要高速缓存的会话游标的数量。系统参数open_cursors指定一个会话一次可以打开的游标 (上下文区域) 的最大数量, 并且 限制 PL/SQL 使用的 PL/SQL 游标高速缓存的大小, 以避免用户再次 执行语句时重新进行语法分析。请将该值设置得足够高, 这样才能防 止应用程序耗尽打开的游标。 db_writer_processes一个例程的数据库写进程的初始数量。 optimizer_mode指定优化程序的行为。如果设置为 RULE, 就会使用基于规则的优化程 序, 除非查询含有提示。如果设置为 CHOOSE, 就会使用基于成本的 优化程序, 除非语句中的表不包含统计信息。ALL_R

4、OWS 或 FIRST_ROWS 始终使用基于成本的优化程序。内存结构和进程Oracle的机制执行使用内存结构和进程。所有的内存结构中存在的数 据库系统的计算机构成的主内存。进程是工作或任务,在这些计算机 的内存工作。 内存结构 Oracle会创建和使用内存结构来完成几项工作。例如,内存是用来存 放正在执行的程序代码和用户之间共享的数据。与Oracle相关的一些 基本的内存结构:系统全局区(包括数据库和重做日志缓冲区和共享 池)和程序全局区。 系统全局区(SGA)是一个由Oracle分配的共享内存区域,其中包含 一个Oracle实例的数据和控制信息。 一个Oracle实例包含SGA和后台进程。

5、 SGA的一个实例启动时分配和释放的实例关闭时。启动的每个实例都 有其自己的SGA。内存结构和进程程序全局区(PGA),是一个包含一个服务器进程的数据和控制信息 的内存缓冲区。由Oracle服务器进程启动时创建一个PGA。在PGA中 的信息依赖于Oracle配置。 流程 一个过程的控制线程“或在一个操作系统,可以执行一系列步骤的机 制。一些操作系统使用方面的工作或任务。Oracle数据库系统的进程 有两个基本类型:用户进程和ORACLE进程。 创建和维护用户进程执行一个应用程序的软件代码(如一个Pro * C程 序)或一个ORACLE工具(如SQL * PLUS)。用户进程也管理与服 务器进程

6、通信。用户进程与服务器进程通信,通过程序界面。 Oracle进程被称为其他进程代表调用进程执行的功能。Oracle会创建 一个服务器进程来处理连接的用户进程的请求。甲骨文公司还建立了 一套为每个实例的后台进程Oracle实例Oracle实例由Oracle进程和共享内存需要访问数据库中的信息。该实 例是由用户进程,Oracle后台进程和共享内存用于这些进程 Oracle内存结构 Oracle使用共享内存用于多种用途,包括缓存数据和索引以及存 储共享的程序代码 。这种共享内存被分解成各个部分,或内存结 构。与Oracle相关的基本内存结构系统全局区(SGA)和程序全 局区(PGA)。Oracle实

7、例数据结构关系模型主要有三个方面: 结构 结构是定义良好的对象存储数据库中的数据。其中包含的结构和 数据业务可以操纵。 操作 操作有明确的规定,允许用户操纵数据库的数据和结构的行动。 对数据库的操作,必须坚持以预先定义的完整性规则。 完整性规则 完整性规则是允许哪些操作上的数据和数据库结构的法律管辖。 完整性规则保护数据库中的数据和结构。Oracle数据库的物理和 逻辑结构。通过分离的物理和逻辑数据库结构,数据的物理存储 进行管理,而不影响逻辑存储结构的访问。逻辑数据结构Oracle数据库的逻辑结构是由:一个或多个表空间 数据库的模式对象(例如表,视图,索引,簇,序列,存储过程) 逻辑存储结构

8、,包括表空间,段和范围,决定了数据库的物理空间 是如何使用的。模式中的对象和它们之间的关系的关系数据库设计 表空间和数据文件 表空间是主要的任何Oracle数据库的逻辑存储结构。Oracle数据库 的可用的数据在逻辑上是存储在表空间和物理存储在相应的表空间 关联的数据文件。下图说明了这种关系。虽然是密切相关的数据库 ,表空间,数据文件和段,他们有重要的区别: 数据库和表 Oracle数据库是由一个或多个逻辑存储单位称为表空间。集体数据库的数据存储在数据库的表空间。 逻辑数据结构表空间和数据文件 在Oracle数据库中的每个表空间由一个或多个操作系统文件称为 数据文件。一个表空间的数据文件存储在

9、磁盘上的相关数据库中 的数据。 数据库和数据文件 集体构成数据库的每个表空间的数据文件存储在数据库的数据。 例如,最简单的ORACLE数据库有一个表,一个数据文件。一个 更复杂的数据库可能有三个表空间,每两个数据文件(共6个数据 文件)组成。 模式对象,段和表 如表或索引的架构对象被创建时,其细分市场中创建指定的数据 库中的表空间内。例如,假设是在一个特定的表空间使用与该表 选项的CREATE TABLE命令创建一个表。此表的数据段的空间被 分配在一个或多个指定的表空间的数据文件构成。一个对象的段 只有一个数据库的表空间分配的空间。逻辑数据结构数据文件和表空间分配资源原则一个数据库被分成称为表

10、空间的一个或多个逻辑存储单位,优化资源需 要做到: 控制数据库中的数据的磁盘空间分配 为数据库用户分配特定的空间配额 通过联机或脱机的各个表空间的数据控制可用性 执行部分数据库备份或恢复操作 之间分配数据存储设备,以提高性能数据块 扩展 段数据块 在粒度的最好水平,一个Oracle数据库的数据存储在数据块(也 称为逻辑块,Oracle块,或网页)。Oracle数据库的使用和分配 Oracle数据块的免费数据库空间。图4显示了一个典型的Oracle数 据块。 扩展 被称为逻辑数据库空间的一个新的水平在一定程度上。在一定程 度上是一个连续的数据块,用于存储一个特定类型的信息分配的 具体数量。 段

11、以上程度的逻辑数据库存储的水平,被称为段。段是一组已分配 给一个特定类型的数据结构,并都在相同的表空间中存储的范围数据块 扩展 段逻辑结构数据块格式数据块结构头(通用和可变) 头包含一般块信息,如块地址,段类型,如数据,索引,或回滚 。虽然有些块的开销是固定大小(约107字节)的总块的开销大小 是可变的。 表目录 块表的目录部分包含有这个块中的行的表的信息。 行目录 这部分块包含行有关信息块中的实际行(包括每行中的数据区的 排片的地址)。一旦空间已分配块的标题行目录,这个空间是该 行被删除时不回收。 行数据 这部分块包含表或索引的数据。行可以跨越块。 数据库结构剩余空间 自由空间是用来插入新行

12、,需要额外的空间(例如,当更新一个 结尾的空是一个非空值)的行的更新。发出的插入是否实际上发 生在一个给定的数据块的空间管理参数PCTFREE和当前数据块中 的自由空间量值的函数。 用于处理事务的空间 表,群集或索引的索引段数据段分配的数据块,也可以使用交易 条目的自由空间。Pctfree和pctused 1两个空间管理参数,pctfree和pctused,允许开发人员控制的自由空 间插入和更新数据块行使用。这两个参数只能在创建或更改表和簇( 数据段)时指定。此外,也可以指定存储参数PCTFREE的创建或更 改indicies(索引段)。 PCTFREE参数是用来设置一个块的百分比预留可能的更

13、新,现在已 经在该块中的行(保持免费)。例如,假设您在CREATE TABLE语 句指定以下参数:Pctfree和pctused 2PCTFREE 20这20 用于此表中的数据段的每个数据块将保持自由 和可能的更新现有的行,已经在每个块。 后一个数据块已满,由PCTFREE的决定,该块不考虑新行插入到正 在使用的块的百分比低于参数PCTUSED的。价值的实现,在此之前 的自由空间的数据块只能用于在数据块中已经包含的行的更新。例如 ,假设您在CREATE TABLE语句指定以下参数:PCTUSED 40在这种情况下,一个数据块用于本表的数据段不考虑任 何新行插入,直到使用的空间量块下降到39 或

14、更少(假设,块的 使用空间已先前达成的PCTFREE )。数据库物理结构不管是什么类型,在数据库中的每个段至少有一个程度持有其数据。 这个意义上被称为段的初始范围。 如果段的初始范围的数据块成为完全的,需要更多的空间容纳新的数 据,Oracle会自动分配一个该段的增量范围。增量程度上是随后在该 段范围相同或递增的大小程度。在Oracle数据库中的每一个非聚集表有一个单独的数据段,它的所有 数据。间接通过在CREATE TABLE / SNAPSHOT命令创建一个表的 数据段。数据库物理结构存储参数表,快照,或集群控制的分配方式,一个数据段的范围。通 过在CREATE TABLE /快照/群集或

15、ALTER TABLE /快照/ Cluster命令 设置这些存储参数,直接影响到数据检索和数据段的存储效率。Oracle数据库的物理结构,是由构成数据库的操作系统文件。每个 Oracle数据库是由这些类型的文件:一个或多个数据文件,重做日志 文件的两个或两个以上的,以及一个或多个控制文件。数据库中的文 件提供了实际的物理存储数据库中的信息数据库物理结构 图目录1 14 45 52 23 3Oracle数据库体系结构事务绑定变量索引高效编码原则事务事务是使数据库和文件系统分离的一个特性。当在文件系统中写文件 的时候遇到操作系统崩溃,文件就可能被破坏。有“日志”的文件系统 能把文件恢复到前一个时

16、间段的状态,但要想保持两个同步文件就不 行了。如果更新了一个文件,在完成第二个文件更新之前系统出现故 障,这两个文件将不同步。 这就是事务存在的主要目的。事务的作用是能把数据库从一个一致的 状态转移到另一个状态。当在数据库中提交工作时,能确定要么储存 了所有的修改,要么什么都没有储存。也就是说,事务能保证各种实 施数据完整性的规则和检查得以实现。 事务应具备以下几个基本属性: 原子性:一个事务要么完全发生,要么完全不发生。 一致性:事务把数据库从一个一致的状态转变到另一个状态。 隔离性:在事务提交之前,其他事务察觉不到事务的影响。 持久性:一旦事务提交,它是永久的。事务控制语句在Oracle中没有专门的“开始事务”语句。事务开始于第一条修改数据 的语句。利用COMMIT和ROLLBACK语句结束事务。如果

展开阅读全文
相关资源
相关搜索

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

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