ORACLE完全学习手册_第1页
ORACLE完全学习手册_第2页
ORACLE完全学习手册_第3页
ORACLE完全学习手册_第4页
ORACLE完全学习手册_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1第一篇 oracle基础篇第1章 oracle关系数据库本章以关系模型、关系数据库为起点,逐步讲述数据库的规范化理论以及数据库设计,以便了解关系数据库理论。然后介绍oracle应用的系统结构,以便根据oracle的不同应用,采用合适的安装方式。另外本章还详细讲述windows环境下oracle的安装过程。最后告诉读者如何创建一个数据库,并简单介绍oracle的默认用户,以及oem工具的使用。Ø 理解关系数据模型与关系数据库Ø 掌握数据库的规范化理论Ø 掌握数据库的设计Ø 了解oracle应用系统结构Ø 正确安装oracle 11gØ

2、 熟练掌握数据库的创建Ø 熟悉oracle的默认用户Ø 掌握oem工具的使用1.1 关系数据模型关系数据库系统(如oracle)是目前应用最为广泛的数据库系统,它采用关系数据模型作为数据的组织方式。关系数据模型由关系的数据结构、关系的操作集合和关系的完整性约束3部分组成。本节主要介绍关系数据模型的数据结构以及该模型的特点。1.1.1 二维表关系数据模型建立在严格的数学概念的基础上,由一组关系组成。每个关系的数据结构是一张规范化的二维表,也就是说关系数据模型是用二维表的形式来表示实体和实体间联系的数据模型。关系的逻辑结构是一个二维表。表中的每一列表示关系的一个属性,每列的名字

3、即为一个属性名;每一行表示一个记录,代表一个物理实体。在关系数据库中,所有的数据都是通过表来进行存储的,可以说如果没有表,数据就无法进行存储和表示。表1-1给出了员工信息表,表的每一行表示一个物理实体员工。例如,第一行记录的是员工“杨书昊”的信息。员工信息表的每一列代表一个员工的一项数据,记录员工的一部分信息。例如,“员工编号”列用来存储每个员工的编号,“姓名”列用来存储每名员工的姓名。第一行的“员工编号”列存储了员工“杨书昊”的编号001,“职务”列存储了员工“杨书昊”的职务经理。而第二行记录的是员工“王小静”的信息。表1-1 员工信息表员 工 编 号姓 名昵 称性 别职 务001杨书昊小起

4、男经理002王小静小静女会计003赵子鹏大鹏男程序员1.1.2 关系术语在关系数据模型中,列称为属性或字段,行被称为元组或记录等,有很多专有术语,下面就对关系数据模型中常用的术语作简单介绍(以表1-1为例)。 关系(relation)一个关系对应通常说的一张表,如表1-1员工信息表。 元组(tuple)表中的一行即为一个元组,如表1-1中的第一行记录(杨书昊的信息)就是一个元组。 属性(attribute)表中的一列即为一个属性,给每一个属性起的一个名称即属性名。如表1-1有5列,对应5个属性(员工编号,姓名,昵称,性别,职务)。 域(domain)属性的取值范围称为该属性的域。如性别的域是(

5、男,女),职务的域是一个公司所有职务的集合;员工编号的域为3位整数,姓名和昵称的域都为字符串集合。 关键字或码(key)也称为码键。表中的某个属性组,它可以唯一确定一个元组,如表1-1中的员工编号,可以唯一确定一个员工,也就成为本关系的主关键字(关系数据库中常称为主码或主键)。 分量(component)元组中的某一个属性的属性值。 关系模式(relation schema)对关系的描述,一般表示为:关系名(属性1,属性2,属性n)。关系模式可以形式化地表示为:r(u,d,dom,f)其中,r表示关系名;u是组成该关系的属性名集合;d是属性的域;dom是属性向域的映像的集合;f为属性之间数据的

