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

下载本文档

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

文档简介

1Oracle

——数据库基础知识授课教师:俞晓邮箱:yxforyjs@163.com2教学要求了解Oracle公司的发展史了解Oracle数据库的发展历程和版本信息掌握Oracle数据库的体系结构了解Oracle数据库服务的工作原理3教学重点和难点一、Oracle数据库的体系结构二、OracleServer工作原理4ORACLE介绍——起源1977年6月,LarryEllison与BobMiner和EdOates在硅谷共同创办了一家名为软件开发实验室(SoftwareDevelopmentLaboratories,SDL)的计算机公司(ORACLE公司的前身)。没多久,第一位员工BruceScott)加盟进来。1979年,SDL更名为关系软件有限公司(RelationalSoftware,Inc.,RSI),毕竟“软件开发实验室”不太像一个大公司的名字。1983年,为了突出公司的核心产品,RSI再次更名为ORACLE。Oracle数据库的头两个用户是美国中央情报局和海军情报所。5ORACLE介绍6ORACLE介绍BruceScottLarryEllison7拉里·埃里森(LarryEllision)埃里森是美国犹太人,1944年出生在曼哈顿,他的未婚妈妈只有19岁。埃里森由舅舅一家抚养,在芝加哥犹太区中下阶层长大,那时贫富的差别巨大。学生时代的埃里森并没有显示出超人的素质和成绩,在学校他非常孤僻,独来独往,不过却十分注意打扮和享受,在别的孩子还是由父母来理发时,他却请专业理发师打理。1962年埃里森高中毕业,进入Illinois大学就读,二年级时离开了学校。商业周刊报道他离开的原因是因为平均成绩没有达到及格水平,但他却不置可否。过了一个夏天他进入Chicago大学,同时还在Northwestern大学学习,虽然经历了三个大学,最终他没有得到任何大学文凭。

