- 1、本文档共53页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]数据库基础教程 第二章 Oracle体系结构
第二章 Oracle10g体系结构 1、逻辑结构 2、物理结构 3、内存结构 4、数据库实例与进程 5、数据字典 一、 Oracle逻辑结构 二、 Oracle物理结构 三、 内存结构 四、 数据库实例与进程 五、 数据字典 2、 PGA(Program Global Area) PGA区是在用户进程连接到数据库,并创建一个对应的会话时,由Oracle为服务进程分配的,专门用于当前用户会话的内存区。这个内存区是非共享的,只有服务进程本身才能访问它自己的PGA区,而SGA区是所有服务进程都可以共享的内存区。 PGA区的大小由操作系统决定,并且分配后保持不变。当会话终止时,Oracle会自动释放PGA区所占用的内存区。 按照存放信息的类型的不同,PGA区可以分为:排序区、会话区、游标区、堆栈区。 (1)、排序区 排序区用于存放排序操作所产生的临时数据,它是影响PGA区大小的主要因素,其大小由初始化参数SORT_AREA_SIZE定义。 在执行包括ORDER BY或GROUP BY等包含排序操作的SQL语句时,用户处理的数据都要按照某种属性进行排序。为了提高数据的访问和排序的性能,Oracle利用内存比磁盘要快得多的事实,将准备排序的数据先临时存储到排序区中,并在排序区中进行排序,然后将排序后的数据返回给用户。 (2)、会话区 保存会话所具有的权限、角色、性能统计信息。 (3)、游标区 当运行使用游标的语句时,Oracle会在共享池中为该语句分配上下文区,游标实际上是指向该上下文区的指针。 游标区在打开游标时创建,关闭游标时释放。 通过设置初始化参数OPEN_CURSORS,可以限制用户能够同时打开的游标数目。 (4)、堆栈区 保存会话中的绑定变量(bind variable)、会话变量(session variable)以及SQL语句运行时的内存结构等信息。 例如,当运行select * from emp where empno=:a;语句时,a是绑定变量,提示用户输入,然后该信息将被保存在堆栈区中,以便在同一个会话中运行其他语句。 Instance SGA Redo logbuffer cache Shared pool Data Dict.cache Library cache DBWR SMON PMON CKPT LGWR Others Userprocess Serverprocess PGA Control files Data files Archived log files Parameter file Password file Redo log files Database Databasebuffer cache 1、 Oracle数据库实例 数据库实例是指软件系统中用来访问数据库文件集的存储结构以及后台进程的集合,它是存取和控制数据库的软件机制。 Oracle的实例是由SGA和后台进程组成,每个Oracle实例有自己的SGA和独立的进程集。 2、 进程 进程又称任务,是操作系统中一个极为重要的概念。一个进程执行一组操作,完成一个特定的任务。对Oracle数据库管理系统来说,进程由用户进程、服务进程和后台进程所组成。 进程和程序的区别是: 进程是动态的概念,即动态地创建,完成任务后立即消亡;程序是静态的实体,可以复制、编辑 进程强调执行过程,程序仅仅是指令的有序集合 进程在内存中,程序在外存中 (1)、用户进程 当用户执行一个基于Oracle数据库的应用程序时,就会创建一个客户端的Oracle用户进程,以便来执行相应的任务。 与用户进程相关的两个概念是:连接和会话 连接:是用户进程与数据库实例之间的路径 会话:是用户与数据库之间的路径 会话是通过连接来实现的。一个用户可以启动多个应用程序,即一个用户可以有多个会话。 (2)、服务进程 服务进程是为了给客户端的用户进程提供服务,Oracle会在服务器端创建相应的服务进程。 用户进程必须通过服务进程才能访问数据库。服务进程主要完成如下任务: 解析并执行用户所提交的SQL语句 有哪些信誉好的足球投注网站SGA区的数据库缓存,决定是否读取数据文件。如果数据库不在SGA区的数据库缓存中,则读入 将查询和执行后形成的数据返回给用户
文档评论(0)