oracle数据库技术基础教程_第1页
oracle数据库技术基础教程_第2页
oracle数据库技术基础教程_第3页
oracle数据库技术基础教程_第4页
oracle数据库技术基础教程_第5页
已阅读5页,还剩1256页未读, 继续免费阅读

下载本文档

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

文档简介

1.1Oracle公司简介

1.2Oracle的发展及特点

1.3Oracle数据库系统体系结构

1.4数据字典

1.5基于Oracle的数据库应用的开发步骤

1.6小结

习题与思考题

实践1Oracle10g的安装与配置及常用工具的使用第1章Oracle数据库系统概述1.1Oracle公司简介

1977年,LarryEllison、BobMiner和EdOates成立了软件开发实验室,1978年又成立了RSI(RelationalSoftwareIncorporated)公司,后来改名为Oracle公司,公司总部位于美国加州Redwoodshore。他们利用C和SQL接口开发了关系数据库管理系统——Oracle,并于1979年发行了第一个产品。Oracle是世界上第一个商品化的关系型数据库管理系统。目前,Oracle公司是全球最大的信息管理软件及服务供应商,也是全球第二大独立软件公司。Oracle公司是目前业界惟一有能力提供应用软件、数据库产品、开发工具和专业服务的集成化供应商,并在每一领域都处于领先地位。先进的科技、杰出的品质和不断创新的承诺是Oracle公司居于世界领先地位的基础。

Oracle公司现有员工超过36000人,服务遍及全球150多个国家,为客户提供数据库系统、工具、应用产品以及相关的咨询、培训和支持服务,是可开发和交付100%的基于互联网的数据库、企业业务应用、应用开发和决策支持工具等企业级软件的第一家软件公司。Oracle也是惟一一家可全面完整地实施从前台办公的客户关系管理应用到后台办公管理应用及平台基础结构,为用户提供最完整先进的电子商务解决方案的公司。Oracle的软件可运行在PC、工作站、小型机、大规模的并行计算机,以及PDA等各种计算设备上。随着越来越多的企业转向电子商务,Oracle提供了具有强大的电子商务能力的解决方案,为企业提供了高效率的扩展市场的手段,提高了企业的工作效率和经济效益。

Oracle公司于1989年正式进入中国市场,是第一家进入中国的世界软件巨头。1991年7月在北京建立了独资公司,目前在国内设有北京、上海、广州和成都4个办事处。Oracle中国公司的规模也在不断扩大,员工已达到几百人。多年来Oracle在提供数据库软件、开发工具和应用软件产品及相关的顾问咨询、教育培训、技术支持服务等方面同众多的中国用户建立了紧密的合作关系,在金融保险业、电信、制造业、科技教育、能源交通、政府、航空航天和军队等各行各业拥有广泛的客户群。Oracle的先进技术和服务受到了中国用户的广泛认可和信任。现在,Oracle正致力于帮助中国企业全面有效地向电子商务运作模式转型。1.2Oracle的发展及特点

1.Oracle的发展

Oracle数据库系统最早于1979年推出,随着技术的发展,版本不断更新,功能不断加强。其发展的历史如下:

1983年3月发布了第3版,该版本具有很好的可移植性,同时还推出了SQL语句和事务处理的原子性。

1984年10月发布了第4版,该版本的稳定性得到了增强,同时增加了读一致性,当年将Oracle产品移植到PC机上。

1985年发布了第5版,该版本的特性是支持分布数据库和客户/服务器结构。

1988年发布了第6版,该版本对数据库核心进行了重新改写,并且引入了行级锁这个重要的概念。

1992年6月发布了第7版,该版本增加了许多新的性能特性,包括分布式事务处理功能、增强的管理功能、用于应用程序开发的新工具以及安全性方法等。

1997年6月发布了第8版,该版本支持面向对象的开发及新的多媒体应用,也为支持Internet、网格计算等奠定了基础,并开始具有同时处理大量用户和海量数据的特性。1998年9月正式发布了Oracle8i,“i”代表了Internet。在这一版本中添加了大量支持Internet而设计的特性,为数据库用户提供了全方位的Java支持。

2001年6月发布了Oracle9i,该版本最重要的新特性是推出了“真正的应用集群(RAC,RealApplicationClusters)”软件,RAC使得多个集群计算机能够共享对某个单一数据库的访问,以获得更高的可伸缩性、可用性和经济性。Oracle9i第2版还做了很多重要的改进,使Oracle数据库成为一个本地的XML数据库。

2004年2月正式发布了Oracle10g数据库产品,“g”代表“grid”,即网格。Oracle10g数据库是第一个专门设计用于网格计算的数据库,利用它可以灵活、经济、高效地管理企业信息,在尽可能提高服务质量的同时削减管理成本。除了极大地提高了质量和性能外,Oracle10g数据库还通过简化的安装、大幅减少的配置和管理需求以及自动性诊断和SQL调整,显著地降低了管理IT环境的成本。2005年下半年,Oracle公司发布了Oracle10g的第2版。在第2版中,Oracle继续致力于提高效率以及降低信息管理的成本,其最重要的特性是增加诊断功能,为优化查询、支持加密数据提供更多的自动化工具,减轻了数据收集和分析的负担。

2.Oracle的特点

Oracle主要有以下特点:

Oracle具有完整的数据管理功能,包括存储大量数据、定义和操纵数据、并发控制、安全性控制、故障恢复、与高级语言接口等。因此,Oracle是一个通用的数据库系统。

Oracle支持各种分布式功能,特别是支持各种Internet处理。因此,Oracle是一个分布式数据库系统。

Oracle作为一个应用开发环境,使用PL/SQL语言执行各种操作,具有可开放性、可移植性、灵活性等特点。

高版本的Oracle支持面向对象的功能,支持类、方法和属性等概念。因此,Oracle是一种对象—关系型数据库系统。1.3Oracle数据库系统体系结构1.3.1Oracle数据库、实例及其文件

1.数据库和实例数据库实质上就是一个数据的集合,它为用户提供一种并发访问数据的途径。从物理上看,Oracle数据库由一组操作系统文件组成,这组文件包括数据文件、控制文件、重做日志文件等。通过这组文件,Oracle为数据集合提供了一套物理存储的机制。实例也称例程,是Oracle为数据集合提供的一套动态访问物理数据库的内存机制。一个实例就是一套特殊的、由Oracle建立起来的内存结构和后台进程的集合,这些进程和内存结构提供的资源被所有用户所共享,它是存取和控制数据库的软件机制。

数据库启动时,首先启动实例,系统自动分配系统全局区,并启动Oracle的多个后台进程。

一般情况下,数据库和实例之间是1对1的关系,一个数据库只能通过一个实例来访问,但是在服务器集群环境下,数据库和实例之间可以是1对多的关系,并且数据库和其实例可以位于不同的网络位置。因此,通常情况下不要将数据库与实例两者混为一谈。

2.参数文件

在一个数据库实例开始启动时,需要查找系统参数,每个特定的参数都有一个默认的值,这些值均存储在参数文件中。

