oracle数据库培训材料 - 2资料_第1页
oracle数据库培训材料 - 2资料_第2页
oracle数据库培训材料 - 2资料_第3页
oracle数据库培训材料 - 2资料_第4页
oracle数据库培训材料 - 2资料_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章 oracle DataBase 10g 数据库基础1.3 oracle10g 简介n 数据库领域的Oracle代表两个含义:一个是IT界著名的Oracle(甲骨文)公司,另一个就是甲骨文公司的产品Oracle数据库管理系统的简称。目前,Oracle产品覆盖了大、中、小型机等几十种机型,Oracle数据库管理系统已成为世界上使用最广泛的关系数据库系统之一,成为这一领域的领导者与标准制订者。Oracle数据库产品一直占据着数据库市场龙头老大的地位,远远领先于其他公司。 Oracle的发展历程n1970年6月,IBM公司的研究员埃德加.考特(Edgar Frank Codd)发表了著名的(A

2、 Relational Model of Data for Large Shared Data Banks)的论文.nIBM虽然1973年就启动了System R的项目来研究关系数据库的实际可行性,但没有及时推出这样的产品,因为当时IBM的的IMS(著名的层次型数据库)市场不错,如果推出关系型数据库,牵涉到IBM很多人的自身利益。再者,IBM庞大复杂的官僚机构处在决策上远不那么灵活n1977年年6月,月,Larry Ellison与Bob Miner和Ed Oates在硅谷共同创办了一家名为软件开发实验室(Software Development Laboratories,SDL)的计算机公司

3、(ORACLE公司的前身)。n第一位员工Bruce ScottOracle的发展历程nEllison和Miner看到了埃德加考特的那篇著名的论文预见到数据库软件的巨大潜力(跟着IBM走,没错),于是,SDL开始策划构建可商用的关系型数据库管理系统(RDBMS)。nEllison和Miner根据他们在前一家公司从事的一个由中央情报局投资的项目,他们把这个产品命名为ORACLE。因为他们相信,ORACLE(字典里的解释有“神谕, 预言”之意)是一切智慧的源泉。1979年,SDL更名为关系软件有限公司(Relational Software,Inc.,RSI)。1983年,为了突出公司的核心产品,R

4、SI再次更名为ORACLE。Oracle从此正式走入人们的视野。nRSI在1979年的夏季发布了可用于计算机上的商用ORACLE产品,这个数据库产品整合了比较完整的SQL实现,其中包括子查询、连接及其他特性。出于市场策略,公司宣称这是该产品的第二版,但却是实际上的第一版。 Oracle的发展历程n1983年年3月,发布了月,发布了ORACLE第三版。第三版。Miner和Scott历尽艰辛用C语言重新写就这一版本。nC编译器便宜而又有效,还有很好的移植性。从现在起,ORACLE产品有了一个关键的特性:可移植性。n1983年,IBM发布了姗姗来迟的Database 2(DB2)。不管怎么说,ORA

5、CLE已经占取了先机。n在开发第三版还没有结束的时候,Scott离开了ORACLE。当时用C语言改写ORACLE的压力很大,无休止的软件调试终于让Scott不堪重负,选择了一走了之。并出售了自己的4%的股票.n很长一段时间里,公司研发由Miner独力承担。Miner视金钱如无物,为人低调,和Ellison的锋芒必露形成鲜明的对比。 Oracle的发展历程n1985年,ORACLE的主要竞争对手是Ingres数据库。Ingres在加州大学伯克利分校诞生,主要的设计者是当时鼎鼎大名的Michael Stonebraker教授。可以说Ingres数据库软件是上个世纪80年代技术上最好的数据库,Ing

6、res市场分额的快速增长已经给ORACLE早成了很大的压力。这个时候,IBM公司再一次伸出“上帝之手”。nIngres使用的是Michael 发明的QUEL(Query Language)查询技术,这和IBM的SQL大不相同。在某些地方QUEL甚至要优于SQL。IBM当时担心Ingres把QUEL变成标准会对自己不利。经过一番衡量,决定把自己的SQL提交给数据库标准委员会。而Michael教授可不打算把QUEL提交给数据库标准委员会,学院派的他认为这麽做实际上是扼杀了创新精神。 Oracle的发展历程n1986年年3月月12日,日,ORACLE公司以每股公司以每股15美元公开上市美元公开上市,