6、依赖关系集合。关系模式通常可以简记为:r(u)或r(a1,a2,an)其中,r为关系名,a1、a2等为属性名。而域以及属性向域的映像常常直接说明为属性的类型、长度。例如,描述员工信息表的关系模式如下:e(eid,ename,enickname,esex,eoffice)关系模型要求关系必须是规范化的,即要求关系必须满足一定的规范条件,这些规范条件中最基本的一条就是,关系的每一个分量必须是一个不可分的数据项,也就是说不允许表中还有表。关系术语很抽象,不易理解,表1-2将关系术语和现实生活中的表格所使用的术语进行了简单的对比。表1-2 术语对比关 系 术 语一般表格的术语关系名表格名关系模式表头(

7、表格的描述)关系(一张)二维表元组记录或者行属性列属性名列名属性值列值分量一行记录中的一个列值非规范关系表中有表(大表中嵌套有小表)1.1.3 关系数据模型的特点前面两小节讲述了关系数据模型的数据结构二维表。这只是关系数据模型的一个组成部分,还有数据操作和完整性约束两个组成部分,将放在1.2节讲述。关系数据模型具有以下特点。 关系必须规范化 指关系模型中的每一个关系模式都必须满足一定的要求。 模型概念单一 这也是关系数据模型的优点。无论实体还是实体之间的联系都用关系来表示。对数据检索和更新的结果也是关系(即表)。所以其数据结构简单、清晰、易于理解和使用。 集合操作 在关系数据模型中,操作的对象

8、和结果都是元组的集合,即关系。关系数据模型还具有下列优点。 关系数据模型与非关系数据模型不同,它是建立在严格的数学概念的基础上的。 关系数据模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发、建立的工作。 关系数据模型的概念单一。关系数据模型虽然优点突出,是非常流行的数据库模型,但是关系数据模型也有缺点,由于存取路径对用户透明,查询效率往往不如非关系数据模型。因此,为了提高性能,必须对用户的查询请求进行优化,这增加了开发数据库管理系统的难度。1.2 关系数据库本节对关系数据库系统的关系操作和关系的完整性进行简单讲述,以了解关系数据库的基本知识

9、。如想深入学习,可参考相关数据库原理书籍。1.2.1 关系操作关系操作所操作的对象和结果都是集合,称为一次一集合(set-at-a-time)的方式。而非关系数据模型的数据操作方式则为一次一记录(record-at-a-time)的方式。关系数据模型中常用的关系操作包括:查询(query)操作和插入(insert)、删除(delete)、修改(update)操作两大部分。关系操作中最重要的是关系查询操作,主要分为:选择(select)、投影(project)、连接(join)、除(divide)、并(union)、差(except)、交(intersection)和笛卡尔积等。其中,选择、投影

10、、并、差、笛卡尔积是5种基本操作。其他操作可以用基本操作来定义和导出,就像乘法可以用加法来定义和导出一样。早期的关系操作通常用代数方式和逻辑方式来表示,分别被称为关系代数和关系演算。关系代数是用对关系的运算来表达查询要求的方式。关系演算是用谓词来表达查询要求的方式。这两种方式都是抽象的查询语言。在实际的关系数据库系统中,为了实现这些关系操作,为用户提供了一种介于关系代数和关系演算之间的语言sql(structured query language,结构化查询语言)。sql不仅具有丰富的查询功能,而且具有数据定义和数据控制功能。它充分体现了关系数据库语言的特点和优点,是关系数据库的标准语言。例如

11、,oracle数据库系统中的sql*plus,sql server中的transact_sql。1.2.2 关系的完整性关系数据模型的完整性规则是对关系的某种约束条件。关系数据模型允许定义3类完整性约束:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系数据模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系数据库系统自动支持。用户定义的完整性是应用领域需要遵循的约束条件,体现了具体领域中的语义约束。1实体完整性(entity integrity)实体完整性规则:若属性(指一个或一组属性)a是基本关系r的主属性,则a不能取空值。 以上规则简单严谨,但是不易

12、于理解,与通常所用的数据库系统(例如oracle)的名词也相差甚远,下面是对其通俗的表述。 基本关系的所有元组的主键属性不能取空值。也就是数据库表格的主键不能为空。 当主键由属性组组成时,属性组中所有的属性均不能取空值。也就是当数据库表格采用复合主键时,这些组成主键的所有列的值都不能为空。所谓空值(null)就是“不知道”或者“不存在”的值。例如,当以表1-1所示的员工信息表中的“员工编号”为主键时,则“员工编号”属性不能取空值。实体完整性规则说明如下。 实体完整性是针对基本关系的,一个基本表通常对应于现实世界中一个实体集。例如,员工关系对应于公司的所有员工的集合。 现实世界中的实体是可区分的