Oracle参数文件有初始化参数文件和服务器参数文件。●初始化参数文件INIT.ORA

初始化参数文件也称为启动参数文件,是一个ASCII文本文件,可利用文本编辑器编辑,其中记录Oracle数据库运行时的一些重要参数,名字通常为INIT.ORA格式,存储在<Oracle安装路径>\admin\<数据库实例>\pfile下。例如,“f:\oracle\product\10.1.0\admin\ygbx\pfile”,其中,“f:\oracle\product\10.1.0”是Oracle当前数据库的安装路径,“ygbx”是数据库实例名。每个Oracle数据库和实例都有它自己惟一的初始化参数文件。创建一个数据库时即创建了一个默认的初始化参数文件,如果不做修改,则使用系统提供的缺省值来创建数据库。

在企业管理器中选择“管理”\“例程”\“所有初始化参数”,出现当前数据库的初始化参数界面,如图1-1所示。图1-1当前数据库的初始化参数●服务器参数文件SPFILE

服务器参数文件是Oracle9i后引入的文件,可以认为是在Oracle数据库服务器上存储的初始化参数的一个仓库,SPFILE以二进制的形式存储。在图1-1中选中“SPFILE”,将出现服务器参数文件页,如图1-2所示。图1-2当前数据库的服务器参数文件

Oracle数据库在启动过程中首先读取初始化参数文件初始化数据库实例,然后按照参数文件中参数“CONTROL_FILES”指定的路径和文件找到数据库的控制文件,再利用控制文件控制数据库的启动,同时利用数据文件和日志文件进行数据库的恢复,成功恢复数据库后打开数据库。

3.跟踪文件与警告日志文件

在数据库实例中运行的每一个后台进程和每个服务器进程都有一个跟踪文件与之相连,跟踪文件记载着后台进程遇到的重大事件信息,由Oracle自动生成,扩展名为“.TRC”。除了跟踪文件外,Oracle还提供警告日志(AlertLog)文件,警告日志记录数据库文件运行中主要的命令和结果。警告日志是数据库每日管理的重要资源,当需要查找数据库运行主要失败原因时,跟踪文件就非常有用。在操作系统中选择<Oracle安装路径>\admin\<数据库实例>\bdump,例如,“f:\oracle\product\10.1.0\admin\ygbx\bdump”,出现当前数据库后台进程跟踪文件与警告日志文件窗口,如图1-3所示。图1-3当前数据库后台进程跟踪文件和警告日志文件1.3.2Oracle内存结构

内存结构是Oracle数据库体系结构中最重要的部分之一,它是影响数据库性能的重要因素,服务器内存的大小直接影响数据库的运行速度。

Oracle内存结构大致分为系统全局区(SGA,SystemGlobalArea)、程序全局区(PGA,ProgramGlobalArea)、排序区(SortArea)和软件代码区(SoftwareCodeArea)。

在企业管理器中选择“管理”\“例程”\“内存参数”,出现当前数据库内存结构界面,界面包含“SGA”和“PGA”两页,“SGA”页如图1-4所示。图1-4当前数据库的内存结构“SGA”页

1.系统全局区SGA

系统全局区是内存结构的主要组成部分,是一组共享的内存结构,包含一个Oracle数据库系统的数据和控制信息,它含有数据维护、SQL语句分析与重做缓存所必需的所有内存结构,是实例的主要部分。

系统全局区的数据是共享的,也就是说多个进程可以在同一时间对SGA中的数据进行访问和修改,所有数据库操作都使用包含在SGA中的结构。当实例创建时,分配SGA;当实例关闭时,释放SGA。

SGA主要包括数据缓冲区、重做日志缓冲区、共享池、字典缓冲区、Java池和大型池等。

●数据缓冲区(DataBuffer)

数据缓冲区又称用户数据高速缓冲区,为所有与该实例相链接的用户进程所共享。数据缓冲区存放着Oracle系统最近使用过的数据库数据块。数据缓冲区的容量受限于物理容量。在Oracle系统中,数据以数据块的形式存放,其大小由初始化文件中参数“DB_BLOCK_SIZE”指定。用户进程查看的数据必须首先驻留在数据缓冲区中,如果用户查看的数据不在高速缓冲区中,则Oracle首先查找物理磁盘驱动器上的数据文件,读取所要的数据块,然后将它们放入数据缓冲区中。

Oracle使用最近最少使用(LRU,LeastRecentlyUsed)算法来管理可用空间,当存储区需要自由空间时,最近最少使用的数据块被移出,新数据块将在存储区代替它的位置。通过这种方法可将最近频繁使用的数据保存在存储区中。

数据缓冲区的大小由初始化参数文件中的参数“DB_CACHE_SIZE”指定,该参数以字节为单位。●重做日志缓冲区(RedoLogBuffer)

任何事务(Transaction)对数据库的修改操作都记录在重做日志文件中,但在写到重做日志文件之前都必须首先存放到重做日志缓冲区中。重做日志缓冲区是专为此开辟的一块内存区域,重做日志缓存中的内容将被后台进程LGWR随时写入重做日志文件中。

重做日志缓存是一个循环缓存区,在使用时从顶端向底端写入数据,然后再返回到缓冲区的起始点循环写入。重做日志缓冲区的大小由初始化参数文件中的参数“LOG_BUFFER”指定,该参数以字节为单位。●共享池(SharedSQLPool)

共享池相当于程序高速缓冲区,所有的用户程序都存放在共享池中,这个高速缓冲区中存放所有通过SQL句法分析、准备执行的SQL语句。

共享池包括库高速缓存、数据字典高速缓存和服务器控制结构。

共享池的大小由初始化参数文件中的参数“SHARED_POOL_SIZE”指定,该参数以字节为单位。用户必须将这个值设得足够大,以确保有足够的可用空间来装载和存储PL/SQL块和SQL语句。●字典缓冲区(DictionaryBuffer)

字典缓冲区用于保存数据字典中的行。数据字典中存放Oracle系统管理自身需要的所有信息,这些信息包括访问过Oracle数据库的用户、这些用户有哪些数据块对象以及这些数据块对象的位置等。

数据字典缓冲区也使用最近最少算法来管理。

字典缓存区是共享池的一部分,共享池的大小由初始化参数文件中参数“SHARED_POOL_SIZE”指定,该参数以字节为单位。●Java池

Java池为Java命令提供语法分析,其大小由初始化参数文件中的参数“JAVA_POOL_SIZE”指定,该参数以字节为单位。●大型池(LargePool)

共享服务器将大型池的分配用作会话内存,通过并行执行将它用作消息缓冲区,通过备份将它用作磁盘I/O缓冲区,其大小由初始化参数文件中的参数“LARGE_POOL_SIZE”指定,该参数以字节为单位。

SGA的固定容量是分配给SGA区域的内存,包含有关数据库和例程状态的一般信息。

SGA总容量为共享池、数据缓冲区、大型池、Java池、重做日志缓冲区、字典缓冲区和SGA固定容量的总和。