8拉里·埃里森(LarryEllision)关于学位,埃里森认为:“大学学位是有用的,我想每个人都应该去获得一个或者更多,但我在大学没有得到学位,我从来没有上过一堂计算机课,但我却成了程序员。我完全是从书本上自学编程的。”1976年IBM研究人员发表了一篇里程碑的论文,“R系统:数据库关系理论”,介绍了关系数据库理论和查询语言SQL,埃里森非常仔细地阅读了这篇文章,被其内容震惊,这是第一次有人用全面一致的方案管理数据信息。作者TedCodd10年前就发表了关系数据库理论,并在IBM研究机构开发原型,这个项目就是R系统,存取数据表的语言就是SQL,文章详细描述了他10年的研究成果和如何实现的方法,埃里森看完后,敏锐意识到在这个研究基础上可以开发商用软件系统。9拉里·埃里森(LarryEllision)财富排名拉里·埃里森(LawrenceJEllison)现拥有资产270亿美元,在2008年福布斯公布的美国前四百名富豪排行榜上名列第十四。2011年,福布斯公布拉里·埃利森资产330亿美元,名列第三。(第一是比尔盖茨,总资产590亿美元)。2013胡润全球富豪榜拉里·埃利森名列第六2013福布斯全球富豪榜拉里·埃利森以430亿美元名列第五。10拉里·埃里森(LarryEllision)11ORACLE介绍——发展1984年软件市场的情形,在数据库市场上的霸主是Asnton-Tale公司,他们的拳头产品是刚推出不久的dBaseIII(确切的说dBase是PC上的数据库软件霸主),刚刚成为全球第三大的独立软件公司(第一和第二分别是微软、Lotus,ORACLE在当时还排不上号),这一年,也是苹果公司Macintosh诞生的年度。1986年3月12日,ORACLE公司以每股15美元公开上市,当日以20.75美元收盘,公司市值2.7亿美元。3月13日,微软以每股21美元的发行价上市,以28美元收市,公司市值达到7亿美元。远远超过了ORACLE。成功的光环下的微软和盖茨遮盖住了ORACLE和Ellison的光芒,可能这也是Ellison敌视微软的开始。12ORACLE介绍——发展ORACLE公司(即甲骨文公司)自86年推出版本5开始,系统具有分布数据库处理功能.88年推出版本6,ORACLERDBMS(V6.0)可带事务处理选项(TPO),提高了事务处理的速度.1992年推出了版本7,在ORACLERDBMS中可带过程数据库选项(proceduraldatabaseoption)和并行服务器选项(parallelserveroption),1996年推出ORACLE8.0.6增加了表分区的功能,1998年推出了ORACLE8I,增加了对数据库的增强性管理、一起在数据库中存储对象等,2001年,推出了ORACLE9I,使数据库的操作更加的简便,增强数据的安全性,同时,能够对数据库的权限细分到ROW的级别,对数据库有着更好的控制,而且其主要面向WWW的应用,数据库功能得到非常强大的更新。13ORACLE介绍——发展2003年9月8日,旧金山举办的ORACLEWorld大会上,Ellison宣布下一代数据库产品为“ORACLE10g”。ORACLE应用服务器10g(ORACLEApplicationServer10g)也将作为甲骨文公司下一代应用基础架构软件集成套件。“g”代表“grid,网格”。2007年11月,Oracle11g正式发布。何谓网格计算?网格计算可以把分布在世界各地的计算机连接在一起,并且将各地的计算机资源通过高速的互联网组成充分共享的资源集成。通过合理调度,不同的计算环境被综合利用并共享。ORACLE公司已经把这一次的“赌注”押在了网格计算的大市场上。但前景如何?让我们拭目以待。14ORACLE介绍——发展2003年6月初,ORACLE突然宣布51亿美金收购商务软件公司仁科(PeopleSoft),业内再次震动。此举又一次露出ORACLE一贯善于进攻的本性。最终Oracle公司于2004年12月13日,与仁科公司达成协议,将以每股26.5美元的价格收购仁科股权,收购交易总值高达103亿美元15ORACLE介绍——发展2009年4月20日,ORACLE公司以每股9.5美元的价格收购Sun的普通股股权,按此价格计算,此次甲骨文的收购总额为74亿美元。对于Oracle来说,这次自己终于有了硬件(SPARC)和操作系统(Solaris)这两块王牌。同时也包括了Sun公司在08年收购的MySQL。16ORACLE介绍——市场份额ICT是信息、通信和技术三个英文单词的词头组合(Informationand

Communications

Technology,简称ICT)。它是信息技术与通信技术相融合而形成的一个新的概念和新的技术领域。08年底整个ICT领域遇到了前所未有的挑战,仅金融危机本身导致的全球主要股市ICT类高科技股大幅度缩水,就可谓触目惊心,无论历经风雨的老牌劲旅或是迅速崛起的新秀军莫不如此。17金融危机对ICT的影响这里选择了15家企业,我们可以看看他们现在的股价比最近一年的高点下跌了多少。NVIDIA,-81%;Sun,-76%;AMD,-68%;eBay,-59%;雅虎,-57%;苹果,-56%;戴尔,-56%;Google,-54%;思科,-45%;英特尔,-42%;Adobe,-40%;微软,-31%;Oracle,-28%;IBM,-26%;惠普,-25%(数据仅到08年10月初)。18金融危机对ICT的影响在过去一年里,这15家巨头的合计市值损失了5700多亿美元,其中长期狂飚的Google损失最为惨重,股价从2007年11月的747.24美元跌至346.01美元后,市值也从2350多亿美元直落到约1090亿美元,蒸发了1260亿美元之多。19金融危机对ICT的影响20甲骨文公司Oracle公司简介:Oracle公司是全球最大的信息管理软件及服务供应商,成立于1977年,总部位于美国加州。Oracle公司是全球领先的电子商务解决方案供应商,也是全球第二大软件公司,在全世界145个国家为客户提供数据库系统、工具、应用产品以及相关的咨询、培训和支持服务。《财富》100强中的98家公司都采用Oracle技术。Oracle公司于1989年正式进入中国市场,是第一家进入中国的世界软件巨头。1991年7月在北京建立了独资公司,目前在国内设有北京、上海、广州、成都4个办事处。21甲骨文公司甲骨文公司,全称甲骨文股份有限公司是全球最大的企业软件公司,总部位于美国加利福尼亚州的红木滩。甲骨文是继Microsoft及IBM后,全球收入第三多的软件公司。甲骨文公司1989年正式进入中国市场。22数据库:是信息的载体,是一个服务于一个核心目标的数据有组织的集合。其系统主要包括:数据、硬件、软件和数据库用户。数据库管理员:DataBaseAdministrator(DBA)其主要任务是:了解ORACLE数据库的体系结构安装并且升级数据库服务器和应用工具。为数据库系统分配存储空间并规划存储空间。启动和关闭数据库,管理和监控数据库用户。建立数据库,维护系统安全。控制并监视数据库用户对数据库的存取操作。备份并恢复数据库。23Oracle市场价格(参考)Oracle10g企业版50User38万Oracle10g标准版10User2.56万Oracle10g企业版1CUP无限用户版67万24Oracle简介Oracle的版本企业版:构建安全可靠的、大容量的互联网应用和数据仓库,面向企业级应用。标准版提供能够通过Web浏览器进行管理的高性能数据库服务,面向部门级应用。个人版全功能单用户版本,面向开发技术人员。25Oracle体系结构决定了数据库如何使用内存、硬盘、cpu和网络。一个Oracleserver是由Oracle实例(instance)和数据库两部分组成。实例=内存结构+一组后台进程一个Oracle数据库是一个数据单位的集合。主要目的是为了储存和读取信息。Oracle数据库可以分为逻辑结构和物理结构。Oracle的体系结构26Oracle数据库表空间逻辑对象(表、视图等)数据区间索引段数据段数据块数据块物理文件物理块索引区间NNNNN1111逻辑结构物理结构N1N1Oracle数据库基本结构27逻辑结构逻辑结构主要是从数据库使用者的角度考查数据库的组成。Oracle数据库表空间视图索引表回滚段临时段索引段数据段数据段数据区段数据块表空间表空间数据区段数据块数据库表空间逻辑对象数据区间数据段数据块28ORACLE的逻辑结构ORACLE的逻辑结构是由一个或多个表空间组成。一个数据库由若干个表空间组成一个表空间由逻辑对象组成一个逻辑对象由多个数据段组成一个数据段由一批数据区间组成一个数据区间由若干个连续的数据块组成一个数据库块对应一个或多个物理块29数据块数据块(DataBlock)是数据库使用的I/O最小单元,又称逻辑块或ORACLE块。常用大小为2KB或者4KB(是OS块的倍数)。一个数据库块对应一个或多个物理块,块的大小由参数DB_BLOCK_SIZE确定。(init.ora)30区间(Extent)是数据库存储空间分配的逻辑单位,一个区间由一组数据块组成,区间是由段分配的,分配的第一个区间称初始区间,以后分配的区间称增量区间。段(Segment)是表空间中一个指定类型的逻辑存储结构,它由一个或多个区间组成,段将占用并增长存储空间。31回滚段(RollbackSegment)存储为读一致性、回滚或恢复用数据临时段(TemporarySegment)存储排序操作期间建立的临时表的数据索引段(IndexSegment)存储索引的所有数据段的分类

