购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第1章
Oracle 11g数据库简介

Oracle 11g是甲骨文公司推出的Oracle数据库软件,它在以前版本的基础上得到了进一步的改进和发展。本章包括以下知识点:

·Oracle 11g的发展

·Oracle 11g的特性

·Oracle 11g与SQL Server的区别

本章内容基本涵盖了Oracle产品版本的介绍和Oracle 11g的一些特性。通过本章的学习,读者可以了解Oracle 11g的特性以及与SQL Server的区别。

1.1 认识Oracle 11g

Oracle 11g是Oracle数据库系列的最流行版本,目前已经被企业广泛应用。本节将讲述Oracle的发展、Oracle 11g的特性以及Oracle 11g与微软的SQL Server数据库的对比。

1.1.1 Oracle的成长历程

图1-1 Oracle的创始人Larry Ellison

Oracle数据库目前已经成为企业级开发的首选,那么Oracle数据库是谁创建的呢?又是由哪个公司创建的?说到Oracle数据库的创始人,不得不提到拉里•埃里森(Larry Ellison),如图1-1所示。他出生于美国纽约布朗克斯,并不是什么名牌大学毕业生,甚至就读了三所大学都没能取得一个学位。但是,就是这样一个人,却成为了世界上第二大软件公司的创始人。

拉里•埃里森自学了计算机编程,由于20世纪60年代的美国动荡不安,所以拉里•埃里森不断地跳槽,适应着不同公司的工作,直到他跳到一家影像器材公司工作,认识了创建Oracle公司的另外两位重要人物Bob Miner和Edward Oates,才改变了他的一生。1977年,拉里•埃里森与这两个重要人物在硅谷共同出资创办了一家软件开发公司,拉里•埃里森占有60%的股权。

在拉里•埃里森创建软件开发公司的初期,并不是一开始就确定要开发数据库产品,也不是一开始就把公司的名字定为Oracle。之所以要开发数据库产品,是受IBM的研究员发表的一篇文章《大型共享数据库的关系数据模型》的启发,3个人才开始研发关系型数据库的。他们的第一个项目是给美国政府做的,项目的名字当时就叫Oracle。Oracle在英语中的意思是神谕宣誓,预言或圣言。此后,拉里•埃里森就把研发的数据库叫做Oracle,后来也把自己公司的名字改成了Oracle。

Oracle数据库的第一个商用版本是在1979年诞生的,到现在的Oracle 11g版本,共历经了30余年,在这些年中,Oracle公司的Oracle产品也已家喻户晓,拉里•埃里森的名字也被《福布斯》排行榜收录。这就是Oracle,也是甲骨文的成长历程。

说明 Oracle 2013年发布了12c版本,但因为该版本是针对企业在私有云中的部署和管理,并不适用于一般企业和个人,所以本书依然以11g版本为例给读者介绍。

1.1.2 了解Oracle 11g

Oracle 11g是目前最流行的Oracle版本,可以在Oracle的官方网站www.Oracle.com上获取Oracle的版本信息。

本书中要讲解的是Oracle 11g的第1版,这里只对Oracle 11g的各版本简要说明。Oracle 11g分为Oracle 11g 11.1.0.7.0和Oracle 11g 11.1.0.6.0两个版本。其中Oracle 11g 11.1.0.7.0版本主要在Windows Server2008系统中安装使用。Oracle 11g 11.1.0.6.0版本所支持的操作系统比较广泛,主要有:

·Microsoft Windows(32位)

·Microsoft Windows(x64)

·Linux x86

·Linux x86-64

·Solaris(SPARC)(64位)

·AIX(PPC64)

·HP-UX Itanium

·HP-UX PA-RISC(64位)

若安装到Windows2003系统或者Windows XP系统中,使用Microsoft Windows(32位)即可。在第2章中将具体讲述Oracle的安装过程。

1.1.3 Oracle与SQL Server

Oracle数据库与SQL Server数据库在企业应用当中各自有着用武之地。Oracle数据库的最新版本是Oracle 12c,而SQL Server数据库也有了最新的SQL Server 2012版本。下面从几个方面讲解Oracle数据库与SQL Server数据库的特点。

1.对操作系统的支持

Oracle数据库支持的操作系统比SQL Server数据库多。Oracle支持的操作系统有Windows系统、Linux系统、苹果的操作系统等;而SQL Server由于是微软研发的,所以目前支持的操作系统只有Windows操作系统。另外,对于SQL Server数据库,通常只能在Windows Server系列的操作系统上安装企业版,而在普遍使用的Windows XP系统中只能安装SQL Server的个人版或开发版。因此,当数据库服务器是非Windows系统时,只能使用Oracle数据库;当数据库服务器是Windows操作系统时,才可以考虑使用SQL Server数据库。