2.程序全局区PGA

程序全局区PGA是单个Oracle进程使用的内存区域,不属于实例的内存结构。它含有单个进程工作时需要的数据和控制信息,PGA是非共享的,只有服务进程本身才能够访问它自己的PGA区。

在图1-4中选中“PGA”,出现当前数据库内存结构“PGA”页,如图1-5所示。图1-5当前数据库的内存结构“PGA”页

3.排序区

排序区存在于请求排序的用户进程的内存中,由于排序需要内存空间,Oracle利用该内存排序数据,这部分空间称为排序区。该空间的大小为适应排序数据量的大小,可增长,但受初始化参数文件中参数“SORT_AREA_SIZE”所限制。

4.软件代码区

软件代码区用于存储正在执行的或可以执行的程序代码。软件代码区是只读的,可安装成共享或非共享。Oracle系统程序是共享的,多个Oracle用户可存取它,而不需要在内存有多个副本,用户程序可以共享也可以不共享。1.3.3Oracle进程结构

进程又称任务,是操作系统中一个极为重要的概念。一个进程执行一组操作,完成一个特定的任务。进程与程序的区别在于前者是一个动态概念,后者是一个静态实体;程序仅仅是指令的有序集合,而进程则强调执行过程。进程可以动态地创建,完成任务后即消亡。

Oracle的进程分为用户进程和Oracle进程两种。

在企业管理器中选择“主目录”\“活动的会话”\“活动的会话”,出现当前数据库的进程界面,如图1-6所示。图1-6当前数据库的进程

1.用户进程

当用户运行一个应用程序时,系统就为它建立一个用户进程。用户进程执行的是一个应用程序或Oracle工具程序的代码,以完成用户所指定的任务。用户进程不是实例。

2.Oracle进程

Oracle进程分为服务器进程和后台进程。

1)服务器进程

服务器进程处理与应用程序相连的用户进程的请求,它与用户进程相互通信,为相连的用户进程的Oracle请求服务。

2)后台进程

系统为了使性能达到最好和协调多个用户,在多进程系统中使用一些附加进程,这些进程称为后台进程。后台进程在实例启动时自动建立,一个Oracle实例可以有许多后台进程,但它们不是一直存在的。

Oracle的后台进程主要包括系统监控进程(SMON)、数据库写进程(DBWi)、日志文件写进程(LGWR)、检查点进程(CKPT)、恢复进程(RECO)、归档进程(ARCH)和进程监控进程(PMON)等。●SMON

SMON是系统监控程序,当启动一个数据库时,SMON进程执行所需的实例恢复操作,它可以清除数据库,取消系统不再需要的事务对象。每个实例仅有一个SMON。

●DBWi

DBWi(i=0,1…)是数据库写进程,它负责管理数据缓冲区及字典缓冲区的内容,它以批处理方式把“脏”的缓冲区从SGA写到数据文件中,使缓冲区保持“干净”。当缓冲区中数据被修改了,就被称为“脏”缓冲区。每个实例可以拥有多个DBWi,以减少多进程操作期间的冲突。●LGWR

LGWR是日志写入进程,它负责把联机重做缓冲区的内容写入联机重做日志文件中,只有该进程能修改联机重做日志文件的内容,而且如果重做日志文件是多个镜像文件,LGWR同时向多个日志镜像文件中写内容以保证日志镜像文件内容的一致性。每个实例可以拥有多个LGWR,以减少多进程操作期间的冲突。●CKPT

CKPT是检查点进程,适用于检查点恢复技术,用来减少执行实例恢复所需的时间。

●RECO

RECO是恢复进程,该进程是具有分布式选项时所使用的一个进程,自动解决在分布式事务中出现的故障。●ARCH

ARCH是归档进程,是当数据库处于归档工作模式时重做日志文件被重写前启动的进程,该进程负责将重做日志文件形成归档日志文件,以使数据库能进行完全恢复。

●PMON

PMON是进程监控程序,清除失败用户的进程,负责清理内存存储区和释放该进程所使用的资源。每个实例仅有一个PMON。1.3.4Oracle逻辑结构

逻辑结构是从数据库使用者的角度来考察数据库的组成,Oracle数据库的逻辑结构如图1-7所示。

从图1-7可以看出,Oracle数据库的逻辑结构分数据块、数据区间、数据段、逻辑对象、表空间和数据库6层。图1-7Oracle数据库逻辑结构

1.数据块

Oracle数据块(DataBlock)是一组连续的操作系统块。分配数据库块大小是在Oracle数据库创建时设置的,数据块是Oracle读写的基本单位,是Oracle最基本的存储单位。在数据库缓冲区中的每一个块都是一个数据块,一个数据块不能跨越多个文件。数据块的大小一般是操作系统块大小的整数倍,这样可以避免不必要的系统I/O操作。从Oracle9i开始,在同一数据库中不同表空间的数据块大小可以不同。数据块的大小由初始化参数文件中的参数“DB_BLOCK_SIZE”和“DB_BLOCK_SIZE_n”指定。数据块结构主要包括:

●标题:包括块信息,如块地址、段类型等。

●表目录:包括有关表在该数据块中的行信息。

●行目录:包括有关在该数据块中行地址等信息。

●行数据:包括表或索引数据。一行可跨越多个数据块。●空闲空间:在数据块中预留空闲空间有两个用途,一是用于插入新的数据行,二是为更新数据行预留空间。能够对空闲空间产生影响的参数有“PCTFREE”和“PCTUSED”两个。“PCTFREE”参数是为块中行的更新预留的空闲空间的最小百分比,默认值为10。例如,假定在建表语句中指定了“PCTFREE”为20,则说明在该表的数据段内每个数据块的20%被作为可利用的空闲空间,用于更新已在数据块内存在的数据行,其余80%用于插入新的数据行。“PCTUSED”参数设置了数据块是否是空闲的界限。当数据块的使用空间低于“PCTUSED”的值时,此数据块标志为空闲,该空闲空间仅用于插入新的行。如果数据块已经达到了由“PCTFREE”所确定的上边界时,Oracle就认为此数据块已经无法再插入新的行。例如,假定在建表语句中指定“PCTUSED”为40,则当小于或等于39时才能向该数据块插入新的数据行。“PCTFREE”和“PCTUSED”参数值之和不能超过100。如何设置“PCTFREE”和“PCTUSED”的值请读者参考其他相关资料。

2.数据区间

数据区间也称为数据区(Extent),简称为区,是一组连续的数据块。当一个表、回滚段或临时段创建或需要附加空间时,系统总是为之分配一个新的数据区。一个数据区不能跨越多个文件,因为它包含连续的数据块。使用区的目的是用来保存特定数据类型的数据,也是表中数据增长的基本单位。在Oracle数据库中,分配空间就是以数据区为单位的。一个Oracle对象包含至少一个数据区。设置一个表或索引的存储参数包含设置它的数据区大小。设置数据区的主要参数包括:

● INITIAL:段建立时分配的第一个区的大小。

