Oracle专家高级编程(中文版).pdf

4星(超过85%的资源)
所需积分/C币:41 2017-05-21 15:48:34 40.08MB PDF
76
收藏 收藏
举报

Oracle专家高级编程(中文版).pdf 个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!
http.:/showmecode.cn/inks/book (京)新登字158号 北京市版权局著作权合同登记号:01-2001-4306 内容简介 本书是一本关于使用 Oracle成开发应用稈序的工具手册,书 Oracle公司的资深开发人员 Tomas kyte集 自己多年开发经验编写。学小本书能帮助读者彻底理解 Oracle的丁作原理,并将 Oracle作为一个强大的计算环 塘又使用,书中内容可以迅速解决大多数信息管理问题。书中选择了最重要的特性和技术,并结合实际范例进 行讲鲜,不仅述∫这些特性,咖且还讨论了如何使用它们开发软件,并指出了潜在的缺陷。 本书内容包拓ac数据库的基本概; Oracle数据厍堵杓和实用程序; Oracle数据库性能优化:高级SQL 特性;用 interMedia、基于C的外部过程、Jaa存储过程和对象关系特性实现 Oracle数据库功能的扩展; Oracle 邀据库安全管理的实现式等 本书适用丁使用Oa进行数据库开发的人员,包括有经验的orce开发人员、DBA、 Oracle项目管聞人 员等 Thomas Kyte: expert one-on- one Oracle EsBN;181004-82 Capyrighte 2001 by Wrox Press Ltd Authorized translation from the English language edition published by wrox Press Ltd All rights reserved. For sale in the People's republic of China anly Chinese simplified language edition published by Tsinghua University Press 本书中文简体字版出清华大学版社和英国乐思出版公司合作出版未经出版者书面许可,不得以仟何方 式复制或抄袭本书内容 版权所有,翻印必究 本书封面贴有清华大学出版社激光防伪标签,无标签者不得销售。 书名: Oracle专冢高级编程 作者:[美] Thomas Kyte著袁勤勇张玉魁等译 出版者:清华大学出版社(北京清华大学学研大厦邮编100084) http://www.tup.tsinghuaede.cn 责任編辑:郭东青 印刚者:北京大中卬刷 发行者:新华书店总店北京发行所 开本:787×10921/1印张:79.75字数:2040千宇 版次:20年4月第版202年4月第次印刷 书号:ISFN732-05334·/TP·3133 印数:c00l~500 定价:138.00元 http.:/showmecode.cn/inks/book 出版者的话 近年来,国内计算机类图书版业得到了空前的发展,面向初级用户的应用类 软件图书铺天盖地,但是真正有深度和内涵的高端图书不多。已经掌操计算机和网 络基础知识的人们,尤其是T专业人士迫切需要“阳春白雩”。I图书出场呼唤 精品! 为了满足这种市场需求,清华大学出版社从世界出版业知名品牌Wrx出版公 习引进了受到无数I专业人士青睐,被奉为IT出版界经典之作的 Professional系列 丛书。这奩讲述最新编程技术与开发环境的高级编程从书,从头到尾都贳穿了Wrox 出版公司“由程序员为程序员而著( rogrammer to Programmer)”的出版理念,每 本书无不是由自软件人之于。实际上,Wrox公司的图书仵者都是世界顶级I'公 可(如 Microsoft,rBM, oracle以及HP〕的资深程序员,他们的作品既深入研究编 稈杋理,传授最新编程技术,又站在程序员的角度,指导程序员拓展编科思跻.学 习实用开发技巧,从而风靡世界各地,被IT业人士和程序员视为职业生淮中的必 读之作 作为国内m出版社中最知名品牌,清华大学出版社与Wrx公可合作引进了这 套 Professional系列,然后迅速组织了…批相关领域的知名专家学者进行翻译,经过 编辑人员认真细致的加工后,现陆续奉献给广人读者。 读者可以从www.wroxcoH站下载所的源代码并获得相关的抆术支持。同 时,也欢迎广人读者参与p2 P-wrox.Com网站的在线讨论,与世界各地的编程人员 交流读书感受和编程休验。 http.:/showmecode.cn/inks/book 前 本书中材料的灵感米自于我廾发 oracle软件的经验,以及与 Oracle廾发人员一起工作,帮 玏他们构建可靠的、健壮的、基于 Oracle数据库应用程序的经验。本书的内容反映了我每天的 工作内容和人们每天所遇到的问题。 木书包括∫我认为最相关的內容,也就是 Oracle数据序及其休系结构。我可以写一本类似 主题的书,来解释如何使用特定语言和体系结构来开发应用程序。例如,一个使用 Java server Pages与 nterprise Java Beans通信的应用程序,该应用程序使用JDBC与 Oracle进行通信。但 是,为了成功地构建此类应用程序,您真三需要的是理解木书的主题。木书介绍我认为对使用 Oracle进行成功廾发所应该普了解的内容,m不管您是使用ODBC的 visual basic程序员 还是使用EJB和JDBC的Java程序员,或者是使用 DBI Perl的Perl程序员。本书不支持特定 的应用程序体系结构;它不会比较3层结构和荠广-服务器结构。相反,本书介绍数据库可以完 成的工作,以及落必须了解的数据库工作方式。由于数据库是应用程序体系结构的核心,因此本 书应该拥有广泛的读者群 本书内容 拥有许多开发选项的·…个问题是指出哪·个选项是满足特定需要的最佳选择。每个人都希 望拥有尽可能多的灵活性(拥右尽可能多的选项),但是他们也希望事情简洁明了,换句诂说就 是容易 Oracle为开发人员提供了几乎无狠的选择。不曾有人说过:“您不能在 Orache中做这 个工作。”他们说:“在 Oracle屮有多少种不同方式供您选择来完成这个工作”。我希望本书 将帮助您作出正确的选择。 本书写绐这样的读者,他欣赏选择,但也喜欢关于Orac特性和功能的一些指南和实际的 实现细节、例如, oracle拥有一个高效的特性,称为虚拟专用数据库 virtual private database) Oracle文档告诉您如何使用该特性,以及该特件能够做什么。 Oracle文档没有指出什么时候应 该使用该特性,以及什么时候不能使用该特性,后者也许更为重要。它不会总告诉您其实现细 节,如果您不清楚这些实现细节,就会被迷惑(我不是在谈bug,而是指此特性的工作方式,及 其真正的用途 本书读者对象 本书的读者对象是使用 Oracle作为数据库后端开发应用程序的任何丸。本书写给需要了解 如何使用薮据库进行工作的专业Oac开发人员。本书特点决定了本书的很多部分也是 DBA(数据库管理员)所感兴趣的。本书的大多数范例使用SQL*PUS来演示关键特性,囚此您 http.:/showmecode.cn/inks/book vi. 〔race专同缴编 不会找到如何开发真上“酷”的GUI,但您亼学习〔 Oracle数据库工作原理,其X键特性的作用 什么时候应该(不应该使用它们 本书写给希望半功倍地使月 Oracle的人,给希望仗用新方法使用现有特性的人,写给 希望如何把这些特性应用到现实世界(不仅仅是如何使用特性的例子,而H还有为什么这些特性 首先是相关的)的人。对本书感兴趣的共一类人,是负责管理 Oracle项H开发人员的技术经理, 从某种角度讲,他们理解为什么懂得数据库对于成功是至关重要的,这一点也相当重要。本 能够为史以正确的技术培训员工的经理提供必备的参考。 为了充分利月木书,您必须具有下列知识 SQL的知认。您不必是最好的SQL编程员,但良好的使用SQL的知识对您是有帮劫的。 对PL/SQL的理解。这不是前提条件,但将帮助您“琿解”范例。例如,本书将不会训 授如何编写一个fnr循环或声明一个记录类型,这些内容在 oracle文档和很多书籍l都有介 但是这并不是说,通过阅读本书您不会学到有关 PL,SQL的知认。实际卜,您将熟悉 PL/SQL 的很多特性,了解以前知道的现有的程包和特性 熟悉第二代语言,例如C或Java能够读写第=代语言代码的人将能够成功地阅读并理 解本书中的范例。 ●熟 Oracle服务器概念手册 关十上述最后一点的说明:由于 Oracle文档集的篇幅庞大,很多人发现 Oracle文样在某种 程度令人生畏。如果您刚刚起步,哎根本没有阅读过 Oracle文档,那么最好完从 oracle8i Concept手册学起。该书人约有800页,涵盖了您需要知道的很多主要的 Oracle概念。它可能 没有给出每一个技术细节(这要用100~20000文档介绍),但是它介绍了所有币要的慨念 该手册涵盖下列题 ●数据戽结构,如何组织、你储数埚 分布式处理技术 Oracle的内仨体系结构, 0 racle进程体系结构 ●将使用的模式对象(表、索引、聚簇等等)。 ●内嵌的数据类型和用户定义的数据类型。 SL存储过程。 ●事务丁作愿理 优化器。 ●数据完整性。 并行性控制。 本书在需要的时候,会对这些主题进行反复讲鲆。它们是基础,如果没有这些识,您的 Oracle应用程序很容易失败。这里建议您通读该书,并理解这些主题 本书结构 为了帮助您浏读本书,本书组织为6个相对独立的部分(参见下面约描述)。这不是严格的 http.:/showmecode.cn/inks/book 划分,空们将帮助您迅遽找到最需要的内容。木扌共有23章,每…章实质上都是·本微书 師一个独ⅵ部分。有时候,我会在其他章中引用泣例或犊性(尤蠶是“安全性”部分,它更多地 依赖在以前丘节中建立的范例和概念),但是您可以从本书中选择杠何一章,并单独阅读。例如, 读者不必为了阅读或使川第14章而先阅读第B章 每一章的格式和风格实际上是相同的: 对特性或功能的简描述。 为什么(或为什么不)要使用它。概括介绍考虑使用该特性的时间,以及什么时候不要仗 用该特性。 ·如何使用该特性。这不仅仅是SQL参着的简单刚本,而且足分步骤详细描述该性。这 些内容正是读者所需要学握的,这此内容也是您必须完成的操作,这些内容又是您必须掌握的 关键知识。这部分的内谷包括: 如何实现它 氾例 调试特性 使用该耔性的警 事先处埋错误 结 本书灯很多范例和大量的代码,所有这些蓄可以在htt:ww. WrOX coIi上下载。下面是对 每部分内容的详细介绍。 理解数据库 ·第1章“开发成功的 Oracle应用程序”。小草陈达了数据库编程的基木方法。所有的 数掂库都不会柜同,为了成池、按时地开发数据库驱动的应用程序,您必须确切她理解特定 的数据库能够完成T怍,它是如何做的。如果您不知道数据库的功能,那么航有可能做邪些 重复性的匚作,即丌发据庥已经提俱削功能。如果您不知道数据库如何T作,就可能开发性 能拙劣、不能按预订方式据作的应用程序。 本章介绍∫一些由!缺乏对数据阵的基本理解扣导致项目失败的实驱例子。使用这种例 方法,本章讨论了J发人员雷要理解的基本特性和功能,最低要求是您不能把数据阵视为简单 地返回答案的黑盒」,由数据库身维护伸缩性和性能。 第2章“体系结构” Oracle数据库是高度复杂的工具。每次您连接到数据,或发出 个 UPDATE命令时,在后台发生许多进程,以保证应用程序运行平稳,数据的定整性得到 维护。例如,如果需,数据厍保证炜有足够的信息以便能够把数据恢复到其本米初始状念 它将高速缓存程序数据,自动地在合适时重用数据,等等。在大多数时间里,所这些操作 都是透联的(全少对于形发人员来说),但是发生故时,一半的「作是知道在何处找到闳题。 本章介紹 Oracle体系结构的3个主要部升—存结构(尤其是系统全局区域( System Global area)、物理进程及其文件集〔参数文件、更做!忐文件等等)。理解Qac体系结构是理 解 Oracle实现特定特性豹独特方式发其如何影响应用程序的独特店式的基础。 ·第3章“封锁和并行性”,不同数据库县冇不同的运打式(在 sQl, erver中运行良好, http.:/showmecode.cn/inks/book .+ 0rale与氢句级编程 在 Oracle中不-定能运行),玛解 Oracle实现锁定和并行控制的方式,对于应用程序的成功是绝 对至关重要的 本章讨论∫ Oracle解决这些问蔥的基本方、能够应用的锁定类型DM、DDL、锁存器 latches}…)以放没仃注意实现封锁时产生的问题(死锁、阻塞、锁定扩大( escalation)并行性 控制部分讨论了 Oracle提供的控制用户访问并修改数据库的功 第4章“事务”。∮务是所冇数据庳的基本特性,这是数据库区别于文件系统的特点之 但是,事务常常被铓误解,诈多开发人员甚至不知道他们竟然没有使用事务、本解释 ∫在. Oracle屮应该如何使用事务,乜揭示了在用其他数据进行肝发时的一屿“坎习惯”。特 别是,啦调原子性( atomicity)的含意,及其如何影响 Oracle语们。接着讨论事务控制语 ( COMMIT、SAⅤ EPOINT、 ROLLBACK)完整性约束和分布式亨务(两阶段提交)。最后,探 有关使用事务的—些实际问题:如何记录事务以及重做(redo)和撒消(undo)的作用。 数据库结构和实用程序 第5章“重做和回滚”。可以说,与DBA相比,一般开发人员没有必要理解同样多的 做和问滚( rollback)的节,但开发人员也俪要理解重做和回滚在数据厍中的作用。在第次 定义重做以后,与查了 COMMIT命令的确切功能。同时也考患了诸如产生多少重做、E志的 关闭、重做的分等等问题。 在章有关回滚的部分,在介绍 Set transaction SQL语句之前,首先介绍是什么毫无例外 地产生:揿消操作,这一股用J选钗一个大山滚段进行一些大型操仵然后,详细介绍臭名昭著 竹“ORA-1555 snapshot too old”锆误,探讨其原因及郾解决方案。 第6章“数据库表”。 Oracle支持很多类利的表。本草介绍各种类型的表:堆组织表heap iniεd)(默认情况下的普通表)、紫引组织(ideκ pearlized)表、索引槳簇( (idex clustered)表 聚能 hash clustered表、掀赛( nested)表、临时 temporary)表和对象 object)表,并讨论了什 么时恢、如何、为什么仗川们。在大多数时恢,堆组织表就足够使用了,但是您必能够意 识到什么时候使邢其他类型的表更为合适。 第7章“索引”。索引是应用程序的一个不关重要的方面。数据库程序的止确现需要 深入了解数据及其如何分布、如河使的知认。紫引常常被视为应用程序开发中事后规划的内 容,从而使性能曼到损害、 木章详细介绍不同类型的索引,其中包括B*Tree、位图、基J函数和应川程序域索引,并 讨论什么地方应该或入应该使川它们。还将回答在“常见问题”部分中的问题,例如“索引作 图上能运行吗?”、“为亻么没用使用索引?”。 第8章“导入和导出”。导入和导出是 Oracle提供的两个最老射工具,它们用于从个 Oracle箕例屮抽取表、模式( schema)或整个数据车定义,并导入到另一个实例或模,但是 很多发人员不知道如何使用这两种工。这里介绍诸如大型导出、构建子集和传输数据并 绠用亡们作为备份或重组工民等主题、木章最后介糾仗用这些工貝时潜在的缺陷和问題 第9章“数据装载”。本章重点介绍 SQL LDR,并介纠使用该工具装载并修改数据库中 数据的各种方法。本章內容包括如何装载定界的数据,如何更新现有行、插入新行,如何斜载 数据,如何代仔储过程中调用 SQLLDR。 SQLLDR是一个已建立的关键工具,但就实际使用而 http.:/showmecode.cn/inks/book i」; . X 言,它还会导致许多问题。 性能 第10章“优化策略和工具”。在本章中将详细介绍优化 Oracle应用程序的方法,然店 提供了使用优化丁具的高度实用的指和抟巧。开放部分集中介绍应用程序优化,包括卜列女 题:绑定变量{ bind vanable)和分析、 SQL TRACE、 TIMED STATISTICS和 TKPROF、 DBMS PROFILER,以及对应用科进行|志操作的重要性。在应用程序完成彻底约优化以后 注意力应该转向数据库,尤其是在优化中使用的 Stats pack实用程序组和v$表 第11章“优化器方案稳定性”。攸用〔 oracle8及其吏高版杯)的开发人员现在到以存储 “服务器提示”,它称为优化器方案,详细描述如何在数据库中执行特定的SQL计句。显 然,这有利于拦能的提高,本章详细个绍如何生成人纲,如何管理大纲 高级SQL特性 第12章“分析函数”。有时俽,针对数据庳可以非常有规徫地提出某问毖,是直 接使用SL难编写回答它们的杳渝,该洵也无法总能迅速地执行。 Oracle81.5引入了分 析函数。这些函数犷脹了SQ语言,容易编码此类奩询,并通过功能类似的真接SQL询 著提高性能。本章阐述了分斩购数运行方式、完整的语法(包捐函数、分区、窗口句),然后 给出了一个使用这些函数的完整的实列例子。 第13章“物北视图”。某“聚集”查询为」产生答案,必处埋数以千兆的数搪 性能的含意很清晰,尤貝是进行常见产的时候,就是每当询问该问题封,将处理大量的数据。 利用这^特性,我们简单地预先做一些工作。唧在物位视图中汇总回答特定查洵所而的数据 后续的查询重定向到该汇总数据。比外,数据库能够认別使用汇总数据的类似查询,許自动地 重写询。本章讨论了它的上作原坦,建立物化视图的方泛,包括约.、维数和 DBMS OLAP 软件包的使用 第14章“分区”。分区旨在简化大型表和索引的管跇。它是通过“分割-忱”遇辑实 现的,也就是把表和索引分成更小史易管理的小片。这是DBA和开发人员必须合作,以使应 用程序的可用性和性能最大化的领域。本章介绍表分区和索引分区。还将介绍使用片部杂和 全危索引的分区。前者常见于数据仓车,后者常见于OLTP系统。 ·第15章“自治事务加。利用该特性,可以创建子事务;子事务叮以独于父事务提交 戌冋滚变化。还将介纤治串务适用的玚合,例如审核修改纹全信息约“非法”企图,以避免 反发生突变,或作为在触发器中执行DDL的方法。本章还将讨论诸如事务控制、f用域、 结束自治事务和存储点等。 第16章“动态SQL”。在本章中,对有样序中使用SQL许何的两种方汏进行了比较 “标”的静态S,方決和动态SQ方法。动念sQ.是在运行时执行的SQI句、响在编 译时并不知道它们。还膏介绍在程序中使用悫SαL两种方法,也就是使用所提供的内置程 序包 DBMS SQ和木机动态SQ。本机动态SQL是 PL/SQL屮使用的声明方法。选搭其中 种的理由很多,例如,在編详时是否知道绑定变呈,是否知道结果,给定语句是不在公话牛 执行一次或多次,等等。本章将详细讨论这些问题。 http.:/showmecode.cn/inks/book Oracle家訇级编程 可护展性 ●第17章“ intermedia”。木章重点介绍 interMedia text本阜没有详细介绍如使用 mterMedia Text,而是介绍忭么是 interMedia text,它提供的功能:启用该功能的数卌斥特性 木章介绍如坷搜索文本,管理各种文档,索引来闩多种数据源的文木,搜索XⅦL应用程 本亭最后给出了 intermedia的说明,仁活索引和数库外的索引信息的同步化。 第18章“基于C的外部过程”。 Oracle80中引入了在数据库服务器!实现过星的能力, 这种过程可以用不同于 PL/SQL的语言,例如C哦Jaa编写。它们被称为外部过程。在本章 中,将从体孙结构的角度介毕于C的过。还将润示如配置服务器以使用这些过程,测试 安装,并建立个传递、处理各种类型变量的范例过程。同时研究了 LOB to File (LoB Io)外 部过型,该过程把CLOB、BⅠOB和BFIE写到硬盘上。 第19章“Java存储过程”。通过明鉎坤应用少量Java,叫以获得大量钓有用功能,而 这些功能超出了PLsO所能实现的功能。在本中,将介绍一个实际例子,例子说明了该 功能有用的场合;如获得巨录列表或迳行-亼懍作系统命令。最后,还将提供在试图使用该特 性时可能遇到的问题以及一些解决方案。 第20章“使用对象关系特性”。在数据;中,对象关系特性可用性板大地扩充∫开发 人员可以快用的数据类型集。但是,什么时候应该使用它?同样,什么时候不应该使用它?在 本学中,将说明代系统中加入新数据类利这里创建」个新的PLS(L数据类型)的方汽,并介 绍集合的独特用泫。最后,将介绍对象关系视图,该部分内容适用于想使用对象关系特性,但 仍然为应用程序提供关系视图的读者。 安全性 第21章“精细存取控制( Fine Grained access control)。该特性允许您作运行时把胃 词附加到发给数据序的所有奁询。该特性在服务器上实项,意味着能够访问数库的了何应用 程序都可以使用该特性。使用该特性的深运理H包括易笙护和以As門方式宿主应用程序「能 勹。通过测试-对范例您公卉清它的工作原理。其中一个范例基于安仝策略实现:另个范 刨使用应用程序上下文。本章的最后是警告信息,其中包折参照完整性、导入寻出问题,以及 错信总 ●第22章“多层身份验证”。在木章屮,;讨论Web的作用,它导致了客户在真正访 问数据库之前向中间层应用程序服务器提供证书.将解释这个特性是如何实现,以及如何 作的。还将介绍如何授杈,如何审核代理账户 ·第23章“调用者和定义者权限”:从 Oracle8i开谿,可以为一个存储过程的不n用户 授予不同的权限。利用调用者杈狠,可以发存储过程,使有储过程能够在运行时以调用岩特 权执行。还将探讨为什么该特性很有用,例如丌发通用的实用艰序和数据子典应用积序时很有 用:也将探讨为什么在大多数恃下,定义者权限仍然是止确的选择。在“如何工仵”分 将介绍作编译定叉者和调用者权限过桿时实发作豹操作, 附录 ·附录A“必须提供的软件包”。开发过程中可能会忽略其中的很多软件包,或者说亡们