7、当日以20.75美元收盘,公司市值2.7亿美元。3月13日,微软以每股21美元的发行价上市,以28美元收市,公司市值达到7亿美元。远远超过了ORACLE。成功的光环的微软和盖茨遮盖住了ORACLE和Ellison的光芒,可能这也是Ellison敌视微软的开始。nORACLE第第6版于版于1988年发布。年发布。这是个根本就没有测试好就进行发布的产品(也怪Ellison,大话总要说在前头,只好自尝苦果)。用户开始对ORACLE大肆抨击,ORACLE的一些对手也开始落井下石,针对ORACLE产品的一些弱点进行攻击。Oracle的发展历程n ORACLEORACLE第七版直到第七版直到1992199

8、2年年6 6月才终于闪亮登场。这一次公司吸月才终于闪亮登场。这一次公司吸取了第六版匆忙上市的教训,听取了用户的多方面的建议,并取了第六版匆忙上市的教训,听取了用户的多方面的建议,并集中力量对新版本进行了大量而细致的测试。该版本增加了许集中力量对新版本进行了大量而细致的测试。该版本增加了许多新的性能特性:分布式事务处理功能、增强的管理功能、用多新的性能特性:分布式事务处理功能、增强的管理功能、用于应用程序开发的新工具以及安全性方法。于应用程序开发的新工具以及安全性方法。ORACLE ORACLE 第七版是第七版是ORACLEORACLE真正出色的产品真正出色的产品, ,取得了巨大的成取得了巨大的

9、成功。这个版本的出现真是好时机,当时功。这个版本的出现真是好时机,当时SybaseSybase公司的数据库已公司的数据库已经占据了不少份额,经占据了不少份额,ORACLEORACLE借助这一版本的成功,一具击退了借助这一版本的成功,一具击退了咄咄逼人的咄咄逼人的SybaseSybase。n公司经过两三年的治理,终于摆脱了种种麻烦,重新开始健康公司经过两三年的治理,终于摆脱了种种麻烦,重新开始健康发展,销售额也从发展,销售额也从9292年的年的1515亿美元变为四年后的亿美元变为四年后的4242亿美元亿美元。Oracle的发展历程n1997年6月,ORACLE第八版发布。ORACLE8支持面向对

10、象的开发及新的多媒体应用n1998年9月,ORACLE公司正式发布ORACLE 8i。“i”代表Internet,这一版本中添加了大量为支持Internet而设计的特性。n这一版本为数据库用户提供了全方位的Java支持。n在在2001年年6月的月的ORACLE OpenWorld大会中,大会中,ORACLE发发布了布了ORACLE 9i。在ORACLE 9i的诸多新特性中,最重要的就是Real Application Clusters(RAC)了Oracle的发展历程n2003年9月8日,旧金山举办的ORACLE World大会上,Ellison宣布下一代数据库产品为“ORACLE 10g”。

11、 “g”代表“grid ,网格”。这一版的最大的特性就是加入了网格计算的功能。(Oracle绝对是造概念的能手,只要是能引领出新的卖点,出些新概念,也是值得的)。n2009年oracle 11g正式发布。n2008年72亿美元收购BEA。n2009年74亿美元收购SUN。网格计算n网格计算即分布式计算,是一门计算机科学。它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终结果。 n最近的分布式计算项目已经被用于使用世界各地成千上万志愿者的计算机的闲置计算能力,通过因特网,您可以分析来自外太空的电讯号,寻

12、找隐蔽的黑洞,并探索可能存在的外星智慧生命 。n网格计算的核心思想是计算应当和公用设施一样可靠和透明。n应用程序在哪里,或者什么计算机处理用户发出的请求变得无关紧要,用户将能够请求信息或者计算,并发布它-随时按需发布。n例如,这与电力公用设施工作的方式类似,因为在使用电力公用设施时,用户根本不知道发电机的位置,不知道电力网的连接方式,用户如要求供电,只需发出需电命令,就可以轻轻松松获得电力。Oracle与SqlServer的区别 n开放性 n SQL Server 只能在windows上运行,开放性较差,而且windows平台的可靠性,安全性和伸缩性是非常有限的。它不象unix那样久经考验,尤

