Oracle基础知识_第1页
Oracle基础知识_第2页
Oracle基础知识_第3页
Oracle基础知识_第4页
Oracle基础知识_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、Oracle 中文版 数据库基础知识数据库基础知识1教学要求n了解Oracle公司的发展史n了解Oracle数据库的发展历程和版本信息n掌握Oracle数据库的体系结构n了解Oracle数据库服务的工作原理2教学重点和难点n一、 Oracle数据库的体系结构n二、 Oracle Server 工作原理3ORACLE 简介4ORACLE介绍起源1977年6月,Larry Ellison与Bob Miner和Ed Oates在硅谷共同创办了一家名为软件开发实验室(Software Development Laboratories,SDL)的计算机公司(ORACLE公司的前身)。没多久,第一位员工B

2、ruce Scott)加盟进来。1 9 7 9 年 , S D L 更 名 为 关 系 软 件 有 限 公 司(Relational Software,Inc.,RSI),毕竟“软件开发实验室”不太像一个大公司的名字。1983年,为了突出公司的核心产品,RSI再次更名为 ORACLE。 5ORACLE介绍6ORACLE介绍Bruce Scott Larry Ellison 7ORACLE介绍发展n1984年软件市场的情形,在数据库市场上的霸主是Asnton-Tale公司,他们的拳头产品是刚推出不久的dBase III(确切的说dBase是PC上的数据库软件霸主),刚刚成为全球第三大的独立软件公

3、司(第一和第二分别是微软、Lotus,ORACLE在当时还排不上号),这一年,也是苹果公司Macintosh诞生的年度。n1986年3月12日,ORACLE公司以每股15美元公开上市,当日以20.75美元收盘,公司市值2.7亿美元。3月13日,微软以每股21美元的发行价上市,以28美元收市,公司市值达到7亿美元。远远超过了ORACLE。成功的光环下的微软和盖茨遮盖住了ORACLE和Ellison的光芒,可能这也是Ellison敌视微软的开始。 8ORACLE介绍发展nORACLE公司(即甲骨文公司)自86年推出版本5开始,系统具有分布数据库处理功能.88年推出版本6,ORACLE RDBMS(

4、V6.0)可带事务处理选项(TPO),提高了事务处理的速度.1992年推出了版本7,在ORACLE RDBMS中可带过程数据库选项(procedural database option)和并行服务器选项(parallel server option),1996年推出ORACLE8.0.6增加了表分区的功能,1998年推出了ORACLE8I,增加了对数据库的增强性管理、一起在数据库中存储对象等,2001年,推出了ORACLE9I,使数据库的操作更加的简便,增强数据的安全性,同时,能够对数据库的权限细分到ROW的级别,对数据库有着更好的控制,而且其主要面向WWW的应用,数据库功能得到非常强大的更新

5、。9ORACLE介绍发展n2003年9月8日,旧金山举办的ORACLE World大会上,Ellison宣布下一代数据库产品为“ORACLE 10g”。ORACLE应用服务器10g(ORACLE Application Server 10g)也将作为甲骨文公司下一代应用基础架构软件集成套件。“g”代表“grid ,网格”。何谓网格计算?网格计算可以把分布在世界各地的计算机连接在一起,并且将各地的计算机资源通过高速的互联网组成充分共享的资源集成。通过合理调度,不同的计算环境被综合利用并共享。ORACLE公司已经把这一次的“赌注”押在了网格计算的大市场上。但前景如何?让我们拭目以待。 10ORAC

6、LE介绍发展n2003年6月初,ORACLE突然宣布51亿美金收购商务软件公司仁科(PeopleSoft),业内再次震动。此举又一次露出ORACLE 一贯善于进攻的本性。n最终Oracle公司于2004年12月13日,与仁科公司达成协议,将以每股26.5美元的价格收购仁科股权,收购交易总值高达103亿美元 11前言:数据库与数据库管理员nOracle公司简介:公司简介:Oracle公司是全球最大的信息管理软件及服务供应商,成立于1977年,总部位于美国加州。 Oracle公司是全球领先的电子商务解 决方案供应商,也是全球第二大软件公司,在全世界145 个国家为客户提供数据库系统、工具、应用产品

