出版時(shí)間:2011-1 出版社:人民郵電出版社 作者:Thomas Kyte 頁數(shù):706 譯者:蘇金國,王小振
Tag標(biāo)簽:無
前言
第一次接觸到OracleRDBMS是在1988年,也可能是1987年。那一天,經(jīng)理在我的辦公桌上放下一個小盒子,對我說了幾句話,大致意思是:“這是一個剛剛進(jìn)入國內(nèi)的新產(chǎn)品,名叫Oracle。你先試用幾個星期,看看它適合做些什么?!蹦莻€版本可能是5.0.2 2,當(dāng)時(shí)學(xué)習(xí)Oracle可比現(xiàn)在簡單多了。全套的印刷手冊(包括Forms2.0和SQL,*Report等)可以放在一個小小的公文包里,createtable語句的文檔只有大約3頁而已。如果查看11.2 SQL參考手冊的PDF文件,會發(fā)現(xiàn)從16-6頁開始,直到16-79頁全都是createtab]e語句的文檔,總共有74頁。我最后一次查看9i手冊時(shí),總頁數(shù)已經(jīng)超過了20000頁。我想,對于10g和11g,文檔的總頁數(shù)應(yīng)該不會低于這個數(shù)字。由于5.0.2 2只有3本相當(dāng)薄的手冊,所以沒過多久我就全面了解了Oracle能夠做些什么以及如何高效地完成工作。那時(shí)沒有太多選擇余地,所以出錯的機(jī)會也不多。不過如今Oracle內(nèi)核已經(jīng)“深埋”在不計(jì)其數(shù)的選項(xiàng)和特性之下,這使得Oracle的學(xué)習(xí)困難重重,該如何下手呢?更糟糕的是,著手學(xué)習(xí)時(shí),我們真正需要了解的細(xì)節(jié)并不是一目了然的,它往往被其他大量信息所“掩蓋”,當(dāng)然了解這些信息本身并不是壞事,但它們對于入門來說并不是至關(guān)重要的。答案很簡單。第1步:閱讀概念手冊,對內(nèi)容有個大致了解。第2步:讀’tomKyte的這本書,通過邊學(xué)習(xí)邊試驗(yàn),從一個初次嘗試“select‘helloworld’fromdual”的“菜鳥”轉(zhuǎn)變成Oracle高手,有朝一日也能自信滿滿地說出一些“高深”言論,比如:“出于某個原因,我們應(yīng)該使用一個分區(qū)IOT,將這些列放在這個表的溢出區(qū)中。”Tom的這本書集三點(diǎn)于一身:一種輕松交流的風(fēng)格,使讀者能夠更容易地了解技術(shù)細(xì)節(jié),在知道“怎樣做”的同時(shí)還能理解“為什么這樣做”;一種結(jié)構(gòu)化的“敘事方式”,你會看到,相關(guān)描述都針對同一個目標(biāo),而不是把支離破碎的技巧簡單地匯集在一起;一組精心組織的示范說明,讓你了解Oracle的工作原理,還會教你怎樣做以及怎樣思考。僅以索引為例。索引有許多種,首先需要簡要介紹這些不同類型。例如,如果對樹索引的具體工作原理有所認(rèn)識,會很有好處,這樣我們才能更好地了解這種索引的優(yōu)缺點(diǎn)。然后可以轉(zhuǎn)向基于函數(shù)的索引,也就是“尚不存在的數(shù)據(jù)”的索引。
內(nèi)容概要
本書是一本關(guān)于Oraclc Database
9i、lOg和llg數(shù)據(jù)庫體系結(jié)構(gòu)的權(quán)威圖書,涵蓋了所有重要的,Oraclc體系結(jié)構(gòu)特性,包括文件、內(nèi)存結(jié)構(gòu)和進(jìn)程,鎖和閂,事務(wù)、并發(fā)和多版本,表和索引,數(shù)據(jù)類型,分區(qū)和并行,以及數(shù)據(jù)加密等,并利用具體的例子來全面介紹每個特性,不僅討論了各個特性是什么,還說明了它是如何工作的,如何使用這個特性來開發(fā)軟件,以及有關(guān)的常見陷阱。
本書面向所有Oracle數(shù)據(jù)庫應(yīng)用開發(fā)人員和DBA。
作者簡介
作者:(美國)凱特(Thomas Kyte) 譯者:蘇金國 王小振 等Thomas Kyte,Oracle公司核心技術(shù)集團(tuán)副總裁。從5.1.1 c版本開始使用Oracle,自7.0.9 版本發(fā)布就一直任職于Oracle公司,幫助Oracle數(shù)據(jù)庫用戶設(shè)計(jì)和構(gòu)建系統(tǒng),或者對系統(tǒng)進(jìn)行重構(gòu)和調(diào)優(yōu)。此前曾是一位系統(tǒng)集成師,主要為美國軍方和政府部門的客戶構(gòu)建大規(guī)模的異構(gòu)數(shù)據(jù)庫和應(yīng)用。長期主持Oracle Magazine“Ask Tom”專欄,熱心回答困擾全世界OracIe開發(fā)人員和DBA的各種問題。除本書外,還著有廣受好評的《Oracle專家高級編程》和《Oracle高效設(shè)計(jì)》。
書籍目錄
第1章 開發(fā)成功的Oracle應(yīng)用
1.1 我的方法
1.2 黑盒方法
1.3 開發(fā)數(shù)據(jù)庫應(yīng)用的正確(和不正確)方法
1.3.1 了解Oracle體系結(jié)構(gòu)
1.3.2 理解并發(fā)控制
1.3.3 多版本控制
1.3.4 數(shù)據(jù)庫獨(dú)立性
1.3.5 怎么能讓應(yīng)用運(yùn)行得更快
1.3.6 DBA與開發(fā)人員的關(guān)系
1.4 小結(jié)
第2章 體系結(jié)構(gòu)概述
2.1 定義數(shù)據(jù)庫和實(shí)例
2.2 SGA和后臺進(jìn)程
2.3 連接Oracle
2.3.1 專用服務(wù)器
2.3.2 共享服務(wù)器
2.3.3 TCP/IP連接的基本原理
2.4 小結(jié)
第3章 文件
3.1 參數(shù)文件
3.1.1 什么是參數(shù)
3.1.2 遺留的init.ora參數(shù)文件
3.1.3 服務(wù)器參數(shù)文件
3.1.4 參數(shù)文件小結(jié)
3.2 跟蹤文件
3.2.1 請求的跟蹤文件
3.2.2 針對內(nèi)部錯誤生成的跟蹤文件
3.2.3 跟蹤文件小結(jié)
3.3 警告文件
3.4 數(shù)據(jù)文件
3.4.1 簡要回顧文件系統(tǒng)機(jī)制
3.4.2 Oracle數(shù)據(jù)庫中的存儲層次體系
3.4.3 字典管理和本地管理的表空間
3.5 臨時(shí)文件
3.6 控制文件
3.7 重做日志文件
3.7.1 在線重做日志
3.7.2 歸檔重做日志
3.8 密碼文件
3.9 修改跟蹤文件
3.10 閃回日志
3.10.1 閃回?cái)?shù)據(jù)庫
3.10.2 閃回恢復(fù)區(qū)
3.11 DMP文件(EXP/IMP文件)
3.12 數(shù)據(jù)泵文件
3.13 平面文件
3.14 小結(jié)
第4章 內(nèi)存結(jié)構(gòu)
4.1 進(jìn)程全局區(qū)和用戶全局區(qū)
4.1.1 手動PGA內(nèi)存管理
4.1.2 自動PGA內(nèi)存管理
4.1.3 手動和自動內(nèi)存管理的選擇
4.1.4 PGA和UGA小結(jié)
4.2 系統(tǒng)全局區(qū)
4.2.1 固定SGA
4.2.2 重做緩沖區(qū)
4.2.3 塊緩沖區(qū)緩存
4.2.4 共享池
4.2.5 大池
4.2.6 Java池
4.2.7 流池
4.2.8 自動SGA內(nèi)存管理
4.2.9 自動內(nèi)存管理
4.3 小結(jié)
第5章 Oracle進(jìn)程
第6章 鎖和閂
第7章 并發(fā)與多版本控制
第8章 事務(wù)
第9章 redo與undo
第10章 數(shù)據(jù)庫表
第11章 索引
第12章 數(shù)據(jù)類型
第13章 分區(qū)
第14章 并行執(zhí)行
第15章 數(shù)據(jù)加載和卸載
第16章 數(shù)據(jù)加密
章節(jié)摘錄
插圖:對于開發(fā)數(shù)據(jù)庫軟件,我有一套很簡單的哲學(xué),這是我多年以來一直信守的準(zhǔn)則??谌绻赡?,盡量利用一條SQL語句完成工作。無論你是否相信,這幾乎總是行之有效的方法。口如果無法用一條SQL語句完成,就通過PL/SQL實(shí)現(xiàn)。(不過,盡可能少用PL/SQL)要知道,代碼越多,bug越多l(xiāng)代碼越少,bug越少??谌绻赑L/SQL中也無法做到,可以試試使用Java存儲過程來實(shí)現(xiàn)。不過,有了OracleDatabase9f及以上版本后,如今需要這樣做的可能性極小。口如果用Java還辦不到,那就在c外部例程中實(shí)現(xiàn)。如果速度要求很高,或者要使用采用c編寫的第三方API,就常常使用這種做法??谌绻赾外部例程中還無法實(shí)現(xiàn),就該好好想想有沒有必要做這個工作了。在這本書中,你會看到我是怎樣將上述思想付諸實(shí)踐的。我會使用PL/sQL和PL/sQL中的對象類型來完成SQIL本身辦不到的事情。PL/SQL發(fā)展至今已經(jīng)有很長時(shí)間了,它經(jīng)歷了長達(dá)二十多年的調(diào)整和優(yōu)化。實(shí)際上,OracleDatabase10g編譯器本身就首次重寫為一個優(yōu)化編譯器。你會發(fā)現(xiàn),沒有哪種語言能像PL/SQL這樣與sQL如此緊密地耦合,也沒有哪種語言得到如此優(yōu)化,可以與SQL更好地交互。在PL/sQL中使用sQL是一件相當(dāng)自然的事情,而在幾乎所有其他語言(從VisualBasic到Java)中,使用SQL都很麻煩。對于這些語言來說,使用SQL絕對沒有“自然”的感覺,它不是這些語言本身的擴(kuò)展。如果PL/SQL還無法做到(這在當(dāng)前數(shù)據(jù)庫版本中相當(dāng)少見),我們會使用Java。有時(shí),如果c是唯一的選擇,或者需要C才能提供的高速度,我們也會用c來完成工作。隨著本地Java編譯(nativeJavacompilation)的閃亮登場(可以把Java.字節(jié)碼轉(zhuǎn)換為具體平臺上特定于操作系統(tǒng)的對象碼),你會發(fā)現(xiàn),在許多情況下,Java.與C的運(yùn)行速度相差無幾。所以,需要用到c的情況越來越少。1.2 黑盒方法根據(jù)我個人的第一手經(jīng)驗(yàn)(這表示,在學(xué)習(xí)軟件開發(fā)時(shí)我自己也曾犯過錯誤),我對基于數(shù)據(jù)庫的軟件開發(fā)為什么如此頻繁地遭遇失敗有一些看法。先來澄清一下,這里提到的這些項(xiàng)目可能一般不算失敗,但是啟用和部署所需的時(shí)間比原計(jì)劃多出許多,原因是需要大幅重寫,重新建立體系結(jié)構(gòu),或者需要充分調(diào)優(yōu)。我個人把這些延遲的項(xiàng)目稱為“失敗”,因?yàn)樗鼈冊究梢园磿r(shí)完成(甚至可以更快完成)。
編輯推薦
《Oracle Database 9i/10g/11g編程藝術(shù):深入數(shù)據(jù)庫體系結(jié)構(gòu)(第2版)》是公認(rèn)的Oracle數(shù)據(jù)庫權(quán)威指南,凝聚了世界頂尖的Oracle專家Thomas Kyte數(shù)十年的寶貴經(jīng)驗(yàn)和真知灼見。書中深入分析了Oracle數(shù)據(jù)庫體系結(jié)構(gòu)。包括文件、內(nèi)存結(jié)構(gòu)以及構(gòu)成Oracle數(shù)據(jù)庫和實(shí)例的底層進(jìn)程,利用具體示例討論了一些重要的數(shù)據(jù)庫主題。如鎖定、并發(fā)控制、事務(wù)等。同時(shí)分析了數(shù)據(jù)庫中的物理結(jié)構(gòu),如表、索引和數(shù)據(jù)類型,并介紹采用哪些技術(shù)能最優(yōu)地使用這些物理結(jié)構(gòu)?!禣racle Database 9i/10g/11g編程藝術(shù):深入數(shù)據(jù)庫體系結(jié)構(gòu)(第2版)》在上一版的基礎(chǔ)上做了大量增補(bǔ),以涵蓋11g最受關(guān)注的多項(xiàng)特性,尤其針對數(shù)據(jù)加密進(jìn)行了詳細(xì)的闡釋。無論你是開發(fā)人員還是DBA,要創(chuàng)建和管理穩(wěn)定、高質(zhì)量的Oracle系統(tǒng),歸根結(jié)底都需要理解Oracle數(shù)據(jù)庫的體系結(jié)構(gòu)。
名人推薦
“《Oracle Database 9i/10g/11g編程藝術(shù)》能夠幫助你發(fā)揮OracIe技術(shù)的最大能量……毋庸置疑,這是最重要的Oracle圖書之一,絕對值得擁有?!薄 狵en Jacobs.OracIe公司產(chǎn)品策略部(服務(wù)器技術(shù))副總裁。公認(rèn)的“DBA博士”“《Oracle Database 9i/10g/11g編程藝術(shù)》真是一本絕妙的書,包含大量關(guān)于Oracle技術(shù)的真知灼見?!薄 猄ean Hull。Heavyweight Internet集團(tuán)
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
Oracle Database 9i/10g/11g編程藝術(shù) PDF格式下載