Oracle数据库系统.ppt

上传人:wuy****n92 文档编号:80464256 上传时间:2023-03-23 格式:PPT 页数:35 大小:767.50KB
返回 下载 相关 举报
Oracle数据库系统.ppt_第1页
第1页 / 共35页
Oracle数据库系统.ppt_第2页
第2页 / 共35页
点击查看更多>>
资源描述

《Oracle数据库系统.ppt》由会员分享,可在线阅读,更多相关《Oracle数据库系统.ppt(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第2章章 Oracle 数据库系统数据库系统2.1 Oracle数据库系统结构数据库系统结构2.2 Oracle内存结构内存结构2.3 Oracle进程进程2.4 Oracle数据库物理存储结构数据库物理存储结构2.5 Oracle数据库逻辑存储结构数据库逻辑存储结构2.6 Oracle 9i数据库简介数据库简介2.1 Oracle数据库系统结构数据库系统结构2.1.1 Oracle系统结构系统结构 2.1.2 分布式分布式Oracle数据库数据库 2.1.1 Oracle系统结构系统结构CKPTPMONLGWRDBWR 后台进程O/S数据文件重做日志文件控制文件口令文件初始化参数文件归档日

2、志文件归档日志文件归档日志文件数据库结构数据库缓冲区缓存共享池重做日志缓冲区其 他 SGAOracle 9i实例图2.1 Oracle 9i 服务器基本架构2.1.2 分布式分布式Oracle数据库数据库逻辑上的数据库DB1数据库1DB2数据库2DBn数据库n图2.2 分布式Oracle数据库数据库链接DB-LinksServerClientClientClientClientServerServer数据库链接DB-Links2.2 Oracle内存结构内存结构 2.2.1 系统全局区系统全局区 2.2.2 程序全局区程序全局区 2.2.3 排序区排序区 2.3.4 软件代码区软件代码区 2.

3、2.1 系统全局区系统全局区1.数据库缓冲区数据库缓冲区(Database Buffer Cache)2.重做日志缓冲区重做日志缓冲区(Redo Log Buffer)3.共享池共享池(Shared Pool)4.大块内存池大块内存池(Large pool)2.2.2 程序全局区程序全局区程序全局区程序全局区PGA(Program Global Area,PGA),是单个,是单个Oracle进程使用的内存区域,不属于实进程使用的内存区域,不属于实例的内存结构。它含有单个进程工作时需要的例的内存结构。它含有单个进程工作时需要的数据和控制信息,数据和控制信息,PGA是非共享的,只有服务是非共享的,

4、只有服务进程本身才能够访问它自己的进程本身才能够访问它自己的PGA区。区。2.2.3 排序区排序区排序区存在于请求排序的用户进程的内存中,由排序区存在于请求排序的用户进程的内存中,由于排序需要内存空间,于排序需要内存空间,Oracle利用该内存排序数据,利用该内存排序数据,这部分空间称为排序区。该空间的大小为适应排这部分空间称为排序区。该空间的大小为适应排序数据量的大小,可增长,但受初始化参数序数据量的大小,可增长,但受初始化参数SORT_AREA_SIZER所限制。所限制。2.2.4 软件代码区软件代码区软件代码区软件代码区(Software Code Area)用于存储正在执用于存储正在执

5、行的或可以执行的程序代码。软件代码区是只读,行的或可以执行的程序代码。软件代码区是只读,可安装成共享或非共享。可安装成共享或非共享。Oracle系统程序是共享的,系统程序是共享的,多个多个Oracle用户可存取它,而不需要在内存有多个用户可存取它,而不需要在内存有多个副本。用户程序可以共享也可以不共享。副本。用户程序可以共享也可以不共享。2.3 Oracle进程进程 2.3.1 服务器进程服务器进程 2.3.2 后台进程后台进程 2.3.3 用户进程用户进程2.3.1 服务器进程服务器进程服务器进程处理与应用程序相连的用户进程的请求,服务器进程处理与应用程序相连的用户进程的请求,它与用户进程相

6、通讯,为相连的用户进程的它与用户进程相通讯,为相连的用户进程的Oracle请请求服务。求服务。服务器进程处理用户进程的各种请求:解释、编译和服务器进程处理用户进程的各种请求:解释、编译和执行用户进程发出的执行用户进程发出的SQL语句,负责将需要处理的数语句,负责将需要处理的数据从数据库数据文件读入到据从数据库数据文件读入到SGA中的数据库缓冲区,中的数据库缓冲区,并将并将SQL语句执行结果返回给客户端应用程序。语句执行结果返回给客户端应用程序。服务器进程又分为专用服务器进程和共享服务器进程服务器进程又分为专用服务器进程和共享服务器进程两类,每个专用服务器只能服务于一个指定的用户进两类,每个专用

7、服务器只能服务于一个指定的用户进程,而在多进程服务器配置下,每个共享服务器进程程,而在多进程服务器配置下,每个共享服务器进程则能同时服务于多个用户进程。则能同时服务于多个用户进程。2.3.2 后台进程后台进程1.数据库写入进程数据库写入进程DBWn(Database Writer)2.日志写入进程日志写入进程LGWR(Log Writer)3.系统监视进程系统监视进程SMON(System Monitor)4.进程监视进程进程监视进程PMON(Process Monitor)5.检查点进程检查点进程CKPT(Checkpoint)6.数据库恢复进程数据库恢复进程RECO(Recover)7.日

8、志存档进程日志存档进程ARCn(Archiver)2.3.3 用户进程用户进程用户进程为运行用户应用程序或用户进程为运行用户应用程序或Oracle工具所建工具所建立的进程,它们向立的进程,它们向Oracle服务器发送所要执行的服务器发送所要执行的SQL语句。语句。当用户运行一个应用程序时,系统就为它建立一当用户运行一个应用程序时,系统就为它建立一个用户进程。用户进程执行的是一个应用程序或个用户进程。用户进程执行的是一个应用程序或Oracle工具程序的代码,以完成用户所指定的任工具程序的代码,以完成用户所指定的任务。务。2.4 Oracle数据库物理存储结构数据库物理存储结构 2.4.1 数据文

9、件数据文件 2.4.2 重做日志文件重做日志文件 2.4.3 控制文件控制文件 2.4.4 配置文件配置文件2.4.1 数据文件数据文件Oracle数据库模式对象中的所有数据均存储在数据数据库模式对象中的所有数据均存储在数据文件中,每个文件中,每个Oracle数据库至少由一个数据文件组数据库至少由一个数据文件组成。数据文件用来存储数据库中的全部数据,如数成。数据文件用来存储数据库中的全部数据,如数据库表中的数据和索引数据。通常为后缀名为据库表中的数据和索引数据。通常为后缀名为.dbf格式的文件。格式的文件。每个数据文件有两个相关的文件号:绝对文件号和每个数据文件有两个相关的文件号:绝对文件号和

10、相对文件号。绝对文件号是数据文件在数据库中的相对文件号。绝对文件号是数据文件在数据库中的唯一标识号,相对文件号是数据文件在表空间中的唯一标识号,相对文件号是数据文件在表空间中的唯一标识号。唯一标识号。2.4.1 数据文件数据文件 数据文件可以用数据库和表空间创建语句或修改语数据文件可以用数据库和表空间创建语句或修改语句来创建或修改,在创建时可指定数据文件的初始句来创建或修改,在创建时可指定数据文件的初始大小,以及是否允许数据文件的大小随着数据库中大小,以及是否允许数据文件的大小随着数据库中数据量增加的需要而自动扩大。数据量增加的需要而自动扩大。Oracle数据库中的永久和临时数据文件信息分别存

11、数据库中的永久和临时数据文件信息分别存储在储在DBA_DATA_FILES和和DBA_TEMP_FILES数据数据字典中,检索这两个视图内容即可了解系统中所有字典中,检索这两个视图内容即可了解系统中所有的数据文件信息。的数据文件信息。2.4.2 重做日志文件重做日志文件重做日志文件用于记录数据库所做的全部变更重做日志文件用于记录数据库所做的全部变更(如增如增加、删除、修改加、删除、修改),以便在系统发生故障时,用它对,以便在系统发生故障时,用它对数据库进行恢复。名字通常为数据库进行恢复。名字通常为Log*.dbf格式。格式。2.4.2 重做日志文件重做日志文件 数据库有两种归档模式:数据库有两

12、种归档模式:ARCHIVELOG(归档日志归档日志)或或 NOARCHIVELOG(非归档日志非归档日志)模式。除了数模式。除了数据文件外,最重要的据文件外,最重要的Oracle 9i数据库文件就是重做数据库文件就是重做日志文件。虽然它与数据文件不同,但是彼此间却日志文件。虽然它与数据文件不同,但是彼此间却有密不可分的关系。简单的说,有密不可分的关系。简单的说,Oracle 9i 重做日志重做日志文件会负责记录数据库内任何数据处理情况。当数文件会负责记录数据库内任何数据处理情况。当数据异动时,所有异动记录会先保留在内存的重做记据异动时,所有异动记录会先保留在内存的重做记录缓冲区,并在适当时机由

13、录缓冲区,并在适当时机由LGWR后台进程负责写后台进程负责写入硬盘上重做日志文件中。如此一来,所有数据异入硬盘上重做日志文件中。如此一来,所有数据异动情况都会完整地保留下来。如果动情况都会完整地保留下来。如果 Oracle 9i 数据库数据库不小心遭遇毁损,不小心遭遇毁损,Oracle 9i 将凭借重做日志文件内将凭借重做日志文件内相关记录将数据复原至最完整的状态。相关记录将数据复原至最完整的状态。2.4.3 控制文件控制文件Oracle数据库都有相应的控制文件,用于打开、存数据库都有相应的控制文件,用于打开、存取数据库。它们是较小的二进制文件,其中记录了取数据库。它们是较小的二进制文件,其中

14、记录了数据库的物理结构。名字通常为数据库的物理结构。名字通常为Ctr*.ctl格式。格式。2.4.3 控制文件控制文件对于对于Oracle数据库来说,如果把数据文件比作一个数据库来说,如果把数据文件比作一个仓库,那么重作日志文件相当于该仓库的货物进仓库,那么重作日志文件相当于该仓库的货物进出记录账本,控制文件就是该仓库的管理中心。出记录账本,控制文件就是该仓库的管理中心。所以,每个所以,每个Oracle均具有控制文件,它们记录:均具有控制文件,它们记录:数据库名称数据库名称 数据库的数据文件和联机重作日志文件的名称数据库的数据文件和联机重作日志文件的名称及位置及位置 数据库创建时间数据库创建时

15、间 数据库的当前日志序列号数据库的当前日志序列号 数据库检查点信息数据库检查点信息2.4.4 配置文件配置文件服务器参数文件服务器参数文件(SPFILE)是在是在Oracle数据库服务器端数据库服务器端的初始化参数文件。存储在一个服务器参数文件的的初始化参数文件。存储在一个服务器参数文件的初始化参数是永久的,它提供了由初始化参数是永久的,它提供了由Oracle数据库服务数据库服务器自我调节的一个基础。器自我调节的一个基础。SPFILE文件是二进制文件,文件是二进制文件,不能使用一个文本编辑器浏览或编辑。不能使用一个文本编辑器浏览或编辑。Oracle提供了提供了浏览和查看相关参数的另外接口。浏览

16、和查看相关参数的另外接口。2.4.4 配置文件配置文件初始化数据库参数文件记录数据库实例分配参数,初始化数据库参数文件记录数据库实例分配参数,它相当于它相当于Oracle实例引导文件,只有在它的引导下,实例引导文件,只有在它的引导下,Oracle实例才能正确创建。初始化参数文件包含以实例才能正确创建。初始化参数文件包含以下主要内容:下主要内容:系统全局区相关的组态设定系统全局区相关的组态设定 其它各起始参数之名称与设定值其它各起始参数之名称与设定值 控制文件名称与存放路径控制文件名称与存放路径 重做日志文件之相关设定重做日志文件之相关设定 2.5 Oracle数据库逻辑存储结构数据库逻辑存储结

17、构 2.5.1 表空间表空间(Tablespace)2.5.2 段段(Segment)2.5.3 区间区间(Extent)2.5.4 数据块数据块(Data Block)2.5.1 表空间表空间(Tablespace)SYSTEM 表表 空空 间间USER表空间表空间ROLLBACK表空间表空间INDEX表空间表空间TEMP表空间表空间Oracle 9i数据库数据库 2.5.2 段段(Segment)数据段:存储表数据,当用户建立表或聚集时,数据段:存储表数据,当用户建立表或聚集时,Oracle自动建立数据段;自动建立数据段;索引段:存储数据库索引数据,每个未分区索引有索引段:存储数据库索引数

18、据,每个未分区索引有一个索引段,分区索引的每个分区均有一个索引段。一个索引段,分区索引的每个分区均有一个索引段。当执行当执行CREATE INDEX语句建立索引或索引分区语句建立索引或索引分区时,时,Oracle自动创建索引段。自动创建索引段。2.5.2 段段(Segment)临时段:在执行查询、排序、创建索引等操作时,临时段:在执行查询、排序、创建索引等操作时,Oracle使用临时段保存使用临时段保存SQL语句解释和执行过程中语句解释和执行过程中所产生的临时数据。所产生的临时数据。回滚段:记录数据库中所有事务修改前的数据值,回滚段:记录数据库中所有事务修改前的数据值,这些数据用于读一致性、回

19、滚事务、恢复数据库等这些数据用于读一致性、回滚事务、恢复数据库等操作。操作。2.5.3 区间区间(Extent)区是由很多连续的数据块组成的数据库存储空间。区是由很多连续的数据块组成的数据库存储空间。缺省情况下,数据库会使用表空间中存储的存储参缺省情况下,数据库会使用表空间中存储的存储参数来管理他们的区。主要的几个存储参数:数来管理他们的区。主要的几个存储参数:INITIAL:段建立时分配的第一个区的大小:段建立时分配的第一个区的大小(单位:单位:字节字节)NEXT:段内分配的下一个增量区大小:段内分配的下一个增量区大小(单位:字节单位:字节)MAXEXTENTS:分配给段的区总数。:分配给段

20、的区总数。2.5.3 区间区间(Extent)MINEXTENTS:建立段时分配的区的总数,也就:建立段时分配的区的总数,也就是段的最小区数量。是段的最小区数量。PCTINCREASE:为段分配的每个增量区超过上:为段分配的每个增量区超过上一个区的百分比。一个区的百分比。INITRANS:为初试数量的:为初试数量的DML事务条目事务条目(并发访并发访问数据块中的行问数据块中的行)保留的预分配空间数量。保留的预分配空间数量。NTKXTRANS:当多个事务同时访问同一数据块:当多个事务同时访问同一数据块的行时,为数据块中每个的行时,为数据块中每个DML事务的条目分配的事务的条目分配的空间。空间。2

21、.5.4 数据块数据块(Data Block)数据块数据表空间Tablespace、Segment、Extent、Data Block之间的关系区间数据段数据段2K2K2K2K2.6 Oracle 9i数据库简介数据库简介 2.6.1 Oracle 9i数据库概述数据库概述 2.6.2 本书所涉及的样本数据库本书所涉及的样本数据库 2.6.1 Oracle 9i数据库概述数据库概述Oracle 9i是一种关系数据库管理系统是一种关系数据库管理系统(RDBMS),关系数,关系数据库是按照二维表结构方式组织的数据集合。据库是按照二维表结构方式组织的数据集合。数据库数据库(Database)是一个数

22、据容器,它包含了表空间是一个数据容器,它包含了表空间(TABLESPACE)、表、表(TABLE)、约束条件、约束条件(CONSTRAINT)、分区分区(PARTITION)、索引、索引(INDEX)、簇、簇(CLUSTER)、用户、用户(USER)、方案、方案(SCHEMA)、同义词、权限及角色、同义词、权限及角色(ROLE)、视图、簇、过程、函数、包等对象,并对其进行统、视图、簇、过程、函数、包等对象,并对其进行统一的管理。一的管理。用户只有和一个确定的数据库连接,才能使用和管理用户只有和一个确定的数据库连接,才能使用和管理数据库中的数据。数据库中的数据。CHAR(size)、NCHAR(

23、size)VARCHAR2(size)、VARCHAR(size)LONGNUMBER(m,n)DATEBOOLEANRAW(size)、LONG RAWBLOB、CLOB、NCLOB、BFILEOracle 9i的数据类型的数据类型 2.6.2 本书所涉及的样本数据库本书所涉及的样本数据库学生管理数据库学生管理数据库(student)中所包含中所包含的数据表有:的数据表有:学生基本信息表学生基本信息表(stud_info)教师基本信息表教师基本信息表(teacher_info)学生成绩表学生成绩表(stud_grade)课程信息表课程信息表(lesson_info)2.6.2 本书所涉及的样本数据库本书所涉及的样本数据库课程安排表课程安排表(teach_schedule)院系代码表院系代码表(dept_code)专业代码表专业代码表(specialty_code)教研室信息表教研室信息表(staffroom_info)课室信息表课室信息表(classroom_info)数据库数据库student中的数据表中的数据表 之间的相互关系之间的相互关系院系代码表专业代码表教研室信息表学生基本信息表教师基本信息表学生成绩表课程安排表课室信息表课程信息表学生管理中的表及它们之间的相互关系

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