● NEXT:段内分配的下一个增量区大小。

● MAXEXTENTS:分配给段的区总数。

● MINEXTENTS:建立段时分配的区的总数,也就是段的最小区数量。

● PCTINCREASE:为段分配的每个增量区超过上一个区的百分比。

● INITRANS:为初始数量的DML事务条目(并发访问数据块中的行)保留的预分配空间数量。

● MAXTRANS:当多个事务同时访问同一数据块的行时,为数据块中每个DML事务的条目分配的空间。

3.数据段

数据段简称为段(Segment),是由多个数据区构成的,它是为特定的数据库对象(如表段、索引段、回滚段、临时段)分配的一系列数据区。段内包含的数据区可以不连续,并且可以跨越多个文件。使用段的目的是用来保存特定对象。一个Oracle数据库有4种类型的段:

●数据段:也称为表段,它包含数据并且与表和簇相关。当创建一个表时,系统自动创建一个以该表的名字命名的数据段。

●索引段:包含了用于提高系统性能的索引。一旦建立索引,系统自动创建一个以该索引的名字命名的索引段。

●回滚段:包含了回滚信息,并在数据库恢复期间使用,以便为数据库提供读入一致性和回滚未提交的事务,即用来回滚事务的数据空间。当一个事务开始处理时,系统为之分配回滚段,回滚段可以动态创建和撤销。系统有默认的回滚段,其管理方式既可以是自动的,也可以是手工的。●临时段:它是Oracle在运行过程中自行创建的段。当一个SQL语句需要临时工作区时,由Oracle建立临时段。一旦语句执行完毕,临时段的区间便退还给系统。

由上面的介绍可知,一个数据段由1个或多个数据区组成,一个数据区由1个或多个数据块组成,数据段、数据区、数据块之间的关系如图1-8所示。图1-8Oracle数据段、数据区和数据块之间的关系

4.逻辑对象

逻辑对象是指用户可操作的数据库对象。Oracle系统中包括表、索引、视图、簇、数据库链接、同义词、序列、触发器、过程、函数等数据库对象。

在企业管理器中选择“管理”,出现Oracle数据库管理的所有对象,“方案”框中显示出Oracle数据库中所有方案,如图1-9所示。图1-9Oracle数据库的逻辑对象在Oracle数据库中,所有的数据库对象并不是随意地存储在数据库中,Oracle数据库通过使用“方案”来组织和管理数据库对象。方案也称为模式,但在企业管理器中都显示为方案,所以下面就以方案来介绍。

所谓方案就是一系列数据库对象的集合,是数据库中存储的数据的一个逻辑表示或描述。在Oracle数据库中,每个用户都拥有自己的方案。创建了一个用户,就创建了一个同名的方案,方案与数据库用户是一一对应的,但在其他关系型数据库中两者不是一一对应的,所以方案和用户是两个完全不同的概念,要注意加以区分。在默认情况下,一个用户所创建的所有数据库对象均存储在自己的方案中,这样两个不同的用户就可以在自己的方案下创建同名的数据库对象了。

当用户在数据库中创建了一个方案对象后,这个方案对象默认地属于这个用户的方案,用户对自己的方案对象拥有全部的权限,包括查询、插入、删除、修改等,而其他用户必须经过授权才能访问其他方案的对象。当用户访问自己方案的对象时,在对象名前可以不加方案名。但是,如果其他用户要访问该用户的方案对象,必须在对象名前加方案名。

例如,“ygbx_user”用户创建了一个表“staff”,如果“ygbx_user”用户查询此表数据时,可以写成:

SELECT*FROMstaff;

但是,如果其他用户查询此表数据时,必须写成:

SELECT*FROMygbx_user.staff;

切换方案的方法为以其他用户登录到数据库,此时方案自动切换到新用户。

5.表空间

Oracle数据库是由若干个表空间构成的。任何数据库对象在存储时都必须存储在某个表空间中。表空间对应于若干个磁盘文件,即表空间是由一个或多个数据文件构成的。表空间相当于操作系统中的文件夹,也是数据库逻辑结构与物理文件之间的一个映射。每个数据库至少有一个表空间,表空间的大小等于所有从属于它的数据文件大小的总和。

在企业管理器中选择“管理”\“存储”\“表空间”,将出现当前数据库的所有表空间界面,如图1-10所示。图1-10当前数据库的表空间在Oracle10g中有以下几种比较特殊的表空间:

●系统表空间(SYSTEM):是每个Oracle数据库都必须具备的。其功能是在系统表空间中存放诸如表空间名称、表空间所含数据文件等数据库管理所需的信息。系统表空间的名称是不可更改的。系统表空间必须在任何时候都是可用的,也是数据库运行的必要条件。因此,系统表空间是不能脱机的。

系统表空间包括数据字典、存储过程、触发器和系统回滚段。为避免系统表空间产生存储碎片以及争用系统资源的问题,在开发数据库应用时,一般创建一个独立的表空间用来单独存储用户数据。●SYSAUX表空间:是随着数据库的创建而创建的,它充当SYSTEM的辅助表空间,主要存储除数据字典以外的其他对象。SYSAUX也是许多Oracle数据库的默认表空间,它减少了由数据库和DBA管理的表空间数量,降低了SYSTEM表空间的负荷。

●临时表空间(TEMP):相对于其他表空间而言,临时表空间主要用于存储Oracle数据库运行期间所产生的临时数据。数据库可以建立多个临时表空间。当数据库关闭后,临时表空间中所有数据将全部被清除。除临时表空间外,其他表空间都属于永久性表空间。●撤销表空间(UNDOTBS):用于保存Oracle数据库撤销信息,该表空间也称为回滚表空间。

●样本表空间(EXAMPLE):用于保存样本方案的所有对象。

●用户表空间(USERS):用于存储永久的用户对象和数据。

在Oracle10g中初始创建的只有SYSTEM、SYSAUX、TEMP、UNDOTBS1、USERS和EXAMPLE6个表空间。

6.数据库

数据库由若干个表空间构成。

数据库、表空间及数据文件之间的对应关系如图1-11所示。

实际上,一个数据库可以有多个表空间,一个表空间可以有多个表,一个表可以有多个段,一个段可以有多个区间,一个区间可以有多个数据块。图1-11数据库、表空间及数据文件之间的关系1.3.5Oracle物理结构

物理结构是从数据库设计者的角度来考察数据库的组成的。Oracle数据库的物理结构如图1-12所示。图1-12Oracle数据库的物理结构从图1-12可以看出,Oracle数据库的物理结构分物理块、物理文件和数据库3层。

1.物理块

物理块是操作系统分配的基本存储单位,逻辑结构中的数据块由若干个物理块构成。

2.物理文件

物理文件由若干个物理块构成,包括数据文件、控制文件和日志文件等。一个物理文件对应着操作系统的一个文件。

在操作系统中选择<Oracle安装路径>\Oradata\<数据库实例名>,例如,“f:\oracle\produce\10.1.0\oradata\ygbx”,出现当前数据库的物理文件窗口,如图1-13所示。图1-13当前数据库的物理文件注意:Oracle的物理文件存储在数据库服务器上,在客户端看不到。●数据文件