2.数据库的架构

在Oracle数据库中,一个实例只能管理一个数据库;只有在集群的环境下才能实现多个数据库被一个实例管理;而在SQL Server数据库中一个实例可以管理多个数据库。

3.数据库的安全性

SQL Server数据库没有通过安全性认证,而Oracle数据库是获得ISO安全认证的数据库,所以说Oracle的安全性更高一些。

4.内存分配

Oracle的内存分配大部分是由INIT.ORA来决定的,而SQL的内存分配主要有动态内存分配和静态内存分配。

1.2 Oracle的产品版本

Oracle发展到目前的Oracle 12c版本,是历经30多年努力实现的成果,本节将带你回忆Oracle的整个发展历程。

·最早的Oracle版本是在1979年的夏季发布的,该版本在Oracle出品时被称为Oracle的第2版,这也是出于营销的考虑。这个数据库产品整合了比较完整的SQL实现,其中包括子查询、连接及其他特性。

·1983年3月,Oracle发布了第3版。该版本是使用C语言重新编写第2版得到的。这也是Oracle的可移植性非常好的主要原因。

·1984年10月,Oracle发布了第4版。至此,产品的稳定性得到很大的提高。

·1985年,Oracle发布了5版。该版本的稳定性又有了很大的提高,这也是首批可以在C/S模式下运行的数据库产品。

·1988年,Oracle发布了第6版。在发布第6版之前,Oracle公司已经上市了。在第6版中引入了很多的新特性,主要有行级锁、联机热备份等功能,在一定程度上增强了Oracle的可用性。

·1992年6月,Oracle发布了第7版。在该版本中增加的新特性主要有:分布式事务处理能力、对数据库管理功能的增强,同时也提高了数据库的安全性。Oracle也是在第7版产品的推进下更为流行。

·1997年6月,Oracle发布了第8版。Oracle 8支持面向对象的开发及新的多媒体应用,这个版本也为支持Internet、网络计算等奠定了基础。同时,这一版本开始具有同时处理大量用户和海量数据的特性。

·1998年9月,Oracle发布了8i版。其中“i”代表Internet,该版本中添加了大量为支持Internet而设计的特性。同时,这一版本为数据库用户提供了全方位的Java支持。Oracle 8i成为第一个完全整合了本地Java运行时环境的数据库,用Java就可以编写Oracle的存储过程。

·2001年6月,Oracle发布了Oracle 9i版。在Oracle 9i版本的诸多新特性中,最重要的就是Real Application Clusters(RAC)了。说起Oracle集群服务器,早在第5版时,Oracle就开始开发Oracle并行服务器(Oracle Parallel Server,OPS),并在以后的版本中逐渐完善了其功能,不过,严格来说,尽管OPS算得上是一个集群环境,但其并没有体现出集群技术应有的优点。

·2003年9月8日,Oracle发布了10g版本。10g版本是Oracle应用服务器版本,其中,“g”代表“grid”(网格)。该版本中加入了网格计算的功能。

·2007年11月,Oracle发布了11g版本。这是当时最新的版本,该版本大大提高了系统性能的安全性,并有了多项的创新,比如实现了信息生命周期管理以及全新的Data Guard将可用性最大化,同时利用数据压缩技术大幅降低了数据存储的支出,缩短了部署应用程序测试环境所花费的时间。

·2013年6月,Oracle发布了12c的release 1版本,并尝试在“云”数据库上应用和部署。

1.3 Oracle 11g的新特性

Oracle 11g是目前使用比较多的一个版本,也是性能比较稳定的版本。Oracle 11g在以前版本的基础上又增加了很多新的特性,本节就带领读者认识Oracle 11g中新增加的一些特性。

1.3.1 数据库管理部分

数据库管理部分是Oracle 11g的核心。在这一部分,甲骨文公司为Oracle增加了如下8个主要的特性。

1.数据库重放

数据库重放在Oracle 11g中主要体现在两个部分:一个是数据库重放;另一个是SQL重放。新的数据库重放工具好似数据库内的DVR。利用该方法,可以方便地以二进制文件格式捕获SQL级别以下的所有数据库活动,然后在同一数据库或不同数据库内进行重放。此外,还可以自定义捕获流程,以包括或排除某些特定类型的活动。SQL重放与数据库重放的特性类似,但只捕捉SQL负载部分。