数据段(DataSegment)存储表的所有数据ORACLE的逻辑结构段32表空间(Tablespaces)

是数据库的逻辑组成部分,对应一个或多个数据文件,表空间的大小是它所对应的数据文件大小的总和。一个表空间只能同时属于一个database。一个表空间可能包含一个或多个段,但段不能跨越表空间;33物理结构

数据文件日志文件控制文件参数文件34数据文件数据文件(DataFile)用于物理存储ORACLE数据库数据数据,如:系统数据、用户数据等。其特点如下:每一个数据文件只与一个数据库相联系。在oracle数据库中,至少要包含一个数据文件。当数据库空间不足时,数据文件具有自动扩展的特性。一个或者多个数据文件构成数据库的逻辑存储单元叫做表空间(tablespace).数据库表空间逻辑数据文件物理35物理结构数据库文件或数据文件它们是物理操作系统文件,它们包括诸如用户数据、系统数据等所有数据库数据数据文件中的数据以块为单位任何数据库创建时至少包含一个数据文件36重做日志文件重做日志文件(ReDoLogFile)记录所有对数据库数据的修改,以备恢复数据时使用。其特点如下:每一个数据库包含多个日志文件。日志文件以循环方式进行写操作。每一个日志文件成员对应一个物理文件。工作模式为:归档模式和非归档模式37日志切换(LogSwitch)是为实现日志文件的循环使用而设置的。出现日志切换的情况如下:当一个日志文件被填满时关闭数据库时DBA手动转移日志开关38日志文件写操作图示LogFile1

LogFile2

Group1

Group2

Member2.1

Member1.1

39只有在归档模式下系统才会备份日志文件。当Oracle切换日志时备份日志文件。Oracle缺省状态是非归档模式。只有在归档模式下日志文件才能用于恢复。否则在线日志并未备份。日志文件通常有镜像,因此通常是日志文件组,每个组中可以有多个镜像文件。40参数文件参数文件(ParameterFile)是一个文本文件,可直接使用操作系统下的文本编辑器对其内容进行修改。该文件只在建立数据库或启动实例时才被访问,在修改该文件之前必须关闭实例。初始参数文件:init.ora生成参数文件:initSID.oraconfig.ora任意一个实例都对应一个初始化文件init.ora,它决定实例的大小及组成参数.41参数文件的作用