7、以及相关 的咨询、培训和支持服务。财富100强中的98家公司都采用Oracle技术。 Oracle公司于1989年正式进入中国市场,是第一家进入 中国的世界软件巨头。1991年7月在北京建立了独资公 司,目前在国内设有北京、上海、广州、成都4个办事处。12前言:数据库与数据库管理员n数据库:数据库:是信息的载体,是一个服务于一个核心目标的数据有组织的是信息的载体,是一个服务于一个核心目标的数据有组织的集合。其系统主要包括:数据、硬件、软件和数据库用户。集合。其系统主要包括:数据、硬件、软件和数据库用户。n数据库管理员:数据库管理员:DataBase Administrator(DBA)其主要任

8、务是:其主要任务是:n了解了解ORACLE数据库的体系结构数据库的体系结构n安装并且升级数据库服务器和应用工具。安装并且升级数据库服务器和应用工具。n为数据库系统分配存储空间并规划存储空间。为数据库系统分配存储空间并规划存储空间。n启动和关闭数据库,管理和监控数据库用户。启动和关闭数据库,管理和监控数据库用户。n建立数据库,维护系统安全。建立数据库,维护系统安全。n控制并监视数据库用户对数据库的存取操作。控制并监视数据库用户对数据库的存取操作。n备份并恢复数据库。备份并恢复数据库。13Oracle市场价格(参考)nOracle9i/10g 企业级企业级25User 358,680nOracle

9、9i/10g 企业级企业级50User 717,360nOracle9i/10g 标准版标准版10User 64,00014Oracle 9i 简介nOracle 9i 的版本企业版:n构建安全可靠的、大容量的互联网应用和数据仓库,面向企业级应用。标准版n提供能够通过Web浏览器进行管理的高性能数据库服务,面向部门级应用。个人版n全功能单用户版本,面向开发技术人员。15nOracle体系结构决定了数据库如何使用内存、硬盘、cpu和网络。n一个Oracle server是由Oracle实例实例(instance)和数据库两部分组成。数据库两部分组成。n实例 = 内存结构 + 一组后台进程n一个

10、Oracle 数据库是一个数据单位的集合。 主要目的是为了储存和读取信息。Oracle 数据库可以分为逻辑结构逻辑结构和物理结构物理结构。Oracle 9i 的体系结构16Oracle数据库数据库表空间表空间逻辑对象(表、视图等)逻辑对象(表、视图等)数据区间数据区间索引段索引段数据段数据段数据块数据块数据块数据块物理文件物理文件物理块物理块索引区间索引区间NNNNN1111逻辑结构物理结构N1N1OracleOracle数据库基本结构数据库基本结构17逻辑结构n逻辑结构主要是从数据库使用者的角度考查数据库的组成。逻辑结构主要是从数据库使用者的角度考查数据库的组成。Oracle 数据库表空间视

11、图索引表回滚段临时段索引段数据段数据段数据区段数据块表空间表空间数据区段数据块数据库表空间逻辑对象数据区间数据段数据块18ORACLEORACLE的逻辑结构的逻辑结构nORACLEORACLE的逻辑结构是由一个或多个表空间组成。的逻辑结构是由一个或多个表空间组成。n 一个数据库由若干个表空间组成一个数据库由若干个表空间组成n 一个表空间由逻辑对象组成一个表空间由逻辑对象组成 n 一个逻辑对象由多个数据段组成一个逻辑对象由多个数据段组成 n 一个数据段由一批数据区间组成一个数据段由一批数据区间组成 n 一个数据区间由若干个连续的数据块组成一个数据区间由若干个连续的数据块组成n 一个数据库块对应一