...展开详情
试读 127P Oracle专家高级编程(中文版).pdf
立即下载 身份认证后 购VIP低至7折
一个资源只可评论一次,评论内容不能少于5个字
si_846772111 质量很差, 文 字很模糊
2017-12-15
回复
jacklulu2010 质量很差,文字很模糊
2017-11-17
回复
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
上传资源赚钱or赚积分
最新推荐
Oracle专家高级编程(中文版).pdf 41积分/C币 立即下载
1/127
Oracle专家高级编程(中文版).pdf第1页
Oracle专家高级编程(中文版).pdf第2页
Oracle专家高级编程(中文版).pdf第3页
Oracle专家高级编程(中文版).pdf第4页
Oracle专家高级编程(中文版).pdf第5页
Oracle专家高级编程(中文版).pdf第6页
Oracle专家高级编程(中文版).pdf第7页
Oracle专家高级编程(中文版).pdf第8页
Oracle专家高级编程(中文版).pdf第9页
Oracle专家高级编程(中文版).pdf第10页
Oracle专家高级编程(中文版).pdf第11页
Oracle专家高级编程(中文版).pdf第12页
Oracle专家高级编程(中文版).pdf第13页
Oracle专家高级编程(中文版).pdf第14页
Oracle专家高级编程(中文版).pdf第15页
Oracle专家高级编程(中文版).pdf第16页
Oracle专家高级编程(中文版).pdf第17页
Oracle专家高级编程(中文版).pdf第18页
Oracle专家高级编程(中文版).pdf第19页
Oracle专家高级编程(中文版).pdf第20页

试读结束, 可继续阅读

41积分/C币 立即下载