13、,即它们具有某种唯一性标识。例如每个员工都是一个独立的个体,是不一样的。 关系数据模型中以主键作为唯一标识。 主键中的属性即主属性不能取空值。如果主属性取空值,则存在某个不可标识的实体,即存在不可区分实体,这就与第2点相矛盾。2参照完整性(referential integrity)在现实世界中,实体之间往往存在某种联系,在关系数据模型中实体及实体间的联系都用关系来描述,这样就存在着关系与关系间的引用。在关系数据库系统中,通过引入外键的概念来表达实体之间关系的相互引用。如果f是基本关系r的一个或一组属性,但不是关系r的主键,而k是基本关系s的主键,那么如果f与k相对应,则称f是r的外键(for

14、eign key),并称基本关系r为参照关系(referencing relation),基本关系s为被参照关系(referenced relation)或目标关系(target relation)。例如,与表1-1相对应的有一个表“职务信息表”,如表1-3所示。表1-3 职务信息表职 务 名 称职 责 要 求经理处理公司业务会计处理公司财务程序员编程在表1-3中包含了职务名称、职责要求信息。对于一个公司而言,职务的名称是唯一的,因此可以将“职务名称”作为一个主键。该属性同时也是“员工信息表”中的一个属性,所以“职务”是表1-1“员工信息表”参照表1-3“职务信息表”的外键。参照完整性规则:若

15、属性(或属性组)f是基本关系r的外键,它与基本关系s的主键k相对应(基本关系r和s不一定是不同的关系),则对于r中每个元组在f上的值必须为如下两种情况之一:空值(f的每个属性值均为空值)、等于s中某个元组的主键值。例如,员工关系中,每个元组的“职务”属性值只能取如下两类值。 空值,表示尚未给该员工分配职务。 非空值,这个值必须存在于职务关系中,也就是说这个值必须在表1-3的职务名称属性的值范围中。3用户定义的完整性(user-defined integrity)实体完整性和参照完整性是任何关系数据库系统都必须支持的。除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条

16、件,用户定义的完整性就是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。例如,在“员工信息”表中,用户可以根据具体的情况规定从事会计职务的员工必须为女性。1.3 关系数据库规范化理论为使数据库设计合理可靠、简单实用,长期以来,形成了关系数据库设计理论,即规范化理论。本节对关系数据库规范化理论中的函数依赖和范式理论进行简单介绍。1.3.1 函数依赖在表1-1中描述员工信息时,包括员工编号、姓名、昵称、性别和职务属性,由于一个员工编号对应一名员工,确定了员工编号,一名员工的姓名、昵称、性别和职务也就确定下来了。这说明员工的姓名等属性对员工编号具有依赖性,在关系数

17、据库中称为函数依赖。1函数依赖的定义函数依赖的定义为:假设r(u)是属性集u上的关系模式;x、y是u的子集,如果r(u)的任意一个可能的关系r中,不存在两个元组在x上的属性值相等,而在y上的属性值不等,则称x函数确定y,或y函数依赖于x,记作xy。 函数依赖不是指关系模式r的某个或某些关系满足的约束条件,而是指r的一切关系均要满足的约束条件。函数依赖是语义范畴的概念,只能根据数据的语义来确定函数依赖。例如,知道了员工的编号,可以唯一地查询到其对应的姓名、性别等,因而可以说“员工编号函数确定了姓名或者性别”,记作“员工编号姓名”、“员工编号性别”等。这里的唯一性并非只有一个元组,而是指任何元组,

18、只要它在x(员工编号)上相同,则在y(姓名或性别)上的值也相同。如果满足不了这个条件,就不能说它们是函数依赖。例如,员工姓名与职务的关系,只有在没有同名人的情况下可以说函数依赖“姓名职务”成立,如果允许有相同的姓名,则“职务”就不再依赖于“姓名”了。如果必须使函数依赖“姓名职务”成立,在设计数据库时,就需要强制规定,不允许同名人的出现。也就是在描述现实世界时,有时需要做一些强制规定来实现数据库设计。当xy成立时,则称x为决定因素(determinant),称y为依赖因素(dependent)。当y函数不依赖于x时,记为xy。如果xy,且yx,则记其为xy。2函数依赖的种类函数依赖可以分为以下3

19、种基本情形。(1)平凡函数依赖与非平凡函数依赖在关系模式r(u)中,对于u的子集x和y,如果xy,但y不是x的子集,则称xy是非平凡函数依赖。若y是x的子集,则称xy是平凡函数依赖。对于任一关系模式,平凡函数依赖都是必然成立的。(2)完全函数依赖与部分函数依赖在关系模式r(u)中,如果xy,并且对于x的任何一个真子集x,都有xy,则称y完全函数依赖(full functional dependency)于x,记作xy。若xy,但y不完全函数依赖于x,则称y部分函数依赖(partial functional dependency)于x,记作xy。如果y对x部分函数依赖,x中的“部分”就可以确定对

