1工作室www.v512.com第二章Oracle数据库入门2.1Oracle概述2.1.1Oracle公司简介Oracle(甲骨文)公司1977年6月成立于美国加州硅谷,其创始人为BobMiner、EdOates和LarryEllison,开始时公司名为“软件开发实验室”(SoftwareDevelopmentLaboratories,SDL)。后为体现公司产品特点,于1979年更名为“关系软件有限公司”(RelationalSoftware,Inc.,RSI),1983年再次更名为“甲骨文”(Oracle)。昀初的Oracle(包括其前身SDL、RSI)只是一家小型的关系型数据库公司,经过三十余年的发展壮大,现已成为全球昀大数据库软件及服务供应商、全球第二大软件供应商,领导着数据库技术的发展潮流,其业务已不限于数据库产品和服务,还包括应用服务器、数据库开发工具包、电子商务套件、以及产品的培训认证服务等。现今Oracle公司已在全球145个国家及地区设有分支机构.,其全球员工总数超过70000名,全球客户客户总数超过275000。根据IDC(InternationalDataCorporation,国际数据公司)发布的统计数据(截止到2007年底),Oracle公司在数据库市场上所占有的份额仍在持续增长,2007年度其关系型数据库产品的收入增长13%,达82亿美元,占整个数据库市场份额的44.1%。2.1.2Oracle数据库系统特点1979年,Oracle公司(RSI)首先推出基于SQL标准的关系数据库产品,此后关系型数据库产品和服务一直是Oracle公司的业务核心,Oracle数据库系统由一批软件产品构成,其核心是关系型数据库管理系统。下面简单介绍一下Oracle数据库系统的特点:支持全球化、跨平台的大型数据库Oracle数据库可在100多种硬件平台上运行(包括PC机、工作站、小型机、中型机和大型机),支持几乎所有的主流操作系统(包括Windows、Linux、Unix、Solaris、AIX等)。用户所使用的Oracle数据库产品可以方便地从进行跨平台移植。Oracle数据库系统支持大型及超大型数据库,理论上讲,Oracle所支持的数据库昀大容量的限制为512PB(1PB=1024TB,1TB=1024GB),在实际应用中,Oracle支持的数据库也可达到数十TB,所以实际上只是受到硬盘存储容量的限制。遵守数据存取语言、操作系统、用户接口和网络通信协议的工业标准Oracle数据库服务器产品与ANSI/ISOSQL标准完全兼容,这使之成为一种开放性系统,Oracle允许不同类型的计算机和操作系统通过网络共享信息,因而不会导致产品依赖方面问题,可以很2工作室www.v512.com好地保护用户的投资。强大的安全性控制和完整性控制数据库的安全性是指保护数据库以防止非法操作所造成的数据泄露、篡改/破坏。计算机系统都面临着安全性风险,而数据库系统中由于是大量数据集中保存、且为多用户共享,其安全性问题更为突出。数据库的完整性是指数据取值在逻辑上的正确和有效,比如员工的年龄取值不应为负值,完整性控制则是要防止错误信息的输入和输出,以避免造成无效操作和错误结果。Oracle数据库提供了强大的安全性控制和完整性控制机制,这些机制是以直接嵌入Oracle系统内核的方式实现的。支持分布式数据库和分布处理Oracle为了充分利用计算机系统和网络资源,允许在互联环境下,将运行在多台计算机上的数据库系统(包括其中所存储的数据)组合成一个逻辑上的数据库,网络上任何一台计算机都可以对其进行访问。这种分布式数据库系统和集中式数据库一样,具有透明性和数据一致性。分布式处理则是分布式环境中,互连的多台数据库服务器互相协调工作,共同完成一项任务,这样可以加快系统的处理速度、提高运行效率。支持网格计算网格计算(GridComputing)实际上是分布式计算(DistributedComputing)的一种,是在互联网环境中专门针对复杂计算任务的一种新型计算模式。其原理是利用互联网把分散在不同地理位置的众多计算机组织而成一个“虚拟的超级计算机”,其中每一台参与的计算机是一个“节点”,成千上万个“节点”则组成了一张“网格”,所以这种计算方式叫网格计算。网格计算的优点是低成本、高性能、动态配置、可扩展,其核心是资源(处理能力)的共享。Oracle是第一家数据库领域推出支持网格计算产品的公司,从9i版本开始,Oracle即已开始支持网格计算技术,其后续的Oracle10g/11g版本则更是强调其支持企业级网格计算方面的特性,其中的g即指网格(gridding),网格计算技术的引入解决了传统数据库应用中面临的瓶径问题——高性能、高可伸缩性与低价格需求之间的矛盾。引文:Oracle公司分布式数据库开发、数据库和应用服务器技术副总裁BennySouder:“在后台,网格可以部署能够动态分配资源、灵活地提供信息并具有高可用性的系统。动态资源分配意味着确保在用户请求得不到响应时资源不会闲置,而是在需要时对其进行动态重新分配。灵活的信息提供意味着确保用户和应用程序所需的信息随时随地可用。高可用性则意味着数据和计算能力必须像电力一样随时提供。”2.1.3Oracle版本沿革在首先推出关系型数据库产品、掀起数据库领域的革命之后,Oracle公司三十余年来陆续发布了多款不同版本的数据库产品,从中也可大致看出关系数据库技术发展的历史沿革,如表2-1所示:3工作室www.v512.com表2-1Oracle数据库版本及发布时间发布时间数据库版本简要说明1979年Oracle第2版只能运行于DEC公司的PDP-11计算机上的商用数据库产品。实际上是商用Oarcle数据库产品的第1版,比较完整的支持SQL实现,包括子查询、多表连接查询的特性。1983年Oracle第3版用C语言重新开发,具备良好的可移植性。开始支持事务控制、非阻塞式查询。同年,IBM首次发布DB2数据库。1984年Oracle第4版增强了产品的稳定性。增加了数据库的一项关键特性——读一致性。1985年Oracle5.0版开始支持C/S运行模式。1986年Oracle5.1版开始支持分布式查询——通过一次性查询访问存储在多个不同位置的数据。1988年Oracle第6版重新改写了数据库核心,引入行级锁、PL/SQL语言以及联机热备份功能,极大地增强了产品的可用性。同一年Oracle公司开始研发ERP软件。1992年Oracle第7版增加诸多新特性/功能:分布式事务处理、存储过程、触发器、增强的管理和优化性能……。1997年Oracle第8版内置消息处理、内置Java虚拟机、支持面向对象开发、新的多媒体应用,能够处理大量用户和海量数据存储。1998年Oracle8ii代表网络(internet),另一说是代表集成(integration),支持虚拟专用数据库、闪回查询技术,添加面向网络应用的新特性。首次完全整和使用本地Java运行时环境。8i陆推出多个版本,其中使用比较广泛的有8.1.6和8.1.7版。4工作室www.v512.com2001年Oracle9i增加RAC(RealApplicationClusters)新特性,实现数据库服务器的集群工作、成为真正的应用集群软件。还包括集成的商务智能、XML数据库、自动存储管理、数据保护方面的多种新特性。2004年Oracle10gg代表网格(gridding),第一个专门设计用于网格计算的数据库,解决了传统数据库应用中面临的瓶径问题——高性能、高可伸缩性与低价格需求之间的矛盾。增加支持XQuery、自动诊断、优化查询和数据加密等方面的管理功能和自动化工具。2007年Oracle11g除增强了自动化管理、改善综合性能外,11g版本还增加了真正应用测试、高级压缩和分区技术等特性。对于同一版本号的Oracle数据库产品,一般还可以选择不同的安装类型,下面简单做一下介绍:企业版提供针对企业级应用程序的高效、高度可靠和安全的数据管理工具及功能,如大业务量的在线事务处理(OLTP,OnlineTransactionProcessing)环境、查询密集型的数据仓库、和性能要求教高的网络应用程序等。标准版适用于部门或工作组级别的应用程序,具有较好的易用性和性价比,其中包含了构建商务应用程序所必须的一组数据管理工具,并为应用程序提供了完备的数据分发、复制功能,以及相关的Web功能。个人版支持与同版本号的Oracle企业版和标准版完全兼容的单用户开发和部署。2.2Oracle数据库安装、配置和卸载要进行基于Oracle数据库的应用软件开发,开发人员昀好能自己建立起相应的数据库环境,本节将介绍基本的、也是必要的Oracle数据库安装、配置和卸载。2.2.1安装Oracle数据库可以到Oracle公司网站,当前的昀新版本为Oracle11g,新的版本主要是在数据库管理、网格计算方面性能有所提升,在本书所涉及的应用开发层面对数据库的基本使用上并没有显著的变化。考虑到当今业界的应用主流版本任为Oracle9i,以及高版本数据库软件的运行开销问题,本书主要基于Oracle9i版本进行基本内容的讲解和演示。后续章节中再专门讲解新版本的Oracle11g数据工作室www.v512.com库,学习者对比一下即可掌握。下面以Windows操作系统为例介绍Oracle9i数据库的安装和基本配置,其系统配置要求512MB以上内存、3GB以上可用磁盘空间、256色以上显卡、CPU主频550M以上。具体操作步骤如下:运行Windows平台(Windows200X、WindowsXP)的Oracle9i安装程序(setup.exe文件),安装程序开始运行,显示如图2-1所示的欢迎界面。图2-1Oracle安装向导-欢迎界面如果不是首次安装,可以点击(用鼠标左键单击,下同)界面中的【已安装产品】按钮查看当前所在机器上已安装的Oracle产品(组件)。点击窗口中【下一步】按钮,在接下来显示的“文件定位”窗口中指定Oracle安装源文件所在的路径、Oracle工作主目录名及其完整路径,其中前两项采用安装程序提供的缺省值即可,最后一项可以由用户指定,比如C:\oracle\ora92,如图2-2所示。5工作室www.v512.com图2-2Oracle安装向导-文件定位界面点击窗口中【下一步】按钮,在接下来显示的“可用产品”窗口中选择要安装的产品,这里选择“Oracle9iDatabase9.2.0.1.0”,如图2-3所示。图2-3Oracle安装向导-选择要安装的产品点击窗口中【下一步】按钮,在接下来显示的“安装类型”窗口中选择自己所需要的安装类型,这里选择“企业版”,如图2-4所示。6工作室www.v512.com图2-4Oracle安装向导-选择安装类型点击窗口中【下一步】按钮,在接下来显示的“数据库配置”窗口中选择所需的数据库,这里选择“通用”,如图2-5所示。图2-5Oracle安装向导-数据库配置界面点击窗口中【下一步】按钮,接下来显示的“OracleServicesforMicrosoftTransactionServer”窗口用于设置OracleMTSRecovery服务程序的监听端口号,这里采用其缺省设置2030端口即可,如图2-6所示。7工作室www.v512.com图2-6Oracle安装向导-配置OracleMTSRecovery服务端口号点击窗口中【下一步】按钮,在接下来显示的“数据库标识”窗口中设置Oracle全局数据库名和Oracle系统标识符(SID),相关术语在后文中会做讲解(参见第2.3节),比如可设置为ora9(这里只是为表明数据库版本,也可以输入其它的值),如图2-7所示。图2-7Oracle安装向导-