确定存储结构的大小。设置数据库的全部缺省值。设置数据库的区间。设置数据库的各种物理属性。优化数据库性能。42Parameterfiles在参数文件中包括大量影响Oracle数据库实例功能的设置。。数据库控制文件的定位。Oracle用来缓存从磁盘上读取的数据的内存数量。Oracle用来缓存SQL语句的执行计划,PL/SQL过程和数据字典信息以便与它们不必从磁盘连续读取的内存的数量。默认的优化程序的选择43Parameterfiles和数据库文件相关,执行两个重要的功能:1〉为数据库指出控制文件2〉为数据库指出归档日志的目标44参数文件中参数的数据类型:整型参数例:DB_BLOCK_SIZE=2048--数据块大小字符型参数例:DB_NAME=‘ora9’--数据库名称45控制文件控制文件(ControlFile)是一个较小的二进制文件,用于记录和维护数据库的物理结构。描述信息如下:数据库名称及创建时间。数据文件的位置及大小。重做日志文件的位置及大小。日志序列号。要点注意:在打开和存取数据库时都访问该文件。数据库至少包含一个控制文件。镜像控制文件。记录控制文件名及路径的参数为:

CONTROL_FILES

46Controlfile控制文件把Oracle引导到数据库文件的其它部分。启动一个实例时,Oracle从参数文件中读取控制文件的名字和位置。安装数据库时,Oracle打开控制文件。最终打开数据库时,Oracle从控制文件中读取数据文件的列表并打开其中的每个文件。47

参数文件控制文件控制文件日志文件日志文件数据文件数据文件每个控制文件的内容是完全相同指向控制文件控制文件指向数据和日志文件48体系结构物理结构

数据文件、日志文件、控制文件、参数文件系统全局区(SystemGlobalArea)

共享池、数据缓冲区、日志缓冲区进程

用户进程、服务器进程、后台进程49Oracle的内存结构使用计算机的内存存放常用的信息和所有调度运行的程序。系统全局区(SGA):由所有用户进程共享的一块内存区域。数据缓冲区:存储最近从数据库中读取出来的数据块重做日志缓冲区:记录事务共享池:程序高速缓冲区。程序全局区(PGA)①排序区②会话信息③堆栈空间50数据缓冲区数据缓冲区(DatabaseBufferCache)用于存储最近从数据库中读取出来的数据块。数据缓冲区数据文件

DB_BLOCK_SIZE

确定数据块的大小,一般为2K或4K,对于大数据块的数据库,此参数值为物理块的倍数。DB_nK_CACHE_SIZE

定义非标准数据块的大小。51

重做日志缓冲区(RedoLogBuffer)是由一条条重做记录组成,每条记录记载了被修改数据块的位置和变化后的数据。LOG_BUFFER

确定日志缓冲区的大小。

日志缓冲区日志文件

52共享池:SQL程序的高速缓冲区存放的是所有通过SQL语法分析并准备执行的SQL语句主要由库高速缓存和数据字典高速缓存组成SHARED_POOL_SIZE定义其大小53Oracle的进程结构用户进程:向服务器进程提出操作请求当用户运行一个应用程序时,就建立一个用户进程。后台进程:多进程系统中,使用的一些附加进程为所有数据库用户异步完成各种事务。服务器进程:接受用户进程发出的请求并完成其相应的操作。服务器进程主要包括:分析、优化和执行SQL语句,将硬盘数据读到系统全局区(SGA),将SQL语句的结果返回给用户进程,完成系统的维护等。54后台进程主要的后台进程有

DBWR(DatabaseWriter)数据库写进程

LGWR(LogWriter)日志写进程

CKPT(Checkpointprocess)检查点写进程

SMON(SystemMonitor)系统监控进程

PMON(ProcessMonitor)进程监控进程

ARCH(ArchiveProcess)归档进程

RECO恢复进程

LCKn封锁进程55DBWR(DatabaseWriter)

将数据缓冲区中所有修改过的缓冲块数据写到数据文件中,并使用LRU算法(最近最少使用算法)来保持缓冲区中的数据块为最近使用的,以减少I/O次数。该进程在启动实例时自动启动。通过设置DB_Writer_processes定DBWR个数。56LGWR(LogWriter)

将日志缓冲区中的所有记录项写到日志文件中。该进程在启动实例时自动启动。LGWR进行写操作的情况:

用户进程提交一个事务(Commit)重做日志缓冲区达到1/3区间在DBWR进程将脏缓冲区写入到数据文件之前出现超时(3秒钟内未活动,则进行一次写操作。)Oracle总是“先日志后修改”。57检查点(Checkpoint):

在检查点出现期间,DBWR进程将数据缓冲区中的所有脏缓冲块写到数据文件中,LGWR将日志缓冲区中的所有记录项写到日志文件中,以确保上一个检查点至今修改过的所有数据块都被写到磁盘上。58CKPT(Checkpointer)

在控制文件中记录检查点。参数CHECKPOINT_PROCESS确定了检查点的启动/不启动状态。若CKPT进程不启动,则该进程的工作将由LGWR进程代劳。(如果数据库的数据文件过多,这样操作会降低系统性能。)其进程主要用于同步数据库的数据文件、控制文件和重做

温馨提示

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

评论

0/150

提交评论