20、y的关联,从数据依赖的观点来看,x中存在“冗余”属性。(3)传递函数依赖在关系模式r(u)中,如果xy,yz,且yx(y不决定x),zx(z不属于x),则称z传递函数依赖(transitive functional dependency)于x,记作xz。传递函数依赖定义中之所以要加上条件yx,是因为如果yx,则xy,这实际上是z直接依赖于x,也就是直接函数依赖,而不是传递函数依赖了。按照函数依赖的定义,可以知道,如果z传递依赖于x,则z必然函数依赖于x,如果z传递依赖于x,说明z是“间接”依赖于x,从而表明x和z之间的关联较弱,表现出间接的弱数据依赖,因而不能是产生数据冗余的原因之一。1.3.

21、2 范式理论范式是数据库设计中一个重要的过程,通过它可以优化数据库设计,避免一些问题,如下所示。 大大减少数据冗余。 改进数据库整体组织。 增强数据的一致性。 增加数据库设计的灵活性。因此,在确定设计的数据库之前,还需要对数据库中的表进行范式处理以确保数据库遵从适当的范式,从而使设计的数据库更加规范。目前关系数据库有6种范式:第一范式(1nf)、第二范式(2nf)、第三范式(3nf)、第四范式(4nf)、第五范式(5nf)和第六范式(6nf)。满足最低要求的范式是第一范式(1nf)。在第一范式的基础上进一步满足更多要求的范式称为第二范式(2nf),其余范式依次类推。一般说来,数据库只需满足第三

22、范式(3nf)即可。1第一范式如果关系模式r中每个属性值都是一个不可分解的数据项,则称该关系模式满足第一范式,简称1nf,记为r1nf。第一范式规定了一个关系中的属性值必须是“原子”的,它排斥了属性值为元组、数组或某种复合数据的可能性,使得关系数据库中所有关系的属性值都是“最简形式”,这样要求的意义在于可能做到起始结构简单,为以后复杂情形讨论带来方便。一般而言,每一个关系模式都必须满足第一范式,1nf是对关系模式的起码要求。2第二范式如果一个关系模式r1nf,且它的所有非主属性都完全函数依赖于r的任一候选键,则r2nf,即该关系模式满足第二范式。若关系中的某一属性组的值能唯一地标识一个元组,则

23、称该属性组为候选键。在最简单情况下,候选键只包含一个属性。在最极端情况下,关系模式的所有属性是这个关系的候选键,称为全键。3第三范式如果一个关系模式r2nf,且所有非主属性都不传递函数依赖于任何候选键,则r3nf。要将非3nf的关系模式规范化为3nf,可以用分解的方法消除非主属性传递依赖于候选键的情形。即将产生传递依赖的非主属性和它所依赖的非主属性单独组成一个关系模式,其余的属性构成另一个关系模式。部分依赖和传递依赖是产生冗余和异常的两个重要原因,3nf中消除了非主属性对候选键的部分依赖和传递依赖,因此具有较好的性质。但是3nf中并未排除主属性对候选键的部分依赖和传递依赖,因此尚不能彻底消除异

24、常。4bcnf范式bcnf(boyce codd normal form)范式由boyce与codd提出,比3nf又进一步,通常认为bcnf范式是对第三范式的修正,有时也称为扩充的第三范式。对于一个关系模式r,如果对于每一个函数依赖xy,其中的决定因素x都含有键,则称关系模式r满足bcnf范式。bcnf范式的本质意义在于,其中的每一个决定因素都是一个主键。或者说,在bcnf范式中,除了候选键决定其所有属性或主键决定其所有属性之外,绝不会有其他的非平凡函数依赖。特别是不会有非主属性作为决定因素的非平凡函数依赖。1.4 数据库设计数据库设计包括信息的收集、确定数据、建立实体-关系模型、进行规范化和