数据文件实际上就是一个物理磁盘文件,用于存放所有对象和数据。一个Oracle数据库包括一个或多个数据文件,一个表空间对应着一个或多个数据文件。在Oracle中,默认为每个表空间创建一个数据文件,数据文件的扩展名默认为“.DBF”。

在企业管理器中选择“管理”\“存储”\“数据文件”,出现当前数据库的数据文件界面,如图1-14所示。

图1-14中显示数据文件的名称、所属表空间、状态、大小和已使用空间大小及空间利用率等信息。

注意:此时数据文件的路径和名称与图1-13中物理文件的路径和名称一致。图1-14当前数据库的数据文件●日志文件

日志文件又称为重做日志文件,是一类特殊的操作系统文件。日志文件是用来记录事务对数据库的更新操作的文件,每个事务开始的标记、每个事务结束的标记和每个事务更新操作均作为日志文件中的一个日志记录存储在日志文件中,以便恢复数据库使用。

在Oracle中,以重做日志组的形式管理日志文件,一个或多个日志文件构成一个重做日志组,为了保证数据库的安全,一般情况下对同一重做日志组的日志文件形成镜像,即将同一重做日志组的多个日志文件存储到不同的物理磁盘,以保证当某一物理磁盘发生故障时,可以利用其他物理磁盘上的日志文件恢复数据库。由此可见,同一重做日志组的日志文件大小相等、内容相同。在Oracle中,重做日志组是以循环方式工作的,因此每个数据库至少有两个重做日志组,按组号大小排列。某一时刻只有一个重做日志组是工作的,即在线状态(Current),其余的重做日志组为等待状态(Inactive)。当在线重做日志组的日志文件被写满时,自动进行日志切换,由当前重做日志组切换到下一个重做日志组,当前重做日志组处于等待状态时,下一个重做日志组处于在线状态。多个重做日志组之间处于循环工作状态,即按组号切换。如果当前在线重做日志组的组号为2,则下一个在线重做日志组的组号为3;如果当前在线重做日志组为最大组号,则下一个在线重做日志组的组号为1。在Oracle中,默认为每个数据库建立了3个重做日志组,每个重做日志组中包含一个日志文件,它们分别是“REDO01.LOG”、“REDO02.LOG”和“REDO03.LOG”,日志文件的扩展名为“.LOG”。

在企业管理器中选择“管理”\“存储”\“重做日志组”,出现当前数据库的重做日志组界面,如图1-15所示。图1-15当前数据库的重做日志组图1-15中显示重做日志组的状态、组号、组内日志文件个数、是否产生归档日志和大小等信息。

如果要查看重做日志组中日志文件的信息,则在图1-15中选中某个重做日志组,单击“视图”按钮,出现当前重做日志组的日志文件界面,如图1-16所示。

图1-16中显示当前重做日志组的日志文件的名称和路径信息。

注意:此时日志文件的路径和名称与图1-13中物理文件的路径和名称一致。图1-16当前重做日志组的日志文件●归档日志文件

Oracle数据库有归档模式和非归档模式两种工作模式。

在企业管理器中选择“主目录”\“高可用性\“正在归档”,将出现Oracle数据库的工作模式设置界面,如图1-17所示。图1-17Oracle数据库的工作模式★归档模式(Archivelog):又称为全恢复模式,将保留所有的重做日志内容。如果数据库工作在归档日志模式下,那么当“REDO03.LOG”写满后又回头向“REDO01.LOG”中写入时,“REDO01.LOG”以前的日志文件内容将全部保留备份,形成归档日志文件,这样数据库可以从所有类型的失败中恢复,是最安全的数据库工作方式。

如果在图1-17中选中“ARCHIVELOG”复选框,则数据库处于归档工作模式,否则数据库处于非归档工作模式。

在企业管理器中选择“管理”\“存储”\“归档日志”,出现当前数据库的归档日志文件界面,如图1-18所示。图1-18当前数据库的归档日志文件图1-18的结果列表中显示当前数据库归档日志文件的名称、路径和归档时间等信息。

注意:当前数据库没有归档日志文件,如果有,此时归档日志文件的路径和名称与图1-17中设置的归档日志文件路径和名称一致。

★非归档模式(NoArchivelog):将不保留以前的重做日志内容。如果数据库工作在非归档模式下,那么当“REDO03.LOG”写满后又回头向“REDO01.LOG”中写入时,“REDO01.LOG”以前的日志文件内容将被覆盖,这样一旦数据库出现故障后,就只能根据日志文件中记载的内容进行部分恢复。●控制文件

控制文件是一个很小的二进制格式的操作系统文件,存放了与Oracle数据库有关的数据库名称、数据库中数据文件和日志文件的名称以及物理位置、数据库创建的时间、当前日志序列号等信息。数据库的物理结构由控制文件维护,控制文件记录数据库中所有文件的控制信息,用以维护数据库内部的一致性并引导恢复操作,对数据库至关重要。在Oracle系统中,默认为每个数据库建立了3个控制文件,它们分别是“CONTROL01.CTL”、“CONTROL02.CTL”和“CONTROL03.CTL”。这三个文件是镜像文件,它们的扩展名为“.CTL”。这些控制文件的路径和文件名由初始化参数文件中的参数“CONTROL_FILES”指定。

在企业管理器中选择“管理”\“存储”\“控制文件”,出现当前数据库的控制文件界面,如图1-19所示。

图1-19中显示当前数据库控制文件的名称和路径信息。

注意:此时控制文件的路径和名称与图1-13中物理文件的路径和名称一致。图1-19当前数据库的控制文件

3.数据库

物理上的数据库就是由各种操作系统文件组成的体系。

Oracle物理结构和逻辑结构是从不同的角度划分的,实际上真正存在的只有一个数据库,它们之间的关系如图1-20所示。图1-20数据库各种结构与数据库三级模式之间的关系1.4数据字典1.4.1概述数据字典是Oracle数据库的“信息中心”,它是由一系列SYS用户所拥有的数据库对象(包括一系列基础表和动态性能视图等)构成的,保存着关于数据库系统自身以及其中存储的所有数据库对象的信息。在Oracle数据库运行期间,需要随时访问这类信息,Oracle从数据字典中读取信息,来判断用户要求访问的对象是否存在。同时,当用户对数据库结构、对象结构做出修改时,Oracle向数据字典中写入相应的修改信息。Oracle数据库自动维护数据字典,不需要DBA的参与。

Oracle数据字典中涉及的信息如表1-1所示。1.4.2查看数据字典

要想查看数据库的全部信息,应该以具有DBA权限的用户和SYSDBA身份登录,否则有些数据字典视图是不允许查看的。

使用命令方式查看数据库信息的方法就是在SQL*Plus或iSQL*Plus环境下利用操作命令查看数据库信息。利用DESC命令可以查看数据字典的结构,SELECT命令可以查看数据字典的数据。

