技术凝聚实力,专业创新出版
Oracle 11g权威指南
j0bP5j;T"@0【书 名】Oracle 11g权威指南
czu%C:o(_"F0【作 者】谷长勇等编著
:Y4g ixRYp0【ISBN】 978-7-121-06572-9
p7nK G4CPg0【出版社】 电子工业出版社
,f4J-s2r6vt/B0【出版日期】2008年6月
v&y\'`FX Vo0
.\9wE6D0Dt0ITPUB个人空间 q2Rp;Y6C*At s
【内容简介】
)VV4l"n-?$T#h5N0本书从数据库的基础知识入手,全面系统地介绍了Oracle 11g数据库管理系统的所有特性,并配以翔实的实际用例,严谨的论述,深入探讨了这些特性的细节内容,同时具有很强的可操作性和实用性。
全书内容共37章,分为7大部分:ITPUB个人空间3G sUa/sr
第一部分为Oracle 11g数据库基础;第二部分为Oracle 11g数据库的管理;第三部分为Oracle 11g数据库的备份与恢复;第四部分为Oracle 11g数据库集群技术与高可用性;第五部分为商业智能与数据仓库;第六部分为非结构化数据库,包括空间数据库和XML数据库;第七部分为Oracle 11g数据库其他新特性,对Oracle 11g应用增强、高级数据库管理和数据库升级等新特性进行了详细讲解。本书是Oracle 11g数据库所有特性的集大成型手册,可供Oracle数据库管理员、Oracle数据库应用开发人员、Oracle数据仓库工程师使用,还可以作为Oracle技术支持和培训结构、高等院校数据库课程的参考教材。
【序】
4eRW`[NP0N&K1g]0一书在手,别无所求。这是我在总览本书之后的由衷感触。这实在是一本Oracle 11g数据库的大全之作,几乎囊括了Oracle 11g数据库所涉及的全部内容。然而,却又不是对所有知识点的简单罗列,全书的内容由浅入深,层层推进,点、线、面泾渭分明、点面结合,重点突出,结构严谨,技术含量颇高,充分体现了本书作者对Oracle数据库总体架构的深刻理解和精准把握。没有多年的数据库规划设计、管理、开发及工程实施经验,是难以做到这一步的。ITPUB个人空间lw JR6o `
然而细读本书的章节内容,更为本书的作者们在写作过程中所持有的严谨态度及对读者的那份真诚所感动。可以看出,书中对每一部分内容的讲解,都力求做到实例详尽、可操作性强,充分考虑到了不同层次读者的接受能力。此外,更难能可贵的是,本书所涉及的各种脚本和命令,都经过了严格的测试,这也是对读者负责的一种表现。ITPUB个人空间e)Y,V?3n+CZi
本书融合了作者们多年的数据库、数据仓库、商业智能领域的管理、开发及工程实施的经验和心得。我想,无论是初学者、经验丰富的数据库管理员、开发人员,还是广大的数据仓库和商业智能领域的IT同行们,都可以从对本书的研读中得到自己所亟需的Oracle 11g的知识和技能。ITPUB个人空间"l s%[qp%I:Q
众所周知,Oracle数据库系统的体系结构博大精深,内容庞杂,新特性、新功能层出不穷,无论支持OLTP还是数据仓库、空间数据库都有各自不同的技术侧重点。虽然从Oracle 10g开始Oracle就致力于简化DBA的管理工作,但对最新版Oracle 11g的学习和掌握仍将是一条漫长的道路。我相信本书的出版必将对广大读者学习Oracle 11g起到事半功倍的效果。ITPUB个人空间6T(|pb}_k
期待着作者的下一本书,把更多、更全面的Oracle的技术及架构设计的最佳实践分享给大家。
o6X)Mw})`0甲骨文(中国)软件系统有限公司 售前咨询顾问总监ITPUB个人空间/|'i2o0kr
李 珈
8Wwl7I ])X0【前言】ITPUB个人空间$XUxP(it$qg
关于本书ITPUB个人空间z)]MR]]
在IT技术高速发展的今天,数据库技术的地位越来越重要。任何大型信息系统,都需要有数据库管理系统(DBMS)作为支撑。其中,Oracle以其卓越的性能获得了广泛的应用,已经成为当今世界上最流行的关系型数据库管理系统。因其在数据安全性与数据完整性方面的优越性能,以及跨越操作系统、多硬件平台的数据互操作等特点,越来越多的用户使用Oracle作为其信息系统管理、企业数据处理、Internet、电子商务网站等领域应用数据的后台处理系统,其使用已遍及军队、邮政、电信、海关、税务、保险、电力、化工和汽车等各行各业。如何开发、使用与管理Oracle数据库系统,特别是如何保证大型数据库的安全运行,一直是广大数据库用户最为关心的问题。ITPUB个人空间P$}3C^OdL
为了追求更高的技术水平和更好地满足用户的需求,Oracle被不断改进和完善,最新推出的11g的功能有了新的飞跃。它不但改进了许多已有的功能,还增加了很多更加智能、可靠的新特性。
ta9P'a)i M0本书特点ITPUB个人空间X'^+[5ZmD(C1C}
1.内容丰富
V5OTK7j-i0本书不仅包括了Oracle数据库的基础概念和开发,也包括高级数据库管理技术(如备份、恢复、优化等),而且还涵盖了Oracle数据库中的数据仓库特性(如ETL、OLAP、数据挖掘等)和非结构数据管理技术(包括XML、空间数据)。ITPUB个人空间Oj1N d$T
2.逐层深入ITPUB个人空间'J8G+_^G e `#e1c
在每个章节组织上,首先介绍初级知识,然后介绍高级新特性,最后结合实际用例解释。初级知识有助于初学者入门;而高级新特性可作为有经验的Oracle数据库爱好者快速学习11g的资料;用例部分则作为开发者理解各种特性的参考。
us7w!pca0本书结构
3g6P`x%Cz0全书共分为7大部分,按照内容模块组织章节,每一部分的内部章节之间既前后有序、循序渐进,同时又具备相对独立性,方便不同层次的读者阅读和使用。
:M:t/[,\%qa9b0第一部分为Oracle 11g 数据库基础,包括数据库基础知识、Oracle 11g简介、Oracle 11g数据库的安装/启动/关闭、SQL语言基础、使用SQL*Plus、PL/SQL基础和高级应用、使用Oracle SQL Developer等内容,让我们在对数据库和Oracle 11g形成较好的了解和整体认知的基础上,为后继内容的学习打下良好基础。
HyS,Wr)~oX0第二部分为Oracle 11g数据库的管理,主要介绍Oracle数据库结构、管理控制文件/重做日志文件/表空间/数据文件、模式对象管理、表分区与索引分区、用户管理与安全、数据完整和数据约束;此外还介绍了Oracle系统调整、Oracle SQL语句优化的基础知识,以及如何使用Oracle 11g Enterprise Manager来管理Oracle 11g数据库。
'p}kIeR5m0第三部分为Oracle 11g数据库的备份与恢复,本部分内容在对备份与恢复进行了总体介绍后,详细讲解了RMAN工具的使用、Oracle闪回技术、使用OEM向导备份和恢复数据库,以及数据导入/导出等内容。
o(Q)I"ha2P#L&}8g0第四部分为Oracle 11g数据库集群技术与高可用性,包括真正应用集群RAC、自动存储管理ASM、容灾与Data Guard、故障诊断、真正应用测试等内容。ITPUB个人空间M%rNm^9^
第五部分为商业智能与数据仓库,主要介绍了Oracle 11g 数据库在构建企业级数据仓库时的强大功能和诸多新特性,包括ETL相关的功能、Oracle Warehouse Builder、多维数据库、数据挖掘等内容。
,S+nPpO)B5EE0第六部分为非结构化数据库,包括空间数据库和XML数据库。ITPUB个人空间+n7W&v YQ+k
第七部分为Oracle 11g数据库其他新特性,对于Oracle 11g应用增强、高级数据管理和数据库升级等方面的新特性进行了详细讲解。ITPUB个人空间.],d6^1z(rx
全书理论与实践紧密结合,图文并茂,示例翔实,有助于广大爱好者的学习和把握。ITPUB个人空间1}j;C C3{A l
本书作者ITPUB个人空间ZlZ8Umja^f&a2_
本书的大部分章节由谷长勇(后面部分)和王彬(前面部分)执笔完成。另外,由陈杰完成了自动存储管理ASM、在线管理维护、生命周期管理、故障诊断等章节,单永红执笔完成了Data Guard、SQL增强、数据库控制、整体数据库管理及本书的内容简介与前言部分,而书中的表分区和索引分区、Datapump等部分章节则由王彬和陈杰合作完成。ITPUB个人空间"w*X/t9bqj#^%Q~
读者对象ITPUB个人空间:ANF;RO
本书是第一本将所有主要Oracle 11g数据库命令、函数、特性和产品综合在一起的核心参考书籍,是Oracle用户和开发人员应常备的参考手册。
y8R'fP:|q0Oracle数据库初学者和一般用户:本书试图提供一种有组织、有效地掌握Oracle核心内容的方法和思路,帮助Oracle的初级开发人员和一般用户快速了解基本概念,快速掌握开发技术,克服常见困难,以及获得正确的Oracle数据库知识。ITPUB个人空间*@|,qK&A'W^i)ML:K0w
具有一定基础的数据库从业人员:Oracle 11g数据库包括了众多的新特性,本书深入探讨了许多这样的问题(如真正应用测试、信息生命周期等)。有助于有一定Oracle技术基础的技术人员快速掌握11g新技术。
#~)f5nP8Vfs+Y+sNu0致力于Oracle数据库管理的人员:本书内容丰富,不仅包括了常规的关系数据库开发和维护内容,也包括对Oracle数据仓库与非结构数据库的介绍,有助于全面掌握Oracle数据库管理技术。
2qP-Ge T0@8g y9{0本书也可以作为各大中专院校相关专业的教学辅导或参考用书,或作为相关培训机构的培训教材。ITPUB个人空间M#V#b:A#l
致谢
yPz r D N+RB7E0在日常工作以及本书的写作过程中,得到了甲骨文公司(中国)软件公司数据库顾问团队的大力帮助,对此表示感谢。Oracle数据库技术爱好者杨廷琨先生对于本书部分章节也给出了宝贵建议,在此也表示感谢。ITPUB个人空间 fevbB tO
由于作者水平有限,时间仓促,而且Oracle 11g的可借鉴资料比较少,错误和不妥之处在所难免,望各位专家和读者给予谅解和指正,不吝赐教。
6Y0N0qs V3i8HE0“我们从您那里学到的与我们传授的一样多”。
r?A cI#k#\q6r0编 者 ITPUB个人空间/qM,I&IU3Re
2008年3月ITPUB个人空间W0LK5h.|B-n7H?6|"\a
【目录】
(xE W%Nn0第一部分 Oracle数据库11g基础
0_Jam A-K*z0第1章 数据库基础知识 2ITPUB个人空间e/Y(~FiY{
本章主要介绍了数据库的基础知识,包括数据库、数据库管理系统及关系数据库等基本概念,此外还介绍了目前应用比较广泛的各种关系式数据库系统。ITPUB个人空间,p5d3zT;h?D y \
1.1 数据库的产生 2ITPUB个人空间Woea?/vw
1.2 数据库特征 2ITPUB个人空间)HC5~5c/E$hlf.P
1.3 数据库的组成 3ITPUB个人空间A;kd8KSb
1.4 数据库管理系统 3
2kP.u3@3jWb01.5 关系数据库 4ITPUB个人空间bGU xGZ4q ~*[
1.6 本章小结 8
`/M(j+d,_1e ~$}9xiX/W0第2章 Oracle 11g简介 9ITPUB个人空间4C,|;v$p&H
本章主要介绍了数据库的基础知识、Oracle数据库的特点、发展历史及Oracle的最新数据库版本11g的一些新的特性。
$hU!g#[b[a_4YI02.1 发展历史 9ITPUB个人空间&{XD%X{ v-`;X{1Ny
2.2 Oracle版本号的含义 10
5zG_.Mb1It Z X02.3 Oracle网格技术 11
3\8|D7oL3x e h02.3.1 网格概述 11ITPUB个人空间*z DxlJJ]#H8H
2.3.2 网格的基本属性 12ITPUB个人空间'N*sK1L"W-l
2.3.3 Oracle网格基础架构 13ITPUB个人空间P(O$x%]U[t
2.4 Oracle 11g新增功能 15
g5u#Bhl/SCw02.4.1 企业网格管理的高可用性 15ITPUB个人空间f2TZx,^v+r
2.4.2 优化的性能 17ITPUB个人空间K3xZ5lVUQ\n
2.4.3 简化的信息管理 18ITPUB个人空间)v0xcn Du
2.4.4 集成的信息 20
#vY;q4Fa02.4.5 内置的业务智能 21
wa!V.Hv0U02.4.6 开发平台 22ITPUB个人空间2mV7G'qV;Y
2.5 本章小结 24
4Pr3o$O.am0第3章 Oracle 11g数据库的安装、启动和关闭 25
a)xiC/@"j)A9K?kz0本章详细讲述了Oracle数据库的安装、启动、关闭的整个过程,以及如何使用DBCA创建一个数据库。对数据库管理员而言,这些操作都是最基本的。ITPUB个人空间Qt^"?3T/]lI4I,F1V
3.1 Oracle 11g在Windows下的安装概述 25
)nU8Ifx^ e*JQ4tk8U[03.2 在Windows环境下安装Oracle 11g 25ITPUB个人空间(e'Ln9]g5w&n-G
3.3 在Linux环境下安装前的准备 28
4I/~8E*z6R"?q*E03.3.1 检查硬件要求 28
(h/fQ3C;B ?eX03.3.2 检查操作系统要求 29
C9v_yi;BGp L03.3.3 安装RedHat AS4操作系统时的注意问题 31ITPUB个人空间9kvj'^uN
3.3.4 检查安装Oracle 11g所必需的包 33ITPUB个人空间t sQk"B,`$P
3.3.5 配置内核参数 33
PgV-yi;p4C!mB V03.3.6 创建安装数据库所需要的用户(组) 34ITPUB个人空间"y2l EJ;Z6M!dh+`,d\
3.3.7 添加Oracle用户的限制参数 34
F,mGv oWiv,\R03.3.8 创建安装所需要的目录 34ITPUB个人空间7o[w4l%x6Q[
3.3.9 设置Oracle的环境变量 35
Oe~,sZ0iZ03.3.10 解压缩安装包 35ITPUB个人空间\%kjfJ:ii,nX9}v
3.4 在Linux环境下安装Oracle 11g 36
F:[+X@%[AE|03.4.1 Oracle用户图形终端方式登录 36ITPUB个人空间 @2I(u f[*mKC
3.4.2 安装操作过程 36
+~\ nwMo03.4.3 登录OEM界面验证安装 40
2zy"EXS!d#JV03.5 Oracle 11g数据库实例的创建 40
._g\B'a4M|dB2E03.5.1 在Windows环境下创建数据库 40
&Y(C0T SS03.5.2 在Linux环境下用DBCA创建数据库 41
^w)Ehp5r03.6 Oracle 11g实例的启动与关闭 46
T F D^&mv3yOJ9e03.6.1 Windows操作系统下Oracle的启动与关闭 46
8vGE'Cm-A_1a03.6.2 Linux环境下Oracle实例的启动 47
@sI C@!Y~03.6.3 Linux环境下Oracle实例的关闭 49
*j%|%L3`/{6x+S,x03.6.4 Linux环境下Oracle监听进程的启动和关闭 49ITPUB个人空间}b'Ia,}c-NY
3.7 本章小结 51ITPUB个人空间 g$e#c#AIA:wYO8P
第4章 SQL语言基础 52
PsIV$E'B9V3k0本章主要介绍了以下内容:SQL语言概述、如何使用简单和复杂的SELECT检索语句、如何使用基本函数、如何使用DDL语句、如何使用DML语句、如何使用描述语句。ITPUB个人空间+BWXO:z-PN
4.1 SQL语言概述 52
_} Yuz04.1.1 SQL语言特点 53ITPUB个人空间#T-h(`R2]7dj,_.V#E!u*~
4.1.2 SQL语言分类 53
8F,}2d _%as [04.1.3 SQL语言的编写规则 53
W?i}#zy [y04.2 使用SELECT检索数据 54
q~n'` B}s04.2.1 使用FROM子句指定表 55
PU4EFt G%Z)`&HO04.2.2 使用SELECT(必要元素)指定列 55
3v%D$gX&c^o04.2.3 使用WHERE子句指定行 56ITPUB个人空间1t \U1R(W Y
4.2.4 使用ORDER BY子句 61
5yV*@F)Ed04.2.5 使用DISTINCT检索唯一的表列值 62
] T!^ndakp+{d04.2.6 使用算术运算符 63
RAO3o;^[04.3 使用基本函数 64
4cO1L]:c _ C ct04.3.1 字符函数 64
5QK,YfMN$UX b04.3.2 数字函数 67
@y] cS04.3.3 日期函数 69ITPUB个人空间-d%m&rU)QVP9t9R
4.3.4 转换函数 69
~ i L4a6R/n:w#qJiu04.3.5 组函数 70
WAAw3sk Y4J04.3.6 用GROUP BY进行数据分组 71
9Rb+_;Js |1L'R4I+ib04.3.7 用HAVING子句限制分组数据 73ITPUB个人空间(Sq@*?dU-Js
4.4 使用复杂的SELECT语句 73
WkXH{pB4W-M_04.4.1 集合操作 73ITPUB个人空间[MOt]:NU
4.4.2 子查询 77
1r(H5g%nv2O}*V04.4.3 表连接 78
r K2TDZy)R04.4.4 CASE语句的使用 80ITPUB个人空间8e NG6A KX-r
4.4.5 强大的DECODE函数 83ITPUB个人空间M4FP2T%D O}
4.5 使用DDL语句 84
2ts@%rmw&u04.5.1 常用的数据类型 84
B-o:P,w|^ K*d04.5.2 表 86ITPUB个人空间%\,|KO0I.e
4.5.3 主键 87
Y5D5P6JT$zd`g.c#s04.5.4 外键 89ITPUB个人空间"~KX#h_l
4.5.5 约束 90ITPUB个人空间#iL['\7t
4.5.6 索引 93ITPUB个人空间0X:X4?4P M R;[C1E1c
4.5.7 视图 94ITPUB个人空间/w)j?:I^,~8P3?.u
4.5.8 序列 95
k0TPW;l6}BX04.5.9 同义词 96
-X+R"k~#tx04.6 使用DML语句 97ITPUB个人空间X N!@4o3b
4.6.1 使用INSERT语句插入表数据 97
9r^'~l'R*u4lC04.6.2 使用UPDATE语句更新表数据 98ITPUB个人空间~,UB0a(]x7t
4.6.3 使用DELETE语句删除表数据 99ITPUB个人空间U1?[%O:RD7A
4.6.4 使用MERGE语句修改表数据 99
|.H3Y5c0tC!u04.6.5 TRUNCATE语句的使用 103
+V(D5k6}0x)deN"}$Pp04.7 使用描述语句 103ITPUB个人空间$I7aE`+l#b7h*I
4.8 本章小结 104
!q(iU2@vo8z0第5章 使用SQL*Plus 105ITPUB个人空间W+qsT]GfM
本章介绍了以下内容:如何使用SQL *Plus的与数据库交互、如何使用SQL *Plus的编辑功能、如何使用SQL *Plus格式化查询结果。
fb5dF Q"m@05.1 用SQL*PLUS与数据库交互 105ITPUB个人空间1G'RnlF3K&L.M
5.1.1 SQL*Plus的主要功能 106ITPUB个人空间:Tku\p
5.1.2 启动SQL*Plus连接数据库 106ITPUB个人空间6R/~:F~:`m{
5.2 使用SQL*Plus的编辑功能 108
.f;V)U&F TOu!|!T05.2.1 SQL语句、PL/SQL块与SQL*Plus命令的区别 109
x(n/?C{y05.2.2 编辑命令 109ITPUB个人空间c'_Q a[
5.2.3 保存命令 111
'|&UyP(V I05.2.4 加入注释 113
aQg@2pi@y05.2.5 运行命令 114ITPUB个人空间&C4O?$\.B#a^0u
5.2.6 编写交互命令 116ITPUB个人空间)Hr ^I0Bz0j Dc.]P
5.2.7 使用绑定变量 123
hP.Sb1s KYeS1OQ05.2.8 跟踪语句 126
g6m5X]Ji:~05.3 使用SQL*Plus格式化查询结果 130
$W1C2g9Jjf&oA0S5{*a05.3.1 格式化列 131ITPUB个人空间"k(kn1X$V P
5.3.2 定义页与报告的标题和维 141
:{$q?-_zm05.3.3 存储和打印结果 147
Z`-l.l}H3@05.4 本章小结 148ITPUB个人空间i;qHN2j:Qby R-Eqbo
第6章 PL/SQL基础 149ITPUB个人空间 GRG` Vz?2r"n
本章介绍了以下内容:PL/SQL概述、PL/SQL编程、过程和函数、错误处理。
.u0l/D)u4{%e4eo,}06.1 PL/SQL概述 149ITPUB个人空间m#J+D#D7@/k`NV ]4G
6.1.1 PL/SQL语言 149
:`:d2eW\C06.1.2 PL/SQL的特点 151ITPUB个人空间$| L|/Kk l
6.1.3 PL/SQL的开发和运行环境 153
2Ot&hWcZ K06.1.4 运行PL/SQL程序 154ITPUB个人空间?{|%Me q8wY[D E
6.2 PL/SQL编程 156ITPUB个人空间+P)Oe0o B
6.2.1 基本语言块 156ITPUB个人空间"Ta7D_g6z0[!a v{;q
6.2.2 字符集和语法注释 156ITPUB个人空间~6BLh6o*r7d%J8D
6.2.3 数据类型和类型转化 158
]-FijfH `3i06.2.4 变量和常量 162ITPUB个人空间;S*cni_Ndd
6.2.5 表达式和运算符 165
ee'Mjc~06.2.6 流程控制 166
3c;Y e"KH/~4v06.3 过程和函数 173ITPUB个人空间 SN.t*uHB
6.3.1 过程 174
Ik#E%@$]5C F|]06.3.2 函数 175ITPUB个人空间Y%V V |1K1WC Rs#`
6.4 错误处理 177
P [p6~8R%U1y06.4.1 预定义异常 177ITPUB个人空间cH*| N+VuFBJ
6.4.2 用户定义异常 179
L8rm[6B`)Fz,C+v06.5 本章小结 181ITPUB个人空间-a,IB,G.H4h-@
第7章 PL/SQL高级应用 182
R5pWZ8D0本章介绍了以下内容:包的概念和使用、集合的使用及PL/SQL的新特性。ITPUB个人空间%q]EmJ o,HW
7.1 包 182ITPUB个人空间?Y.N|Nf}@
7.1.1 包头 182ITPUB个人空间ck(n nnF*Td
7.1.2 包体 183ITPUB个人空间-qe#I$?O9yc%?^
7.1.3 重载 187ITPUB个人空间CVl)H4nS@#|
7.1.4 包的初始化 189
[.zNQj B)jO07.1.5 Oracle内置包 191