25、编写sql代码以创建数据库5个过程。本节将对实体-关系模型的组成、绘制和转化进行讲述。1.4.1 实体-关系模型实体-关系模型也称为e-r(entity-relationship)数据模型。设计e-r数据模型的出发点是为了更有效和更好地模拟现实世界,而不需要考虑在计算机中如何实现。下面介绍e-r数据模型的3个抽象概念。1实体(entity)实体是e-r模型的基本对象,是现实世界中各种事物的抽象。凡是可以相互区别,并可以被识别的事、物、概念等均可认为是实体。在一个单位中,具有共性的一类实体可以划分为一个实体集。例如,员工杨书昊、王小静等都是实体。为了便于描述,可以定义“员工”这样一个实体集,所有

26、员工都是这个集合的成员。2属性(attribute)实体一般具有若干特征,称为实体的属性。例如,员工具有员工编号、姓名、性别等属性。实体的属性值是数据库中存储的主要数据,一个属性实际上相当于关系数据库中表的一个列。能唯一标识实体的属性或属性组称为实体集的实体键。如果一个实体集有多个实体键存在,则可以从中选择一个作为实体主键。3联系(relationship)实体之间会存在各种关系,例如,人与人之间可能有领导关系等。这种实体与实体之间的关系被抽象为联系。e-r数据模型将实体之间的联系区分为一对一(11)、一对多(1n)和多对多(mn)3种,并在模型中明确地给出这些联系的语义。 一对一联系 对于实

27、体集a和实体集b来说,如果对于a中的每一个实体a,b中至多有一个实体b与之联系;而且,反过来也是如此,则称实体集a与实体集b具有一对一联系,表示为11。 一对多联系 对于实体集a中的每一个实体,在实体集b中有n个实体与之联系;而且,对于实体集b中的每一个实体,实体集a中至多有一个实体与之联系,则称实体集a和实体集b具有一对多的联系,表示为1n。 多对多联系 如果对于实体集a中的每一个实体,实体集b中有n个实体与之联系;同时,对于实体集b中的每一个实体,实体集a中有m个实体与之联系,则称a和b具有多对多联系,记为mn。1.4.2 e-r图的绘制实体-关系图是表现实体-关系模型的图形工具,简称e-

28、r图。在e-r图中,基本的图形元素有3个:实体集合框,联系集合框和属性框。实体集合框用矩形框表示,实体之间的联系集合框用菱形框表示,属性框用椭圆形框(或圆形框)表示,如图1-1所示。图1-1 e-r图的基本元素图1-2给出一个表示11关系的e-r图(这里假设一名员工不可以身兼多职)。图1-2 e-r图示例由于e-r图直观易懂,在概念上表示了一个数据库的信息组织情况,所以如果能够画出数据库系统的e-r图,也就意味着弄清楚了应用领域中的问题,此后就可以根据e-r图,并结合具体的数据库管理系统(dbms),将e-r数据模型演变为dbms支持的数据模型。1.4.3 将e-r数据模型转化为关系模式在e-

29、r数据模型建立后,就可以将实体、实体间的联系等模型转变为关系模式,即生成数据库中的表,并确定表的列。下述讨论由e-r数据模型生成表的方法。1实体转化为表对e-r数据模型中的每个实体,在创建数据库时相应地为其建立一个表,表中的列对应实体所具有的属性,主属性就作为表的主键。如前面建立的e-r数据模型中,可以将员工和职务实体转化为表,如图1-3所示。图1-3 实体转化为表2实体间联系的处理对于实体间的一对一关系,为了加快查询时的速度,可以将一个表中的列添加到两个表中。一对一关系的变换比较简单,一般情况下不需要再建立一个表,而是直接将一个表的主键作为外键添加到另一个表中,如果联系也存在属性,则还需要将

30、联系的属性添加到该表中。实体间的一对多关系的变换也不需要再为其创建一个表。假设表a与表b之间是1n关系,则变换时可以将表a的主键作为外键添加到表b中。多对多关系的变换要比一对多关系复杂得多,在通常情况下是创建一个称为连接表的特殊表,以表达两个实体之间的关系。连接表的列包含其连接的两个表的主键列,同时包含一些可能在关系中存在的特定的列。为了保证设计的数据库能够有效、正确地运行,往往还需要对表进行规范,以消除数据库中的各种异常现象。1.5 oracle应用系统结构在安装、部署oracle 11g数据库软件时,需要根据不同应用结构(即硬件平台、操作系统平台)采取不同的方法(基本安装、高级安装),下面