1.查看数据库信息

数据库信息存储在V$DATABASE动态性能视图中,查看V$DATABASE动态性能视图结构命令如下:

DESCV$DATABASE;

执行结果为由于字段太多,在此就不一一罗列了。V$DATABASE动态性能视图中存储着数据库的名称(NAME)、数据库当前检查点号(CHECKPOINT_CHANGE#)、创建时间(CREATED)、归档模式(LOG_MODE)等信息,当前检查点号与数据库的同步有关。要想查看某个数据库的信息,用SELECT语句即可。【例1.1】查看当前数据库“YGBX”的一些信息。

SELECTNAME,CHECKPOINT_CHANGE#,CREATED,LOG_MODE

FROMV$DATABASEWHERENAME=‘YGBX’;

执行结果为

从本例可以看出,数据库名称为“YGBX”,处于非归档模式,数据库的当前检查点号为“892653”,数据库于“2007年7月3日”创建。

注意:如果查看的数据库为当前数据库,则“WHERENAME='YGBX'”可以省略。

2.查看数据文件信息

数据文件在创建数据库或表空间时创建,在数据字典中包含数据文件信息的动态性能视图主要有V$DATAFILE、V$DATAFILE_HEADER、DBA_DATA_FILE等。查看V$DATAFILE动态性能视图结构命令如下:

DESCV$DATAFILE;

执行结果为由于字段太多,在此就不一一罗列了。V$DATAFILE动态性能视图中存储着数据文件编号(FILE#)、数据库文件的名称(NAME)、数据文件状态(STATUS)、数据文件当前检查点号(CHECKPOINT_CHANGE#)等信息。要想查看数据文件的信息,用SELECT语句即可。【例1.2】查看当前数据库“YGBX”包含的数据文件信息。

SELECTFILE#,NAME,STATUS,CHECKPOINT_ CHANGE#FROMV$DATAFILE;

执行结果为从本例可以看出,员工医疗保险数据库“YGBX”共有6个数据文件,结果中列出了数据文件的存储路径和文件名,“ONLINE”表示数据文件正在被使用,“SYSTEM”表示是系统数据文件,数据文件与数据库的当前检查点号一致,数据库处于同步状态。

3.查看日志文件信息

在创建数据库时缺省创建3个重做日志组,每组中有一个日志成员。在数据字典中包含重做日志文件信息的动态性能视图有V$LOG、V$LOGFILE、V$LOG_HISTORY等。查看V$LOG动态性能视图结构命令如下:

DESCV$LOG;

执行结果为

V$LOG动态性能视图中存储着日志文件组编号(GROUP#)、日志文件组成员数(MEMBERS)、日志文件组状态(STATUS)、归档模式(ARCHIVED)等信息。要想查看日志文件组的信息,用SELECT语句即可。【例1.3】查看当前数据库“YGBX”的日志文件组信息。

SELECTGROUP#,MEMBERS,ARCHIVED,STATUSFROMV$LOG;

执行结果为从本例可以看出,员工医疗保险数据库“YGBX”中有3个日志文件组,每个日志文件组只有1个成员,3个日志文件组均处于非归档模式,日志文件组1处于“CURRENT”即激活状态,日志文件组2、3处于“INACTIVE”即非工作状态。

查看V$LOGFILE动态性能视图结构命令如下:

DESCV$LOGFILE;

执行结果为

V$LOGFILE动态性能视图中存储着日志文件组编号(GROUP#)、日志文件状态(STATUS)、类型(TYPE)、日志文件路径和文件名(MEMBER)等信息。要想查看日志文件的信息,用SELECT语句即可。【例1.4】查看当前数据库“YGBX”日志文件的信息。

SELECT*FROMV$LOGFILE;

执行结果为

从本例可以看出,员工医疗保险数据库“YGBX”中有3个日志文件组,每个日志文件组只有1个日志文件,3个日志文件均在线,而且列出了日志文件的路径和文件名。

4.查看控制文件

在创建数据库时缺省创建3个控制文件,在数据字典中包含控制文件信息的动态性能视图有V$CONTROLFILE、V$CONTROLFILE_RECORD_SECTION等。查看V$CONTROLFILE动态性能视图结构命令如下:

DESCV$CONTROLFILE;

执行结果为

V$CONTROLFILE动态性能视图中存储着控制文件状态(STATUS)、名称(NAME)等信息。要想查看控制文件的信息,用SELECT语句即可。

【例1.5】查看当前数据库“YGBX”控制文件的详细信息。

SELECT*FROMV$CONTROLFILE;

执行结果为

从本例可以看出,员工医疗保险数据库“YGBX”中有3个控制文件,而且列出了控制文件的路径和文件名,3个控制文件处于镜像状态,所以3个控制文件一直处于工作状态。1.5基于Oracle的数据库应用的开发步骤本书编写过程中力求与实际项目开发过程相一致,根据多个实际项目开发的经验,总结出基于Oracle数据库应用系统的基本开发步骤如下:

(1)需求分析,确定系统功能和数据字典,根据Oracle数据库系统的特点,确定系统的数据库。

(2)创建应用系统数据库,为应用系统数据库配置应用系统表空间和数据文件。

(3)为了系统的安全性,创建应用系统开发与使用的用户,并且为不同级别的用户授予不同的权限。

(4)在应用系统表空间中创建表、索引、视图、序列、同义词等基本数据库对象。

(5)为了提高系统数据处理速度,进一步减少网络数据流量,在数据库服务器上创建存储函数、存储过程、触发器等各种高级数据库对象。

(6)编写前台应用程序脚本,同时进一步修改已有的数据库对象或创建新的数据库对象,以完善整个应用的数据库系统。

另外,在介绍存储函数、存储过程和触发器等高级数据库对象前应先学会PL/SQL的基础知识。

根据基于Oracle数据库应用的基本开发步骤和Oracle数据库的特点,本书以“员工医疗保险系统”案例的开发为主线组织内容,一步一步完善“员工医疗保险系统”数据库。1.6小结本章对Oracle公司及数据库系统体系结构作了介绍,重点介绍了Oracle数据库的各种结构。通过本章的学习,读者应该了解以下内容:

(1) Oracle数据库实质上就是一个数据的集合,它为用户提供一种并发访问数据的途径。从物理上看,Oracle数据库实质上是由一组落实到磁盘的操作系统文件构成,这组文件包含数据文件、控制文件、重做日志文件等。通过这组数据库文件,Oracle为数据集合提供一套物理存储的机制,物理磁盘上的各种数据库文件以Oracle数据库逻辑结构的形式提供给用户使用,用户通过创建数据库、表空间、各种逻辑对象及为它们指定相应的存储参数与物理数据库有机地结合在一起。

(2)实例是Oracle为数据集合提供的一套动态访问物理数据库的内存机制。一个实例就是一套特殊的、由Oracle建立起来的内存结构和后台进程的集合,这些进程和内存结构提供的资源被所有用户所共享。

(3)通过企业管理器和系统提供的数据字典可以查看Oracle数据库的各种结构。习题与思考题

1.试述Oracle系统的特点。

2.试述Oracle数据库系统的内存结构和进程结构。

3.Oracle数据库的逻辑结构包括什么内容?

4.Oracle数据库的物理结构包括什么内容?

5.什么是Oracle的数据字典?写出利用数据字典查看数据库、数据文件、日志文件、控制文件的SQL命令。

6.通过各方面的收集,请给出一些Oracle应用案例和与Oracle相关的1~2个网站地址。实践1Oracle10g的安装与配置及常用工具的使用实践目的

(1)掌握Oracle10g数据库的安装与配置过程。

(2)掌握Oracle

10g企业管理器、SQL*Plus和iSQL*Plus的使用方法。实践要求

(1)记录安装过程中遇到的问题及解决方法。

(2)记录利用企业管理器查看当前数据库内存结构、进程结构、数据文件、控制文件、重做日志组、日志文件、初始化参数的方法。

(3)记录利用SQL*Plus和iSQL*Plus查看数据库、数据文件、控制文件、重做日志组、日志文件、初始化参数的命令。

(4)记录当前数据库各种文件的物理存储路径和已启动的服务。实践指导一、安装前的准备工作

1.产品的分类

Oracle的产品有多种,每种产品的版本也有所不同。目前,最新版本是Oracle10g。本书以OracleDatabase10g作为讨论环境。按照功能结构,可以将Oracle10g主要产品划分为如下几类:

(1)数据库产品:OracleDatabase10g,主要用于存储和处理数据,大小为655025354字节,约661MB。

(2)客户端产品:OracleDatabase10gClient,提供客户端与数据库之间的连接和管理等,产品大小为475090051字节,约470MB。

(3)企业管理产品:OracleEnterpriseManager10gGridControl,主要包括Oracle管理代理(OMA,OracleManagementAgent)、Oracle管理服务(OMS,OracleManagementService)、Oracle管理资料档案库(OMR,OracleManagementRepository)和Oracle企业管理器(OEM,OracleEnterpriseManager10g)网格控制台等。它是系统多层体系结构和网格计算环境不可或缺的管理工具,该产品大小为1729778063字节,约1.64GB。

(4)中间件产品:OracleApplicationServer10g和OracleCollaborationSuite10g。前者提供了基本的Web服务环境,也是运行企业管理器的基础;后者则利用关系数据库来降低软硬件及管理成本,从而简化商务通信并整合信息。

(5)开发工具:OracleDeveloperSuite10g和OracleJDeveloper10g,它们是数据库设计和实施的适用工具,可完成从概念设计到逻辑设计和物理设计的全过程。Oracle10gJDeveloper则为当前Web应用提供了一个非常便利且完整的J2EE集成开发环境。由于Oracle数据库是业界第一个完全支持Java的数据库,因此OracleJDeveloper10g也是最佳的数据库应用开发工具,它支持B/S结构以及多层结构的系统。目前,许多公司都用OracleJDeveloper开发各种J2EE应用程序。

2.产品的获取

目前,Oracle9i和Oracle10g产品拥有庞大的用户群,可以直接从Oracle的官方网站下载软件,网址是/technology/software。官方免费软件与购买的正版软件是有区别的,主要区别在于Oracle所能够支持的用户数量、处理器数量以及磁盘空间和内存的大小。Oracle提供的免费软件主要针对的是学生和中小型企业等,目的是使他们熟悉Oracle,占领未来潜在的市场。另外,当Oracle安装完成以后,还需要到OracleMetaLink网站下载最新的补丁包,网址是。只有购买正版Oracle产品并获得授权许可的用户才拥有注册码并可以登录该网站。若用户使用下载的软件则不能得到Oracle公司的技术支持,而且一旦被发现使用未经授权许可的Oracle产品,由此所付出的代价比购买正版软件所付出的要大得多。同时,从Oracle官方网站的下载许可协议中也可以看到,以下载方式得到的软件产品只能用于学习和培训等,不得用于商业目的。所以,企业应使用正版的Oracle软件。

3.安装环境

在安装OracleDatabase之前,必须明确系统安装所需要的条件。

1)硬件环境

安装Oracle10g数据库的硬件需求如表1-2所示。在上述需求中,处理器的速度和内存大小直接影响着Oracle运行的速度。所以建议硬件配置越高越好。一般地,服务器配置应高于客户端配置,而且配置越高安装速度越快。

2)软件环境

安装Oracle10g数据库的软件需求如表1-3所示。二、安装OracleDatabase10g

1.安装前准备工作

(1)仔细阅读联机文档,确保当前安装环境能够满足安装需求。

(2)如果系统曾安装过Oracle,则卸载Oracle_Home环境变量。

(3)若当前已经安装了一个Oracle并想重新安装,则要停止所有的Oracle服务。操作步骤是:打开Windows系统的“控制面板”\“管理工具”\“服务”,停止以“Oracle”开头的所有服务。否则,在安装Oracle过程中将出现错误信息。

(4)为了保证系统安装顺利完成,建议将OracleDatabase10g的安装光盘全部复制到硬盘的一个目录下。

(5)注意,OracleDatabase10g在启动时会自动检测系统的环境是否满足安装要求,如果满足条件,则创建安装文件并继续安装,否则拒绝安装。

2.安装步骤

单击安装程序目录中的“setup.exe”,启动安装程序后,出现安装方式选择窗口,如图1-21所示。图1-21Oracle10g安装方式选择窗口系统默认是“基本安装”,但默认方式下管理用户的密码是相同的,为了改正这个缺点,这里选择“高级安装”,单击“下一步”按钮,出现指定文件位置窗口,如图1-22所示。图1-22指定文件位置窗口“源”为安装文件所在路径,不做修改,“目标”为要将Oracle安装的程序组和路径,“名称”为程序组名,为通过开始菜单调用程序时程序所在的组,“路径”为程序的安装路径,设置完成后单击“下一步”按钮,出现加载产品信息窗口,如图1-23所示。图1-23加载产品信息窗口产品信息加载完成后自动出现安装类型选择窗口,如图1-24所示。

选中“企业版”,单击“下一步”按钮出现分析相关性窗口,如图1-25所示。

相关性分析完成后自动出现选择数据库配置窗口,如图1-26所示。

选中“通用”,单击“下一步”按钮出现指定数据库配置选项窗口,如图1-27所示。图1-24安装类型选择窗口图1-25分析相关性窗口图1-26选择数据库配置窗口图1-27指定数据库配置选项窗口全局数据库分为两个部分,格式为“数据库名.域名”。其中“域名”与网络中的域名相同,同一个域中只能有惟一的数据库名,不同的域中则可以有相同的数据库名。在图1-27中,输入“ygbx”作为全局数据库名,不输入域名。此时,Oracle系统标识符SID自动设置为与数据库名相同的名字,一般不用更改。单机环境下,不必输入域名。如果输入了不同的域名,数据库名却相同,则系统会因为单机的缘故拒绝建立两个相同的SID。在字符集的选择上要特别注意,应选择适合应用环境的字符集。在实际应用中,有时会由于Oracle数据库选择的字符集与相关系统的字符集不一致,或前端应用程序开发工具选择的字符集与后台Oracle数据库服务器的字符集不同,造成数据通信或显示时出现乱码现象,所以需要特别重视字符集的选择。如果数据库需要同时处理多种语言文字,如朝鲜语、日语、德语、汉语和英语等,可选择“Unicode(AL32UTF8)”作为字符集。注意,Oracle数据库服务器的字符集与操作系统的字符集是相互独立的。要改变字符集,可选择“选择数据库字符集”来改变。若选中“创建带样本方案的数据库”,则在创建数据库的同时安装样本方案,单击“下一步”按钮出现选择数据库管理选项窗口,如图1-28所示。图1-28选择数据库管理选项窗口不做修改,单击“下一步”按钮出现指定数据文件存储选项窗口,如图1-29所示。

选中“文件系统”,在“指定数据库文件位置”中输入数据库文件的存储路径,单击“下一步”按钮出现指定备份和恢复选项窗口,如图1-30所示。

不做修改,单击“下一步”按钮出现指定数据库方案的口令窗口,如图1-31所示。图1-29指定数据文件存储选项窗口图1-30指定备份和恢复选项窗口图1-31指定数据库方案的口令窗口在窗口中逐一为给定用户输入口令,且牢记每个用户的口令以备以后使用,单击“下一步”按钮出现概要窗口,如图1-32所示。

概要窗口为前面各步安装选择总览,如果要修改前面的设置,单击“上一步”按钮回到前面的设置窗口修改选择即可,否则单击“下一步”按钮出现安装进程窗口,如图1-33所示。

安装过程主要包括复制文件、设置和配置3步,设置完成后系统自动出现配置助手窗口,如图1-34所示。图1-32概要窗口图1-33安装进程窗口图1-34配置助手窗口配置助手主要完成“网络配置(OracleNetConfigurationAssistant)”、“iSQL*Plus配置(iSQL*PlusConfigurationAssistant)”、“数据库配置(OracleDatabaseConfigurationAssistant)”三项工作,三项工作完成后系统将自动开始数据库的创建,出现数据库配置窗口,如图1-35所示。

数据库配置主要完成文件复制、创建并启动例程、创建数据库3项工作,完成后系统自动出现数据库概要窗口,如图1-36所示。图1-35数据库配置窗口图1-36数据库概要窗口数据库概要窗口中是刚刚创建的数据库的基本信息,单击“口令管理”按钮,出现口令管理窗口,如图1-37所示。

在口令管理窗口中为一些用户解锁,且为他们指定口令,单击“确定”按钮出现安装结束窗口,如图1-38所示。

窗口中列出“EnterpriseManager10gDatabaseControl”和“iSQL*Plus”等工具的URL,单击“退出”按钮结束安装。图1-37口令管理窗口图1-38安装结束窗口三、Oracle数据库文件目录结构

OracleDatabase10g安装完成后,其目录结构与Oracle9i有很大不同。在OracleDatabase10g中,Oracle的目录结构是由Oracle_Base及其子目录Oracle_Home、admin、flash_recovery_area和oradata目录构成的。为方便讨论,用Oracle_Base代表Oracle目录树的根,用Oracle_Home表示根目录下的主目录。

1.Oracle_Base目录

Oracle_Base代表Oracle目录树的根。本书中Oracle_Base是指“F:\oracle\product\10.1.0”。

2.Oracle_Home目录

Oracle_Home主目录位于Oracle_Base之下,它包含与Oracle软件运行有关的子目录和网络文件以及选定的组件等。若在主机上第一次且只安装了Oracle数据库没有其他Oracle产品,则使用默认的主目录“\db_1”;如果在同一台主机的同一个根目录下安装多个产品或是第2次安装,则Oracle_Home主目录会以“db_n”的形式出现,即“db_2”、“db_3”等。这也是为什么在Oracle_Base目录可以有多个Oracle_Home目录的缘故。

Oracle_Home目录中包括的主要子目录有:

●\BIN——主要包含用于数据库管理的各种命令等。

●\css——与OracleClusterSynchronization服务有关的文件。

●\database——存放数据库服务器端的参数文件SPFILE。

●\demo——存放数据库实例模式的脚本等。

●\install——用于存储Oracle安装后的端口号,iSQL*Plus以及EnterpriseManagerDatabaseControl启动并登录的方式等。

●\network\admin——有关监听文件listener.ora和sqlnet.ora以及命名解析文件tnsnames.ora等。

●\sysman\config——用于与OracleEnterpriseManagement有关的端口管理等。

3.admin目录

数据库管理文件均存储在oracle_base\admin\db_name目录下。各个子目录的主要含义如下:

●\bdump——后台进程跟踪文件。

●\cdump——信息转储文件(coredump)。

●\create——数据库创建文件。

●\exp——数据库导出文件。

●\pfile——初始化参数文件。

●\udump——用户SQL追踪文件。

4.Oradata目录

数据库文件存储在“Oracle_Base\oradata\db_name”目录下,该目录主要存储数据库的控制文件、数据文件、重做日志文件。其中,扩展名为“.dbf”的文件为对应数据库中每个表空间的数据文件;扩展名为“.ctl”的文件为数据库的控制文件;扩展名为“.log”文件对应重做日志文件组及其成员。

5.flash_recovery_area目录

“flash_recovery_area”目录存储并管理与备份和恢复有关的文件。它包含系统中每个数据库的子目录,可用于存储与恢复有关的文件,如控制文件、联机重做日志副本、归档日志、闪回日志以及Oracle数据库恢复管理器(RMAN)备份等。四、OracleDatabase10g安装后的基本环境与服务

了解和掌握OracleDatabase10g安装后的程序组、与数据库服务器相关的服务,对正确使用和深入掌握Oracle技术是十分重要的。

1.安装后的程序组

OracleDatabase10g安装后的程序组为“Oracle_OraDb10g_home1”,其包括:

●OracleInstallationProducts。

●集成管理工具。

●配置和移植工具。

●应用程序开发。

1) OracleInstallationProducts

OracleInstallationProducts主要包括:通用安装器(UniversalInstaller)和通用安装程序概念指南。

2)集成管理工具

集成管理工具主要包括:

● OracleDirectoryManager:一个基于Java的管理工具,用于管理OracleInternetDirectory。

● WalletManager:WalletManager可创建加密的Oraclewallet,从而增强其安全性。

3)配置和移植工具

配置和移植工具主要包括:

● AdministrationAssistantforWindows:可用于管理数据库的实例和管理员角色等。

● DatabaseConfigurationAssistant:数据库配置助手,它可以创建数据库、在现有数据库中配置数据库选项、删除数据库和管理数据库模板。

● DatabaseUpgradeAssistant:数据库更新助手,帮助用户升级本地数据库。

● LocaleBuilder:OracleLocaleBuil

温馨提示

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

评论

0/150

提交评论