2.SQL计划管理

之前,我们可以使用存储大纲和SQL Profile来固定某条SQL语句的执行计划,防止由于执行计划发生变化而导致性能下降。不过这些技术需要DBA人为的处理,比如存储大纲,需要DBA手工创建,而对SQL Profile来说,则要DBA手工应用才能生效。从Oracle 11g开始,引入了SQL执行计划管理的新特性,从而可以让系统自动控制SQL语句执行计划的稳定性,进而防止由于执行计划发生变化而导致的性能下降。

3.自动存储管理

用于管理ASM实例的新的SYSASM角色,用于降低共享池使用的可变区大小,以及实例能够读取磁盘组的特定磁盘。

4.自动的健康检查

Oracle能够自动地对数据库进行健康检查,对于有可能导致数据库在将来出现问题的一些因素,给DBA发送告警信息,并针对潜在问题给出一些建议。这样可以在问题严重之前发现数据库中存在的问题,从而避免灾难性的事件发生。

5.企业管理器功能的增强

在企业管理器中增加了一个LOGMINER接口,该接口主要用于日志的查询。通过该接口,还可以在企业管理器的GUI页面中获取日志挖掘的图形。

6.自动诊断知识库

当Oracle探测到重要错误时,会自动创建一个事件,并且捕捉到和这一事件相关的信息,同时自动进行数据库健康检查并通知DBA。

7.闪回事务

使用闪回事务可以回退事务,即使是已经提交的事务。这对于更正一些用户错误非常有用。比如,用户不小心执行了一些事务,并且在这些事务里对数据库的数据做了一些更改,当用户提交事务后,发现这些更改是错误的,想要回退这些更改,这时就可以使用闪回事务了。DBA只需要简单地将这些事务闪回,就可以把用户犯下的错误更正过来。

8.自动内存优化

在Oracle 11g中,所有内存可以通过只设置一个参数来实现全表自动优化。你只要告诉Oracle有多少内存可用,它就可以自动指定相应的内存大小分配给PGA、SGA以及操作系统进程。

1.3.2 PL/SQL部分

PL/SQL部分是指一些SQL语句的变化,通过这些变化,增强了Oracle 11g中SQL语句的功能。下面就简单讲述在Oracle 11g中增加的3个新特性。

1.触发器

在Oracle 11g中除了以前用的触发器之外,还引入了一个复合触发器。复合触发器就是在一个触发器中使用4部分内容,即申明部分、before过程部分、after each row过程部分和after过程部分。此外,在Oracle 11g中还可以设置触发器的顺序,比如为一个表设置几个触发器,可以指定先执行哪个触发器的内容等。

2.对象依赖性改进

在Oracle 11g之前,如果有函数或者视图依赖于某张表,一旦这张表发生结构变化,无论是否涉及该函数或视图所依赖的属性,都会使函数或视图变为无效的。在Oracle 11g中对这种情况进行了改进,如果表中改变的属性与相关的函数或视图无关,则相关对象状态不会发生变化。

3.SQL语法

在SQL语法部分中,在调用某一函数时,可以通过“=>”来为特定的函数参数指定数据。这一语法同样可以出现在SQL语句中。

除了在数据库管理和PL/SQL部分新增加的特性之外,Oracle 11g还在数据的备份和恢复方面增强了RMAN的恢复功能,提供的数据压缩技术最多可以压缩2/3;同时还提供了在线升级等功能。总之,Oracle 11g是Oracle版本中功能最强的版本。Oracle 11g提供的新特性很多,这里只列举了几个比较重要的新特性,其他的新特性读者可以访问Oracle的官方网站查看。

1.4 小结

本章首先讲述了Oracle的创始人和它的成长历程;然后通过Oracle与SQL Server的对比,讲解了Oracle和SQL Server各自的特点及使用的范围;接着讲解了Oracle产品的各个版本发布的时间和特性;最后讲述了Oracle 11g中的一些新特性,比如,在数据库管理方面的数据库重放技术、SQL计划管理、自动存储管理等特性。

1.5 习题

简答题

1.简述Oracle与SQL Server的区别。

2.Oracle的第一个版本是什么时候发布的?它的创始人是谁?

3.Oracle 11g有哪些新特性? qjQ/4/W/QpSc6IIFZwYwqNHtlAaXDI9Yu3GlfG115SxfvCYloioT4mwmYOryiKIQ

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开