31、介绍几种常见的应用结构。1.5.1 单磁盘独立主机结构单磁盘独立主机结构是最简单、最常用的结构,在该结构中只有一台计算机,并且计算机使用一个硬盘,也就是最常见的计算机结构,如图1-4所示。在这里用oracle的实例表示dbms,用数据库文件来表示数据库。数据库服务器(也叫做实例)由一组内存结构和访问数据库文件的后台进程组成。图1-4 单磁盘独立主机结构这种应用结构只有一个数据库服务器(dbms)、一个数据库结构(数据库文件),并且这些数据文件都存储在一个物理磁盘上。这是最基本的应用结构,其他应用结构都是对此基本结构的修改和扩展。由于这种结构将所有数据库文件都放在一个硬盘上,因此对硬件的可靠性要

32、求较高,性能调整的主要方向是试图减少对数据库文件的访问次数。1.5.2 多磁盘独立主机结构多磁盘独立主机结构只有一台计算机,但是该计算机使用了多个硬盘,如图1-5所示。图1-5 多磁盘独立主机结构图1-5中只有一个数据库服务器、一个数据库结构,但是数据库存储在多个物理磁盘中。由于使用了多个物理磁盘,数据库文件便可以被分开存储,这样可以减少数据库文件的连接数量,减少数据文件的磁盘i/o。如果在这些磁盘上采用了磁盘镜像技术(raid技术,独立磁盘冗余阵列技术),则所有数据库文件在每个硬盘上都有完整的备份,任何一个硬盘发生故障后,都能由镜像磁盘代替其工作,并可对其进行维修、恢复,因此提高了硬件的可靠

33、性。由于在数据库操作期间,处理一个事务或查询可能需要多个文件的信息是非常普遍的事,所以在这种多磁盘结构中,还可以将数据库文件分别存放在不同的硬盘上,以便减少数据库文件之间的竞争的数量,从而提高数据库的性能。多磁盘不一定就是镜像的,但镜像一定需要多磁盘。通常,磁盘的镜像是由硬件系统来实现,而不是使用oracle的镜像解决方案。1.5.3 多数据库独立主机结构多数据库独立主机结构只有一台计算机,可以有一个或多个硬盘,如图1-6所示。图1-6 多数据库独立主机结构这种应用结构由多个数据库服务器、多个数据库文件组成,也就是在一台计算机上装两个版本的oracle数据库(如oracle 10g、oracl

34、e 11g)。尽管它们在同一台计算机上,但内存结构、服务器进程、数据库文件等都不是共享的,它们各自都有自己的内存结构、服务器进程和数据库文件。虽然这两个数据库位于同一台计算机上,但它们彼此之间并不能进行共享,一个数据库的进程并不能访问另一个数据库的数据库文件。这种结构对硬件的要求较高(内存大、cpu快、硬盘快)。一般情况下,不采用这种应用结构。1.5.4 oracle客户/服务器系统结构在c/s(client/server)结构模式中,所有的数据集中存储在服务器中,数据处理由服务器完成,一般采用硬件资源配置比较高的机器作为服务器,而使用配置比较低的pc作为客户端。服务器与客户端之间通过专用网络

35、连接,一般为局域网或企业内部网。图1-7列出了oracle客户/服务器系统结构。应用程序运行在客户端,oracle数据库运行在服务器上,二者之间通过计算机网络连接在一起。oracle使用sql*net在客户端与服务器之间进行通信。图1-7 oracle客户/服务器系统结构与oracle数据库进行交互的语言为sql或pl/sql。运行在客户端的应用软件要与oracle数据库的rdbms(relational database management system,关系型数据库管理系统)核心进行通信,访问数据库中的数据,要经过开发工具及oracle驱动程序转换成sql语言,再通过网络传递传输工具sq

36、l*net传递到服务器端。oracle服务器同样使用sql*net接收客户端的请求,并根据该sql语言响应客户端的请求,最后将执行结果再传递到客户端,从而完成对数据库的一次访问。1.5.5 oracle浏览器/服务器系统结构图1-8所示为oracle浏览器/服务器(b/s,browser/server)3层系统结构。在b/s的3层模型中,客户端应用程序通常采用web浏览器展示,所以客户端也称为瘦客户。图1-8 oracle浏览器/服务器3层系统结构在客户计算机上没有加载程序代码,所有的程序代码都存储在web服务器上。如果客户端要访问数据,则访问请求首先通过网络被发送到web服务器,然后由web

