1、,Oracle 10g数据库应用教程,授课教师:孟彩霞,参考书: 王瑛等,ORACLE数据库基础教程 人民邮电出版社,2008,上机安排:地点:2#实验楼 嵌入式实验室323时间:第68、1014周周四下午:5-6节(计科0901-03)7-8节(计科0904-06),第1章 Oracle 10g简介,课程描述Oracle 10g是当前最流行的大型关系数据库之一,支持包括32位Windows、64位Windows、UNIX、HP-UX、AIX5L、Solaris和Linux等多种操作系统,拥有广泛的用户和大量的应用案例。,本章知识点,Oracle 10g数据库的版本 Oracle 10g产品组
2、成 Oracle 10g体系结构,1.1 Oracle 10g产品概述,Oracle数据库10g标准版1(Oracle Database 10g Standard Edition One) 1、为工作组、部门级和互联网/内联网应用程序提供了前所未有的易用性和很高的性价比。 2、从针对小型商务的单服务器环境到大型的分布式部门环境,包含了构建关键商务的应用程序所必需的全部工具。 3、Standard Edition One 仅许可在最高容量为两个处理器的服务器上使用。,Oracle 10g产品概述,Oracle数据库10g标准版(Oracle Database 10g Standard Editi
3、on)1、该版本提供了标准版1的前所未有的易用性、能力和性能,并且利用真正应用集群提供了对更大型的计算机和服务集群的支持。2、它可以在最高容量为4个处理器的单台服务器、或者在一个支持最多4个处理器的服务器的集群上使用。,Oracle 10g产品概述,Oracle数据库10g企业版(Oracle Database 10g Enterprise Edition)1、为关键任务的应用程序提供了高效、可靠、安全的数据管理。 2、为企业提供了满足当今关键任务应用程序的可用性和可伸缩性需求的工具和功能。 3、包含了Oracle数据库的所有组件,并且能够通过购买选项和程序包得到进一步增强。,Oracle 1
4、0g产品概述,Oracle数据库10g个人版(Oracle Database 10g Personal Edition)需要与Oracle数据库10g标准版1、Oracle 数据库标准版和 Oracle 数据库企业版完全兼容的单用户开发和部署。,1.2 Oracle 10g数据库系统的体系结构,Oracle 10g数据库系统的体系结构,1.2.1 Oracle 10g体系结构概述,一个服务器可以实现以下功能:在多用户网络环境中管理大量的数据,从而保证许多用户同时访问相同的数据。 防止没有授权的访问。 提供有效的故障恢复解决方案。,1.2.1 Oracle 10g体系结构概述,Oracle 数据
5、库是按照规定的单位进行管理的数据集合,用于存储并获取相关信息。 Oracle数据库是第一个为企业网格计算(grid computing)而设计的数据库系统,Oracle 10g的g就代表grid computing。 Oracle数据库把数据存储在文件中,这些保存数据库不同信息的文件组成了Oracle的物理结构。,1.2.1 Oracle 10g体系结构概述,数据库的体系结构可以按照逻辑结构和物理结构来划分 :,1.2.1 Oracle 10g体系结构概述,Oracle将数据库按照规定的结构划分为不同级别的逻辑单元。这里指的逻辑单元包括表、视图等常见的数据库组件。 逻辑结构和物理结构是分离的,
6、对物理结构的管理可以不影响对逻辑存储结构的访问。,1.2.2 网格结构,网格计算是一种新的IT结构,它可以开发出高效低耗的企业信息系统。 使用网格计算,连接并重组许多独立的、模块化的硬件和软件组件。 网格计算的目的是解决企业信息技术中的一些常见问题。与其他计算模型相比,以网格形式设计和实现的系统可以提供更高质量的服务、更低的成本和更大的灵活性。,1.2.2 网格结构,区分网格计算和其他计算方式: 虚拟(Virtualization):相互独立的资源(例如计算机、磁盘、应用程序组件和信息资源等)按照类型组织在一个池中,供用户使用。这种方式打破了资源提供者和用户之间的硬编码联系,系统可以根据特定的
7、需要自动准备资源,而用户不需要了解整个过程。 提供(Provisioning):用户通过虚拟层申请资源,由系统来决定如何满足用户的特定需求,从而对系统进行整体的优化。,1.2.2 网格结构,网络资源管理包括以下内容: 基础资源:构成数据存储和程序执行环境的软件和硬件。硬件资源包括磁盘、处理器、内存和网络等,软件则包括数据库、存储管理、系统管理、应用服务器和操作系统等。通过扩展多个计算机的计算能力以及多个磁盘或磁盘组的存储能力,可以排除单个资源故障所造成的影响,保障系统安全有效地运行。 应用程序:业务逻辑和处理流程的编码。 信息:用户需要的数据。信息可能保存在数据库或文件系统中,也可能以邮件格式
8、或应用程序自定义格式保存。,1.2.2 网格结构,Oracle 10g的网格计算能力如下: 服务器虚拟(Server Virtualization):Oracle实时应用集群(RAC)可以使一个数据库运行在网格的多个节点上,将多个普通计算机的处理资源集中使用。Oracle在跨计算机分配工作负载的能力方面具有独特的灵活性,因为它是唯一不需要随工作进程一起对数据进行分区和分配的数据库技术。 存储虚拟(Storage Virtualization):Oracle 10g的自动存储管理(ASM)特性提供了数据库和存储之间的一个虚拟层,这样多个磁盘可以被看作是一个单独的磁盘组,在保证数据库在线的情况下,
9、磁盘可以动态地加载或移除。 网格管理:网络计算将多服务器和多磁盘集成在一起,并且对它们实现动态分配,因此独立的资源可以实现自我管理和集中管理就变得非常重要。Oracle 10g的网格控制特性提供了将多系统集成管理为一个逻辑组的控制台,可以管理网格中独立的节点,集中维护各组系统的配置和安全设置。,1.2.3 数据库逻辑结构,Oracle 数据库的逻辑结构包括方案(schema)对象、数据块(data block)、区间(extent)、段(segment)和表空间(tablespace)等。数据库由若干个表空间组成,表空间由表组成,表由段组成,段由区间组成,区间则由数据块组成。,1.2.3 数据
10、库逻辑结构,表空间和表、段、区间、数据块的关系,方案,方案是一组数据库对象的集合。在创建用户的时候,会同时生成一个与用户同名的方案,此方案归同名用户所有。 方案对象直接处理数据库数据的逻辑结构,例如表(table)、视图(view)、索引(index)和簇(Clusters)等。,方案,表:数据库中最常用的数据存储单元,它包括所有用户可以访问的数据。作为关系型数据库,Oracle表由行和列组成。,列,行,列名,方案,视图:虚拟的表,它在物理上并不存在。视图可以把表或其他视图的数据按照一定的条件组合起来,所以也可以把它看成是一个存储的查询。视图并不包含数据,它只是从基表中读取数据。,方案,索引:
11、与表相关联的可选结构。创建索引可以提高读取数据的效率。索引的功能类似于书的目录一样,读者可以通过目录很快地在书中找到需要的内容,Oracle索引提供对表数据的访问路径,从而使用户能够快速定位指定的信息。 簇:有些表共享公共的列,并经常被同时访问,为了提高数据存取的效率,把这些表在物理上存储在一起,得到的表的组合就是簇。与索引相似,簇并不影响应用程序的设计。用户和应用程序并不关心表是否是簇的一部分,因为无论表在不在簇中,访问表的SQL语句都是一样的。,数据块,数据块是Oracle管理数据库存储空间的最小数据存储单位。 一个数据块对应磁盘上一定数量的数据库空间,标准的数据块大小由初始参数DB_BL
12、OCK_SIZE 指定。 数据块既是逻辑单位,也是物理单位。,区间,区间是数据库存储空间中分配的一个逻辑单元,由一组相邻的数据块组成,它是Oracle分配磁盘空间的最小单位。 MINEXTENTS 定义了段是所能包含的最小区间数量,在创建段时,它所包含的区间数量只能为 MINEXTENTS。,段,段由一组区间组成。,表空间,数据库可以划分为若干的逻辑存储单元,这些存储单元被称为表空间。每个数据库都至少有一个系统表空间(称为SYSTEM表空间)。在创建表时,需要定义保存表的表空间。,表空间,数据库、表空间和数据文件的关系,每个表空间由一个或多个数据文件组成。数据文件用于在物理上存储表空间中所有逻
13、辑结构的数据。 表空间中数据文件的大小之和就是表空间的存储容量(图中系统表空间存储容量为2MB,用户表空间的存储容量为4MB)。 数据库中表空间的存储容量之和就是数据库的存储容量。,1.2.4 数据库物理结构,物理结构由构成数据库的操作系统文件所决定。每个Oracle数据库都由3种类型的文件组成:数据文件、日志文件和控制文件。,数据文件,Oracle数据库有一个或多个物理的数据文件。数据库的数据文件包含全部数据库数据。逻辑数据物理地存储在数据文件中。数据文件有下列特征:一个数据文件仅与一个数据库联系。 当数据库容量越界时,数据文件能够自动扩展。 一个或多个数据文件组成一个表空间。,日志文件,每
14、个数据库有两个或多个日志文件组,日志文件组用于收集数据库日志。 日志的主要功能是记录对数据所作的修改,所有对数据库作的全部修改记录在日志中。,控制文件,每个Oracle数据库有一个控制文件,记录数据库的物理结构。 控制文件包含数据库名、数据库数据文件和日志文件的名字、位置和数据库建立日期等信息。,1.2.5 数据库例程,每个运行的Oracle数据库都对应一个Oracle例程(Instance),也可以称为实例。当数据库服务器上的一个数据库启动时,Oracle将分配一块内存区间,叫做系统全局区(SGA),并启动一个或多个Oracle进程。SGA 和 Oracle进程结合在一起,就是一个Oracl
15、e例程。,1.2.6 内部存储结构,系统全局区(System Global Area,SGA) 程序全局区(Program Global Area,PGA),1.2.7 进程结构,用户进程:运行应用程序或Oracle工具。Oracle进程:运行Oracle服务器代码。Oracle进程包括服务器进程和后台进程。,1.2.8 应用程序结构,客户/服务器结构,1.2.8 应用程序结构,多层结构是对客户/服务器结构的一种扩展: 客户端。 应用程序服务器。 数据库服务器。 Oracle Net Services,1.2.9 事务,事务是包含一组数据库操作的逻辑工作单元。在事务中包含的数据库操作是不可分割的整体,要么一起被执行,要么回滚到执行事务之前的状态。,