12、个或多个物理块一个数据库块对应一个或多个物理块 19数据块n数据块(数据块(Data BlockData Block)是数据库使用的是数据库使用的I/OI/O最小单元,又称逻辑块或最小单元,又称逻辑块或ORACLEORACLE块。常用大小为块。常用大小为2KB2KB或者或者4KB4KB(是(是OSOS块的倍块的倍数)。数)。 n一个数据库块对应一个或多个物理块,块的大小由一个数据库块对应一个或多个物理块,块的大小由参数参数DB_BLOCK_SIZEDB_BLOCK_SIZE确定。确定。( init.ora )init.ora ) 20n区间(区间(ExtentExtent)是数据库存储空间分配

13、的逻辑单是数据库存储空间分配的逻辑单位,一个区间由一组数据块组成,区间是由段分位,一个区间由一组数据块组成,区间是由段分配的,分配的第一个区间称配的,分配的第一个区间称初始区间初始区间,以后分配,以后分配的区间称的区间称增量区间增量区间。n段(段(SegmentSegment)是表空间中一个指定类型的逻辑存是表空间中一个指定类型的逻辑存储结构,它由一个或多个区间组成,段将占用并储结构,它由一个或多个区间组成,段将占用并增长存储空间。增长存储空间。21回滚段回滚段 (Rollback Segment)存储为读一致存储为读一致 性、回滚或恢性、回滚或恢 复用数据复用数据临时段临时段 (Tempor

14、ary Segment)存储排序操作存储排序操作 期间建立的临期间建立的临 时表的数据时表的数据索引段索引段 (Index Segment)存储索引存储索引的所有数据的所有数据段的分类段的分类 数据段数据段 (Data SegmentData Segment)存储表存储表的所有数据的所有数据ORACLEORACLE的逻辑结构的逻辑结构 段段 22n表空间表空间(Table spaces)(Table spaces) 是数据库的逻辑组成部分,对应一个或多个数据文件,表空间的大小是它所对应的数据文件大小的总和。一个表空间表空间只能同时属于一个database。一个表空间表空间可能包含一个或多个段,

15、但段不能跨越表空间表空间; 23物理结构n 数据文件数据文件 n 日志文件日志文件 n 控制文件控制文件 n 参数文件参数文件24数据文件n数据文件(数据文件(Data FileData File)用于物理存储ORACLE数据库数据数据,如:系统数据、用户数据等。其特点如下:每一个数据文件只与一个数据库相联系。每一个数据文件只与一个数据库相联系。在在oracleoracle数据库中,至少要包含一个数据文件。数据库中,至少要包含一个数据文件。 当数据库空间不足时,数据文件具有自动扩展的特性。当数据库空间不足时,数据文件具有自动扩展的特性。一个或者多个数据文件构成数据库的逻辑存储单元叫做一个或者多

16、个数据文件构成数据库的逻辑存储单元叫做表空间表空间(table space).(table space). 数据库表空间逻辑数据文件物理25物理结构n数据库文件或数据文件它们是物理操作系统文件,它们包括诸如用户数据、系统数据等所有数据库数据数据文件中的数据以块为单位任何数据库创建时至少包含一个数据文件26重做日志文件n重做日志文件(重做日志文件(ReDo Log FileReDo Log File)记录所有对数记录所有对数据库数据的修改,以备恢复数据时使用。其特据库数据的修改,以备恢复数据时使用。其特点如下:点如下: 每一个数据库包含多个日志文件。每一个数据库包含多个日志文件。 日志文件以循环

17、方式进行写操作。日志文件以循环方式进行写操作。 每一个日志文件成员对应一个物理文件。每一个日志文件成员对应一个物理文件。工作模式为:归档模式和非归档模式工作模式为:归档模式和非归档模式27n日志切换(日志切换(Log SwitchLog Switch)是为实现日志文件是为实现日志文件的循环使用而设置的。的循环使用而设置的。n出现日志切换的情况如下:出现日志切换的情况如下:当一个日志文件被填满时当一个日志文件被填满时 关闭数据库时关闭数据库时 DBADBA手动转移日志开关手动转移日志开关28日志文件写操作图示日志文件写操作图示Log File 1 Log File 2 Member 2.1 Me

18、mber 1.1 29参数文件n参数文件(参数文件(Parameter FileParameter File)是一个文本文件,可直接是一个文本文件,可直接使用操作系统下的文本编辑器对其内容进行修改。该文件只使用操作系统下的文本编辑器对其内容进行修改。该文件只在建立数据库或启动实例时才被访问,在建立数据库或启动实例时才被访问,在修改该文件之前必在修改该文件之前必须关闭实例。须关闭实例。初始参数文件初始参数文件:init.ora init.ora 生成参数文件:生成参数文件:initinitSIDSID.ora.ora config.oraconfig.ora任意一个实例都对应一个初始化文件任意一

19、个实例都对应一个初始化文件init.ora,init.ora,它决定实例它决定实例的大小及组成参数的大小及组成参数. .30参数文件的作用n 确定存储结构的大小。确定存储结构的大小。 n 设置数据库的全部缺省值。设置数据库的全部缺省值。 n 设置数据库的区间。设置数据库的区间。 n 设置数据库的各种物理属性。设置数据库的各种物理属性。 n 优化数据库性能。优化数据库性能。31Parameter filesn在参数文件中包括大量影响Oracle数据库实例功能的设置。 。数据库控制文件的定位 。Oracle用来缓存从磁盘上读取的数据的内存数量 。Oracle 用来缓存SQL语句的执行计划,PL/S

20、QL过程和数据字典信息以便与它们不必从磁盘连续读取的内存的数量 。默认的优化程序的选择32Parameter files n和数据库文件相关,执行两个重要的功能:1为数据库指出控制文件2为数据库指出归档日志的目标33n参数文件中参数的数据类型: 整型参数 n 例:DB_BLOCK_SIZE = 2048 -数据块大小字符型参数n 例:DB_NAME = ora9 -数据库名称34控制文件n控制文件(控制文件(Control FileControl File)是一个较小的二进制文件,用于记录和维护数据库的物理结构。描述信息如下:描述信息如下: 数据库名称及创建时间。数据库名称及创建时间。 数据文

21、件的位置及大小。数据文件的位置及大小。 重做日志文件的位置及大小。重做日志文件的位置及大小。 日志序列号。日志序列号。要点注意:要点注意: 在打开和存取数据库时都访问在打开和存取数据库时都访问该文件。该文件。数据库至少包含一个控制文件。数据库至少包含一个控制文件。 镜像控制文件。镜像控制文件。 记录控制文件名及路径的参数记录控制文件名及路径的参数为:为: CONTROL_FILESCONTROL_FILES 35Control filen控制文件把Oracle引导到数据库文件的其它部分。启动一个实例时,Oracle 从参数文件中读取控制文件的名字和位置。安装数据库时,Oracle 打开控制文件

22、。最终打开数据库时,Oracle 从控制文件中读取数据文件的列表并打开其中的每个文件。36 参数文件参数文件控制文件控制文件控制文件控制文件日志文件日志文件日志文件日志文件数据文件数据文件数据文件数据文件每个控制文件的每个控制文件的内容是完全相同内容是完全相同指向控制文件指向控制文件控制文件指向数据和日志文件控制文件指向数据和日志文件37体系结构n物理结构物理结构 数据文件、日志文件、控制文件、参数文件 n系统全局区(系统全局区(System Global Area) 共享池、数据缓冲区、日志缓冲区 n进进 程程 用户进程、服务器进程、后台进程 38Oracle 9i的内存结构n使用计算机的内

23、存存放常用的信息和所有调度运行的程序。n系统全局区(SGA):由所有用户进程共享的一块内存区域。数据缓冲区:存储最近从数据库中读取出来的数据块重做日志缓冲区:记录事务共享池:程序高速缓冲区。n程序全局区(PGA)排序区会话信息堆栈空间39数据缓冲区数据缓冲区数据缓冲区(数据缓冲区(Database Buffer Cache)用于存储最近从数据库中读取出来的数据块。数据缓冲区 数据文件 DB_BLOCK_SIZE 确定数据块的大小,一般为2K或4K,对于大数据块的数据库,此参数值为物理块的倍数。 DB_nK_CACHE_SIZE 定义非标准数据块的大小。 40 重做日志缓冲区(重做日志缓冲区(R

24、edo Log Redo Log BufferBuffer)是由一条条重做记录组成,每条记录记载了被修改数据块的位置和变化后的数据。 LOG_BUFFER 确定日志缓冲区的大小。 日志缓冲区 日志文件 41n共享池:共享池:SQLSQL程序的高速缓冲区程序的高速缓冲区存放的是所有通过存放的是所有通过SQLSQL语法分析并准备执行语法分析并准备执行的的SQLSQL语句语句主要由库高速缓存和数据字典高速缓存组成主要由库高速缓存和数据字典高速缓存组成nSHARED_POOL_SIZE定义其大小42Oracle 9i的进程结构n用户进程:向服务器进程提出操作请求用户进程:向服务器进程提出操作请求当用户

25、运行一个应用程序时,就建立一个用户进程。当用户运行一个应用程序时,就建立一个用户进程。n后台进程:多进程系统中,使用的一些附加进后台进程:多进程系统中,使用的一些附加进程程为所有数据库用户异步完成各种事务。为所有数据库用户异步完成各种事务。n服务器进程:接受用户进程发出的请求并完成服务器进程:接受用户进程发出的请求并完成其相应的操作。其相应的操作。服务器进程主要包括:分析、优化和执行服务器进程主要包括:分析、优化和执行SQLSQL语句,将硬盘数语句,将硬盘数据读到系统全局区(据读到系统全局区(SGASGA),将),将SQLSQL语句的结果返回给用户进程,语句的结果返回给用户进程,完成系统的维护

26、等。完成系统的维护等。43后台进程主要的后台进程有主要的后台进程有 DBWR (Database Writer) DBWR (Database Writer) 数据库写进程数据库写进程 LGWR (Log Writer) LGWR (Log Writer) 日志写进程日志写进程 CKPTCKPT(Checkpoint processCheckpoint process)检查点写进程)检查点写进程 SMONSMON(System MonitorSystem Monitor) 系统监控进程系统监控进程 PMONPMON(Process MonitorProcess Monitor) 进程监控进程进

27、程监控进程 ARCHARCH(Archive ProcessArchive Process) 归档进程归档进程 RECO RECO 恢复进程恢复进程 LCKn LCKn 封锁进程封锁进程44nDBWR(Database Writer) 将数据缓冲区中所有修改过的缓冲块数将数据缓冲区中所有修改过的缓冲块数据写到数据文件中,并使用据写到数据文件中,并使用LRULRU算法算法(最近最少使用算法)来保持缓冲区中(最近最少使用算法)来保持缓冲区中的数据块为最近使用的,以减少的数据块为最近使用的,以减少I/OI/O次次数。该进程在启动实例时自动启动。数。该进程在启动实例时自动启动。通过设置通过设置DB_W

28、riter_processesDB_Writer_processes定定DBWRDBWR个数。个数。45nLGWR(Log Writer) 将日志缓冲区中的所有记录项写到日志文件中。将日志缓冲区中的所有记录项写到日志文件中。 该进程在启动实例时自动启动。该进程在启动实例时自动启动。LGWRLGWR进行写操作的情况:进行写操作的情况: n用户进程提交一个事务(用户进程提交一个事务(CommitCommit) n重做日志缓冲区达到重做日志缓冲区达到1/31/3区间区间 n在在DBWRDBWR进程将脏缓冲区写入到数据文件之前进程将脏缓冲区写入到数据文件之前 n出现超时(出现超时(3 3秒钟内未活动,

29、则进行一次写操作。)秒钟内未活动,则进行一次写操作。)nOracle总是总是“先日志后修改先日志后修改”。46n检查点(检查点(Checkpoint) : 在检查点出现期间,在检查点出现期间,DBWRDBWR进程将数据缓冲区进程将数据缓冲区中的所有脏缓冲块写到数据文件中,中的所有脏缓冲块写到数据文件中,LGWRLGWR将将日志缓冲区中的所有记录项写到日志文件中,日志缓冲区中的所有记录项写到日志文件中,以确保上一个检查点至今修改过的所有数据以确保上一个检查点至今修改过的所有数据块都被写到磁盘上块都被写到磁盘上。47nCKPT(Checkpointer) 在控制文件中记录检查点。参数在控制文件中记

30、录检查点。参数CHECKPOINT_PROCESS CHECKPOINT_PROCESS 确定了检查点的启动确定了检查点的启动/ /不启动不启动状态。状态。 若若CKPTCKPT进程不启动,则该进程的工作将由进程不启动,则该进程的工作将由LGWRLGWR进程进程代劳。(如果数据库的数据文件过多,这样操作会代劳。(如果数据库的数据文件过多,这样操作会降低系统性能。)降低系统性能。)其进程主要用于同步数据库的数据文件、控制文件其进程主要用于同步数据库的数据文件、控制文件和重做日志。和重做日志。检查点进程检查点进程CKPT48SMON进程n用于执行例程恢复、合并空间碎片并释放临时用于执行例程恢复、合并空间碎片并释放临时段段n主要包括:主要包括:REDO打开数据库打开数据库UNDO49PMON进程n监视服务器进程的执行,并且在服务器进程失监视服务器进程的执行,并且在服务器

温馨提示

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

评论

0/150

提交评论