13、其是在处理大数据库。 nOracle 能在所有主流平台上运行(包括 windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。 n可伸缩性,并行性 n SQL server 并行实施并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。 n Oracle 并行服务器通过使一组结点共享同一簇中的工作来扩展计算能力,提供高可用性和高伸缩性。n性能 n SQL Server 多用户时性能不佳 nOracle 性能最高, 保持开放平台下的TPC-D和TPC-C的世界记录。 (TPC-C值被广泛用于衡量C/S环境下,由服务器和客户端构筑的整体系统的性

14、能 , TPC-D是衡量OLAP (联机事务处理)系统或者说数据仓库系统性能的一个测试指标。)n操作简便 n SQL Server 操作简单,但只有图形界面。 n Oracle 较复杂,同时提供GUI和命令行,在windows和unix下操作相同。 n使用风险 nSQL server 完全重写的代码,不断延迟,许多功能需要时间来证明。并不十分兼容。 nOracle 长时间的开发经验,完全向下兼容。得到广泛的应用。完全没有风险。 n最后价格上 ORACLE贵过SQLSRVERn第二次课主要内容nOracle 10g的安装nOracle 10g的主要管理工具nOracle 10g的运行环境Orac

15、le数据库的应用系统结构n分布式数据库系统结构n客户/服务器系统结构n浏览器/服务器系统结构n(参考教材1.5节)ORACLE 10g安装n安装前准备 n安装Oracle 10g数据库的硬件需求 n安装Oracle 10g数据库的软件需求 安装Oracle 10g数据库的硬件需求 硬硬 件件 项项 目目需需 求求 说说 明明物理内存物理内存最少最少256MB,建议使用,建议使用512MB虚拟内存虚拟内存物理内存的两倍物理内存的两倍硬盘空间硬盘空间大概需要大概需要1.5G临时磁盘临时磁盘空间空间100MB处理器处理器最底最底200MHZ,建议建议2.4GHZ安装Oracle 10g数据库的软件需

16、求 软软 件件 项项 目目 需需 求求 说说 明明 操作系统操作系统 Windows 2000 sp1或更高版本,支持所有的版本或更高版本,支持所有的版本Windows Server 2003的所有版本的所有版本Windows XP专业版专业版Oracle 10g数据库不支持数据库不支持Windows NT 网络协议网络协议 支持支持TCP/IP、带、带SSL(安全套接字层)的(安全套接字层)的TCP/IP以及命名管道以及命名管道 安装过程n参考提供的安装文档n也可参考教材1.6.2节查看ORACLE系统n在Windows操作系统环境下,ORACLE数据库服务器是以系统服务的方式运行的,可以选

17、择:控制面版管理工具服务命令,在服务窗口中显示了操作系统中的所有服务.nOracleDBconsole 对应OEM OracleOraDB10g_home1 iSQL *Plus 对应iSQL *Plus OracleOraDB10g_home1 TNSListener 对应数据库监听程序 OracleService 对应数据库例程n当启动Windows操作系统时,一些Oracle服务会随之启动.也可以手动启动或关闭.n上述四种服务之间的关系如下:n首先启动OracleOraDB10g_home1 TNSListener 服务,然后启动其他服务.n如果不启动OracleOraDB10g_hom

18、e1 TNSListener ,则不能使用OEM和iSQL*Plus,但是可以使用SQL*PLUS.n必须先启动OracleService服务,然后启动OracleDBconsole服务,因为OracleDBconsole依赖于OracleService.n如果不启动OracleOraDB10g_home1 iSQL *Plus,则不能使用iSQL *Plus n如果启动了OracleOraDB10g_home1 TNSListener , OracleService, OracleDBconsole.则对应的数据库就处于启动状态.Oracle主要管理工具n数据库配置助手n使用数据库配置助手D

19、BCA(Data Configuration Assistant)用于创建数据库,配置数据库选项,删除数据库和管理模板.(可以参考教材1.7节)nNet Managern当创建Oracle数据库后,为使服务器端可以监听该数据库,必须配置监听程序.为了使客户端可以访问数据库,必须在客户端配置网络服务名.配置监听程序和网络服务名可以使用Net Manager完成.(参考文档oracle主要管理工具)(补充)Net Manager的配置u1。服务器端的监听程序用于接收客户端的连接请求 一个监听程序可以监听多个Oracle数据库,多个监听程序也可以监听同一个数据库。但是监听程序只能用于同一台服务器上的

20、Oracle数据库。安装了Oracle时,会自动建立默认的监听程序LISTENER.一般只需要将需要使用的数据库追加到这个监听程序上就可以了。 监听程序使用的默认端口为1521 保存了监听程序配置之后,必须要重新启动监听程序才能生效。windows中可以在“服务”中重新启动。n2。客户端需要配置网络服务名,应用程序使用网络服务名才能访问Oracle数据库 一般使用数据库名作为服务名 网络协议要与监听程序的一致 Oracle的运行环境nOracle 企业管理器(Oracle Enterprise Manager Database Control)简称OEMnOEM是基于web页面的n要在客户机浏

21、览器上使用OEM,就必须在服务器上运行DBConsole服务nURL地址: http:/hostname:port/em 如:http:/wjf:1158/em注:不同数据库服务的OEM控制工具监听端口号可以在%oracle_home%installportlist.ini中查看Oracle的运行环境nSQL*PLUS环境nSQL*PLUS是ORACLE公司提供的一个工具程序,它不仅可以用于运行和调试SQL语句,SQL*PLUS语句和PL/SQL程序块,而且还可以用于管理Oracle数据库.n启动SQL*PLUSn程序oracle应用程序开发SQL*PLUS命令,打开”Oracle SQL*P

22、LUS”窗口,并且弹出一个登录窗口.Oracle的运行环境niSQL*PLUS环境niSQL*PLUS 是SQL*PLUS在浏览器当中的实现.为了在浏览器中运行iSQL*PLUS,必须首先在服务器端启动iSQL*PLUS服务.n启动iSQL*PLUSn启动浏览器,输入URL地址http:/hostname:port/isqlplusn如: http:/wjf:5560/isqlplus/n第三次课nOracle 数据库体系结构(参考教材第2章)nSQL*PLUS命令(参考文档)Oracle 体系结构n完整的oracle数据库包括数据库(DB)及专门用来管理它的数据库管理系统(DBMS)两大部分

23、。这两部分分别对应的是存储结构和软件结构。nOracle数据库的可扩充性、可靠性、可管理性、等特征都是由其体系结构来确定的。n探讨体系结构是从某一个角度来分析考察数据库的组成、工作原理、工作过程。n包括数据的组织管理机制,进程的分工协作机制,各个组成部分的必要性及联系。存储结构nOracle数据库存储结构分为逻辑存储结构和物理存储结构,这两种存储结构即相互独立又相互联系。n物理存储结构:从物理角度分析数据库的构成,即Oracle数据库创建后所使用的操作系统文件.n在操作系统中是如何存储、管理数据的。与操作系统平台有关。 n逻辑存储结构:从逻辑的角度分析数据库的构成,即创建数据库后形成的逻辑概念

24、之间的关系.n从技术概念上描述在Oracle数据库中如何存储、管理数据。 与操作系统平台无关。数据库表空间段区块控制文件、重做日志文件等数据文件OS块2.1 Oracle物理存储结构 物理结构是现实的数据存储单元,对应于操作系统文件。Oracle数据库就是由驻留在服务器的磁盘上的这些操作系统文件所组成的。这些文件有控制文件、数据文件、重做日志文件以及其他文件(包括参数文件、口令文件、归档日志文件和后台进程跟踪文件等)。1、控制文件 控制文件是一个很小的文件,大小一般在1MB到5MB之间,为二进制文件。但它是数据库中的关键性文件,它对数据库的成功启动和正常运行都是至关重要的,因为它存储了其他地方

25、无法获得的关键信息,这些信息包括: 数据库的名称 数据文件和重做日志文件的名称、位置和大小 发生磁盘故障或用户错误时,用于恢复数据库的信息2、数据文件 数据文件是实际存储插入到数据库表中的实际数据的操作系统文件,包括用户数据(表,索引等),系统数据(数据字典),undo数据。数据文件的大小与它们所存储的数据量的大小直接相关,会自动增大。 一个表空间在物理上对应若干个数据文件,而一个数据文件只能属于一个表空间。 除SYSTEM表空间外,任何表空间都可以由联机状态切换为脱机状态。当表空间进入脱机状态后,组成该表空间的数据文件也就进入脱机状态了。也可以将表空间中的某一个数据文件单独地设置为脱机状态,

26、以便进行数据库的备份或恢复。3、重做日志文件 当用户对数据进行修改时,Oracle实际上是先在内存中进行修改,过一段时间后,再集中将内存中的修改结果成批地写入数据文件中。 但如果在将内存中的修改结果写入数据文件之前发生故障,导致计算机、数据库崩溃,那么,这些修改结果就会丢失。如何保证这些修改结果不丢失呢? Oracle是用重做日志文件来随时保存这些修改结果,发生故障后再重现当时的操作。这样Oracle就可以利用重做日志文件中的信息来恢复丢失的数据。 每个数据库至少包含两个重做日志文件,这两个日志文件是循环使用的。3、重做日志文件 Oracle系统运行有两种模式:归档模式和非归档模式。 归档模式

27、,是在各日志文件都记录满而即将要被覆盖前,先有归档进程ARCH将即将被覆盖的日志文件中的日志信息读出并写入到归档日志文件中,以便于以后恢复操作时查找。 非归档模式,是在系统运行期间,所产生的日志信息不断记录到各日志文件中,当所有重做日志文件被记录满后又重新从第一个日志文件开始覆盖写日志信息内容。4、参数文件 参数文件也被称为初始化参数文件,用于存储SGA、可选的Oracle特性和后台进程的配置参数,分为文本参数文件(pfile)和服务器参数文件(spfile)。可以使用其中之一来配置实例和数据选项。当数据库启动,并在创建实例或读取控制文件之前,会先读取参数文件,并按其中的参数进行例程的配置。5

28、、密码文件 密码文件是二进制文件,用于验证特权用户。特权用户是指具有SYSOPER或SYSDBA权限的特殊数据库用户。这些用户可以启动实例、关闭实例、创建数据库、执行备份恢复等操作。默认的特权用户是SYS。6、归档日志文件 重做日志文件被覆盖之前,将它们复制到归档重做日志文件,所以可以保留数据库的所有重做日志文件的历史记录。7、后台进程跟踪文件 记录后台进程的警告或错误信息。每个后台进程都有相应的跟踪文件。8、服务进程跟踪文件 记录服务进程的相关信息,用于跟踪SQL语句、诊断SQL语句的性能,并实施相应的性能调整。逻辑存储结构n逻辑存储结构包括表空间、段、区、数据块。它们之间的关系是:多个数据

29、块组成区,多个区组成段,多个段组成表空间,多个表空间组成逻辑数据库。n方案对象(如表、索引)也是一种逻辑结构,但它是数据“组织”的逻辑结构而不是数据“存储”的逻辑结构。1、块 块是Oracle用来管理存储空间的最基本单元,也是最小的逻辑存储单元.也是执行输入输出操作时的最小单位。 块的大小是操作系统块大小的整数倍。以Windows 2000为例,操作系统块的大小是4KB,所以块的大小可以是4KB,8KB,16KB等等。 如果块的大小是4KB,EMP表每行的数据占100个字节。如果某个查询语句只返回1行数据,那么,在将数据读入到数据高速缓存时,读取的数据量是4KB而不是100个字节。2、区 区是

30、由物理上连续存放的块构成的。由一个或多个块组成区,由一个或多个区组成段。 当在数据库中创建带有实际存储结构的方案对象时,Oracle将为该方案对象分配若干个区,以便组成一个对应的段来为该方案对象提供初始的存储空间。当段中已分配的区都写满后,Oracle就为该段分配一个新的区,以便容纳更多的数据。 3、段 段用于存储表空间中某一特定的具有独立存储结构的对象的所有数据,它由一个或多个区组成。按照段中所存数据的特征和用途的不同,可以将段分成几种类型:表段,索引段、临时段和回退段。段数据段索引段临时段回退段(1)、表段(数据段) 表段存储表中的所有数据。当某个用户创建表时,就会在该用户的默认表空间中为

31、该表分配一个与表名相同的数据段,以便将来存储该表的所有数据。在一个表空间中创建了几个表,该表空间就有几个表段。 表段随着数据的增加而逐渐变大。段的增大过程是通过增加区的个数而实现的。每次增加一个区,每个区的大小是块的整数倍。(2)、索引段 索引段存储索引的所有数据。当用户用CREATE INDEX语句创建索引,或在定义约束(如主键)而自动创建索引时,就会在该用户的默认表空间中为该索引分配一个与索引名相同的索引段,以便将来存储该索引的所有数据。(3)、临时段 临时段存储排序操作所产生的临时数据。当用户使用ORDER BY语句进行排序或汇总时,在该用户的临时表空间中自动创建一个临时段,排序结束,临

32、时段自动消除。 在Oracle中,临时表空间一般通用,所有用户的默认临时表空间都是TEMP表空间。当然,可以在创建用户时,或创建用户之后,指定临时表空间。(4)、回退段 回退段存储数据修改之前的位置和值。利用这些信息,可以回退未提交的事务,维护数据库的读一致性,并能从实例的崩溃中进行恢复。 回退段的原理与实现是一项十分复杂的技术,已经面临淘汰。自Oracle 9i以来,增加了UNDO表空间,并增加了自动撤销管理功能来代替回退段的功能。(5) 撤销段撤销表空间用于分配撤销段。撤销段也用于存储数据修改之前的位置和值。4、表空间 表空间是最大的逻辑单位。一个数据库可以有多个表空间,一个表空间可以包含

33、多个数据文件(但一个数据文件只能属于一个表空间)。任何方案对象(如表、索引)都被存储在表空间的数据文件中,虽然不能被存储在多个表空间中,但可以被存储在多个数据文件中。数据库表空间1表空间2数据文件1数据文件2方案对象1方案对象3方案对象2数据文件3数据文件4方案对象4方案对象5方案对象6 Oracle 10g自动创建的表空间:表空间名称表空间名称说说 明明EXAMPLE示例表空间。用于存放示例数据库的方案对象信息及其示例表空间。用于存放示例数据库的方案对象信息及其培训资料培训资料SYSAUX辅助系统表空间。辅助系统表空间。用于减少用于减少system表空间的负荷,提高表空间的负荷,提高系统工作

34、效率。系统工作效率。SYSTEM系统表空间。存放关于表空间的名称、控制文件、数据系统表空间。存放关于表空间的名称、控制文件、数据字典、数据文件等管理信息,方案对象的定义信息,字典、数据文件等管理信息,方案对象的定义信息,所有所有PL/SQL程序的源代码,是程序的源代码,是Oracle数据库中最重数据库中最重要的表空间。要的表空间。TEMP临时表空间。存放临时表和临时数据,用于排序。临时表空间。存放临时表和临时数据,用于排序。UNDOTBS重做表空间。存放数据库的有关重做的相关信息和数据重做表空间。存放数据库的有关重做的相关信息和数据USERS用户表空间。存放永久性用户对象和私有信息。用户表空间

35、。存放永久性用户对象和私有信息。1.4.3 软件结构软件结构l数据库管理系统是用户与数据库之间的一个中间层,是个软件层。lOracle 数据库的软件结构又被称为“例程结构”。在启动数据库时,Oracle首先要在内存中获取、划分、保留各种用途的区域(表现为一定的结构)、运行各种用途的后台进程,即创建一个“例程”,然后再由该例程加载、打开数据库,最后有这个例程来访问和控制数据库的各种物理结构,同时执行用户的SQL语句、调整数据库的性能。l当用户连接到数据库,然后使用数据库时,实际上是连接到该数据库的例程,通过例程来连接、使用数据库。三、三、 内存结构内存结构 Oracle数据库管理系统是一个软件,

36、需要放置到内存中才能执行。 内存结构是Oracle数据库体系结构中最为重要的一部分,内存也是影响数据库性能的第一因素。 按照对内存的使用方法的不同,Oracle数据库的内存结构可以分为SGA(System Global Area,系统全局区)、PGA(Program Global Area,程序全局区)。1、 SGA(System Global Area) SGA区是内存结构的主要组成部分,每个例程都只有一个SGA区。当多个用户同时连接到一个例程时,所有的用户进程、服务进程都可以共享使用SGA区。数据库的各种操作主要都在SGA区中进行,所以将其称为系统全局区。Shared PoolLibrar

37、yCacheData DictionaryCacheData BufferCacheRedo LogBufferLargePoolJavapoolSGA(1)、数据高速缓存区 数据高速缓存区中保存的是最近从数据文件中读取的数据块,其中的数据可以被所有用户共享。 当被访问的数据只在数据文件中时,Oracle将读取磁盘上的数据文件,然后将其放入数据高速缓存区中,再对数据进行处理;如果被访问的数据已经位于数据高速缓存区中时,Oracle将直接使用数据高速缓存区中的数据,而不必再读取磁盘中的数据文件了。 数据高速缓存区有3种类型: 脏的区:包含已经改变过并需要写回数据文件的数据块 自由区:不包含任何数

38、据并可以再写入的区 保留区:包含正在处理的或者明确保留用作将来用的区(2)、重做日志缓存区 当执行INSERT、UPDATE、DELETE语句对表进行修改时,或执行CREATE、ALTER、DROP等语句创建方案对象时,Oracle都会为这些操作生成重做记录。重做日志缓存区就是用于存储重做记录的缓存区。在检查点发生或日志缓存区达到一定的块数量时有LGWR将此缓存区的内容写入重做日志文件。尺寸:尺寸:LOG_BUFFER (3)、共享池 共享池是SGA保留的区,保存了最近执行的SQL语句、PL/SQL程序和数据字典信息,是对SQL语句和PL/SQL程序进行语法分析、编译、执行的内存区。包含库缓存

39、区和数据字典缓存区。共享池共享池库高速缓存库高速缓存数据字典数据字典高速缓存高速缓存l共享池尺寸:共享池尺寸:SHARED_POOL_SIZE l库高速缓存:存放库高速缓存:存放SQL语句文本、解析代码和执行计划语句文本、解析代码和执行计划l数据字典高速缓存:包含表、列定义以及权限信息数据字典高速缓存:包含表、列定义以及权限信息(4)、大池 大池用于为需要大内存的操作提供相对独立的内存空间,以便提高这些操作的性能。大池是一个可选的内存结构。DBA可以根据实际需要来决定是否在SGA区中创建大池。 需要大量内存的操作包括: 数据库备份和恢复 具有大量排序操作的SQL语句 并行化的数据库操作大池尺寸

40、:大池尺寸:LARGE_POOL_SIZE (5)、JAVA池 用于存放JAVA代码、JAVA语句的语法分析表、JAVA语句的执行方案和进行JAVA程序开发。 JAVA池的大小由初始化参数JAVA_POOL_SIZE确定,一般不小于20MB,以便安装JAVA虚拟机。2、 PGA(Program Global Area) PGA区是在用户进程连接到数据库,并创建一个对应的会话时,由Oracle为服务进程分配的,专门用于当前用户会话的内存区。这个内存区是非共享的,只有服务进程本身才能访问它自己的PGA区,而SGA区是所有服务进程都可以共享的内存区。 PGA区的大小由操作系统决定,并且分配后保持不变

41、。当会话终止时,Oracle会自动释放PGA区所占用的内存区。 按照存放信息的类型的不同,PGA区可以分为:排序区、会话区、游标区、堆栈区。(1)、排序区 排序区用于存放排序操作所产生的临时数据,它是影响PGA区大小的主要因素,其大小由初始化参数SORT_AREA_SIZE定义。 在执行包括ORDER BY或GROUP BY等包含排序操作的SQL语句时,用户处理的数据都要按照某种属性进行排序。为了提高数据的访问和排序的性能,Oracle利用内存比磁盘要快得多的事实,将准备排序的数据先临时存储到排序区中,并在排序区中进行排序,然后将排序后的数据返回给用户。(2)、会话区 保存会话所具有的权限、角

42、色、性能统计信息。四、四、InstanceSGARedo logbuffer cacheShared poolData Dict.cacheLibrarycacheDBWRSMONPMONCKPTLGWROthersUserprocessServerprocessPGAControl filesData files Archived log filesParameterfilePasswordfileRedo log filesDatabaseDatabasebuffer cache2、 进程 进程又称任务,是操作系统中一个极为重要的概念。一个进程执行一组操作,完成一个特定的任务。对Oracle数据库管理系统来说,进程由用户进程、服务进程和后台进程所组成。 进程和程序的区别是: 进程是动态的概念,即动态地创建,完成

温馨提示

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

评论

0/150

提交评论