37、服务器将请求传递到数据库服务器,经过数据库服务器处理的数据以html的格式在客户端web浏览器显示。b/s结构是面向非连接的,即存取数据库时建立连接,存取结束断开连接,再次存取时需要重新建立连接。所以,与c/s两层模式相比,其效率比较低。所以b/s主要应用于运行效率要求不高,以数据的对外发布为主的环境。1.5.6 oracle分布式数据库系统结构数据库系统可按数据分布方式分为集中式数据库系统和分布式数据库系统。集中式数据库系统是将数据集中存放在一台计算机上,而分布式数据库系统是将数据存放在由计算机网络连接的不同计算机上。一个分布式数据库是由分布于计算机网络上的多个逻辑相关的数据库组成的集合,网

38、络的每个节点都具有独立处理能力,可以执行局部应用,也可以通过网络执行全局应用。图1-9所示为分布式数据库系统结构。图1-9 分布式数据库系统结构从图1-9可以看出,分布式数据库由以下几部分组成。 局部数据库管理系统 创建和管理局部数据库,执行局部和全局应用的子查询。 全局数据库管理系统 协调各个局部数据库管理系统,共同完成全局事务的执行,并保证全局数据库执行的正确性和全局数据的完整性。 通信管理 实现分布在网络中的各个数据库之间的通信。 全局数据字典 存放全局概念模式。 局部数据库 查询全局数据库信息。分布式数据库管理系统的数据在物理上是分布存储,即数据存放在计算机网络上不同的节点(局部数据库

39、);而在逻辑上数据之间有语义上的联系,属于一个系统。访问数据的用户既可以是本地用户,也可以是通过网络连接的远地用户。oracle数据库支持分布式数据结构,它属于客户/服务器模式结构。在网络环境中,每个具有多用户处理能力的硬件平台都可以作为服务器,多个服务器上的数据库对用户来讲是一个逻辑上的单一数据库系统。oracle在网络环境中使用sql*net、net8或net8i等进行客户端与服务器、服务器与服务器之间的通信。在分布式数据库中,各个服务器之间可以实现数据的实时、定时复制。通过oracle的远程数据复制选件、触发器、快照等在多个不同地域实现数据的远程复制。图1-10给出了oracle分布式数

40、据库系统结构。图1-10 oracle分布式数据库系统结构1.6 安装oracle 11goracle 11g有两种安装方式:高级安装和基本安装。两种安装方式对硬件的要求也不相同。另外oracle 11g非常大,对硬件配置的要求相当高,表1-4列出了在windows环境下安装oracle 11g所必需的硬件配置。表1-4 oracle 11g在windows环境下安装对硬件的要求系 统 要 求说 明cpu最低主频550mhz以上(windows vista系统要求最低主频800mhz)物理内存1gb以上虚拟内存物理内存的两倍磁盘空间基本安装需要4.55gb,高级安装需要4.92gb1.6.1

41、在windows环境下的安装过程服务器的计算机名称对于安装完oracle 11g后登录到数据库非常重要。如果在安装完数据库后,再修改计算机名称,可能造成无法启动服务,也就不能使用oem。如果发现这种情况,只需将计算机名称重新修改回原来的计算机名称便可。因此,在安装oracle数据库前,就应该配置好计算机名称。(1)运行安装文件夹中的setup.exe,启动oracle安装程序,打开oracle universal installer窗口。oracle安装程序快速检查一次计算机的软、硬件安装环境,如果不满足最小需求,则返回一个错误并异常终止。(2)当oracle安装程序检测完软、硬件环境之后,自

42、动打开图1-11所示对话框。在该对话框中选择安装方法。图1-11 选择安装方法(3)在图1-11所示对话框中选中【高级安装】单选按钮后单击【下一步】按钮,在弹出的对话框中选择安装类型。oracle 11g有如下安装类型。 企业版面向企业级应用,应用于对安全性要求较高并且任务至上的联机事务处理(oltp,on-line transaction processing)和数据仓库环境。 标准版适用于工作组或部门级别的应用,也适用于中小企业。提供核心的关系数据库管理服务和选项。 个人版个人版数据库只提供基本数据库管理服务,适用于单用户开发环境,对系统配置的要求也比较低,主要面向开发技术人员。 定制允许

43、用户从可安装的组件列表中选择安装单独的组件。还可以在现有的安装中安装附加的产品选项,如要安装某些特殊的产品或选项就必须启用此选项。定制安装需要用户非常熟悉oracle 11g的组成。(4)这里选择安装企业版,选中【企业版】单选按钮,单击【下一步】按钮,打开图1-12所示对话框。在这里指定oracle的安装位置。图1-12 指定安装位置oracle主目录名的长度最多可以为127个字符,并且只能包含字母、数字字符和下划线“_”,而且oracle主目录名中不能有空格。(5)指定安装位置后单击【下一步】按钮,oracle再次检查软件安装环境。例如,检查是否存在磁盘空间不足、缺少补丁程序、硬件不合适等问

44、题,如果不能通过检查,安装可能会失败。检查软件安装环境结果如图1-13所示。在【正在检查网络配置要求】项目中,需要手动启用其对应的【状态】区域中的复选框。图1-13中是启用后的效果。未启用时状态为【未执行】复选框。(6)当检查安装环境总体为通过时,单击【下一步】按钮打开【oracle universal installer:选择配置选项】对话框,如图1-14所示。 图1-13 检查软件安装环境结果 图1-14 执行配置选项图1-14中各个单选按钮的含义如下。 创建数据库可以创建具有“一般用途/事务处理”、“数据仓库”或“高级”配置的数据库。图1-15 指定数据库配置选项 配置自动存储管理(as

45、m)此单选按钮表示只在单独的oracle主目录中安装自动存储管理(asm,automatic storage management)。如果需要,还可以提供asm sys口令,接下来系统将提示创建磁盘组。 仅安装软件此单选按钮表示只安装oracle数据库软件,用户可以在以后再配置数据库。(7)在图1-14中采用默认设置,单击【下一步】按钮,在弹出窗口中选择要创建的数据库类型,也就是“一般用途/事务处理”、“数据仓库”或“高级”中的一种。这里选择“一般用途/事务处理”。(8)单击【下一步】按钮,打开【oracle universal installer:指定数据库配置选项】对话框,如图1-15所示

46、。由于sid定义了oracle数据库实例的名称,因此sid主要用于区分同一台计算机上的同一个数据库的不同实例。实例由一组用于管理数据库的进程和内存结构组成。对于单实例数据库(仅由一个系统访问的数据库),其sid通常与数据库名相同。(9)在图1-15中,采用默认设置,单击【下一步】按钮,打开【oracle universal installer:指定数据库配置详细资料】对话框,如图1-16所示,用于指定数据库配置的详细资料。图1-16 指定数据库配置的详细资料【内存】选项卡用于指定要分配给数据库的物理内存。oracle安装程序将自动计算和调节内存分配的默认值。用户可以根据需求指定分配内存的大小。

47、图1-16中的【启用自动内存管理】复选框,用来动态分配系统全局区(sga,system global area)与程序全局区(pga,program global area)之间的内存。如果启用此复选框,则窗口中内存区的配置状态显示为auto;如果禁用此复选框,则内存分配的sga与pga在内存区之间的分配比例取决于所选择的数据库配置。一般用途/事务处理类型的数据库的sga为75%,pga为25%;数据仓库类型的sga为60%,pga为40%。【字符集】选项卡用于确定在数据库中要支持哪些语言组,这里选中【使用unicode(al32utf8)】单选按钮采用字符集:utf-8。【安全性】选项卡用于

48、指定是否要在数据库中禁用默认安全设置。oracle增强了数据库的安全设置;启用审计功能以及使用新的口令概要文件都属于增强的安全设置。这里采用默认设置。【示例方案】选项卡用于指定是否要在数据库中包含示例方案。这里启用【创建带样本方案的数据库】复选框,创建示例方案。如果安装示例方案,oracle数据库配置助手(oracle database configuration assistant)将在数据库中创建examples表空间,这将增加150mb的磁盘空间。如果不安装示例方案,可以在安装后在数据库中手动创建。(10)单击【下一步】按钮,在打开的对话框中选择数据库管理选项,如图1-17所示。这里采用

49、默认设置。图1-17 选择数据库管理选项oracle从10g开始已经支持网格运算,因此除了使用oracle enterprise manager database control来管理数据库外,用户还可以选择使用oracle enterprise manager grid control。无论使用grid control还是使用database control,用户都可以执行相同的数据库管理任务,但使用database control只能管理一个数据库。grid control提供了集中式界面来管理和监视环境内多个主机上的多个目标。目标包括oracle数据库安装、应用程序服务器和oracle net监听程序。使用grid control,必须安装oem 10g,并且系统中必须有正在运行的oracle management agent,否则不能使用grid control。不过,可以在安装oracle数据库之后安装oracle management agent。这样就可以使用grid control来集中管理系统上的数据库和其他

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论