读书人

Oracle DBA突击:帮你赢得一份DBA职位

发布时间: 2010-04-02 07:34:21 作者:

 Oracle DBA突击:帮你赢得一份DBA职位


基本信息出版社:人民邮电出版社
页码:504 页
出版日期:2009年11月
ISBN:7115215251/9787115215253
条形码:9787115215253
版本:第1版
装帧:平装
开本:16
正文语种:中文
丛书名:IT名人堂

内容简介 《Oracle DBA突击:帮你赢得一份DBA职位》以Oracle 10g为基础,由浅入深、从易到难,详细介绍了DBA职位所要求的知识结构和实战技能。第1章至第4章是基础篇,包括数据库建模、Oracle体系结构、网络结构、备份恢复和使用OEM,这些对于刚刚从事DBA或者试图转做DBA的朋友都是必备知识。第5章至第9章是中级篇,专门讨论性能调整,包括性能优化原理、Oracle性能调整发展历程、AWR、ASH、ADDM、Auto SQL Tunning等最新的助手工具,并通过大量实例展示技术的综合应用。第10章至第13章是高级篇,主要面向高级读者,高级DBA通常要解决架构层面的问题,因此对于这部分读者来说,最重要的是要扩展眼界,能够掌握如何选择最合适的工具而不是最贵的工具。为了跳出单一产品的限制,《Oracle DBA突击:帮你赢得一份DBA职位》选择了异构互联和安全这两个主题来帮助读者扩展思路。
《Oracle DBA突击:帮你赢得一份DBA职位》作者是Oracle资深DBA,《Oracle DBA突击:帮你赢得一份DBA职位》不仅融入了作者十年的实战心得和工作经验,还提供了来自于工作现场的大量实例,具有很强的可操作性。
《Oracle DBA突击:帮你赢得一份DBA职位》可以作为数据库开发人员、数据库管理员、数据库初学者及其他数据库从业人员的工作参考手册,也可以作为各大中专院校相关专业师生的参考用书和相关培训机构的培训教材。
作者简介 张晓明 Oracle OCP,现用网名“石头狗”,名称来自于《和佛陀赏花去》中的故事;狗会因为人随手丢出的一个东西而追逐,可能是一个骨头、一块肉、一个眼神、甚至是一个石头,警示一定要看清自己在追逐的东西。
编辑推荐 《Oracle DBA突击:帮你赢得一份DBA职位》:10年从业生涯中无数次被面试和面试他人的经验总结
告诉你哪些技术是重要的,是面试官最看重的
获取稳定的DBA职位的必读宝典
上个世纪90年代末毕业于某著名的医科大学,毕业后分配到某著名医院从事治病救人的神圣工作。不幸的是,在大学最后一年的实习中我接触到了老式486,这让我魂牵梦系,再加上IT热潮对一个热血青年的巨大诱惑,我终于在行医3年后削尖了脑袋挤进了IT业。回想当年,身边有好几位来自知名医学院校的朋友和我一样义无反顾地加入lT工程师队伍,不知道这几位朋友现在安否?
我在IT行业中最初是做开发,先后用过C、C++、Java等各种主流和非主流语言,热火朝天地参与过“C++和Java”的网上混战,现在回想起来只有一个词评价“幼稚”,不仅是自己幼稚,整个行业也不太成熟。后转从事数据库开发,再转为数据库管理,最终此定为自己的职业方向。今天,我把这些年来对Oracle数据库的学习和使用心得记录下来,既是对自己的一个阶段总结,也是与所有志同道合的朋友们共同分享。
现任某SP公司数据库团队负责人,负责管理全国20余省市的OLTP以及公司TB级OLAP系统的开发、优化和维护。精通数据库管理、备份、恢复、容灾等设计和规划,特别是高可用、高并发、高压力数据库环境的设计和优化。已编写出版了《大话Oracle RAC——集群高可用性备份与,恢复》一书。
数据建模
Oracle体系架构
备份恢复
OEM
SQL优化原理
访问路径和连接
并行操作
自动管理和性能指标
自动诊断和顾问
Oracle的异构服务
数据安全
限制用户行为
审计
目录
第一部分 基础篇
第1章 数据建模 2
1.1 数据建模 3
1.1.1 创建逻辑模型 3
1.1.2 创建物理模型 7
1.2 规范化 12
1.2.1 1NF 13
1.2.2 2NF 14
1.2.3 3NF 15
1.3 如何表示树形结构 16
1.3.1 什么是树形结构 16
1.3.2 邻接模型 19
1.3.3 物化路径模型 26
1.3.4 嵌套集合模型 28
1.4 小结 34

第2章 Oracle体系架构 35
2.1 Oracle的网络配置 35
2.1.1 Oracle的网络架构 36
2.1.2 客户端安装 38
2.1.3 服务器端监听器配置 39
2.1.4 客户端配置 44
2.2 Oracle 10g架构 47
2.3 数据库 49
2.3.1 物理结构 49
2.3.2 OMF 55
2.3.3 逻辑结构 59
2.4 空间管理 70
2.4.1 段空间管理 71
2.4.2 Extent空间管理 74
2.5 实例 74
2.5.1 进程 75
2.5.2 后台进程 77
2.5.3 内存结构 83
2.5.4 PGA 87
2.6 未尽话题 88

第3章 备份恢复 89
3.1 归档模式和非归档模式 90
3.1.1 归档模式的优缺点 90
3.1.2 非归档模式的优缺点 91
3.1.3 非归档模式转换成归档模式 91
3.2 备份概述 92
3.3 物理备份 92
3.3.1 冷备份 92
3.3.2 热备份 93
3.3.3 RMAN备份 95
3.4 备份前的环境配置 98
3.4.1 连接到数据库 98
3.4.2 查看现有配置 99
3.4.3 配置控制文件自动备份 101
3.4.4 配置备份文件格式 101
3.4.5 配置备份保留策略 102
3.4.6 与保留策略相关的其他操作 104
3.4.7 删除配置 106
3.5 完全备份和增量备份 106
3.5.1 完全备份 106
3.5.2 增量备份 108
3.6 恢复 111
3.7 日志 112
3.7.1 改动向量(Change Vector) 112
3.7.2 Redo记录 112
3.7.3 检查点 115
3.7.4 SCN号 116
3.7.5 数据库恢复 118
3.7.6 恢复过程 120
3.8 Oracle MAA介绍 123
3.9 小结 125

第4章 OEM 126
4.1 Database Control 127
4.1.1 配置Database Control 127
4.1.2 Database Control的目录结构 129
4.1.3 手工配置Database Control 130
4.1.4 用Database Controle管理多个数据库 133
4.2 Grid Control架构 134
4.2.1 Grid Control Console 135
4.2.2 Oracle Management Agent 136
4.2.3 Oracle Management Service 136
4.2.4 Management Repository 137
4.2.5 OEM的原理和工作方式 137
4.2.6 Agent的工作方式 137
4.3 部署OEM Grid Control 138
4.3.1 部署OEM 139
4.3.2 OracleAS、OMS、OC4J的关系 145
4.3.3 OEM的目录结构 147
4.4 部署Agent 148
4.4.1 全新安装(Fresh安装) 148
4.4.2 使用命令行克隆方法部署Agent 152
4.4.3 部署Agent后DBCA的变化 157
4.4.4 emwd脚本 159
4.4.5 磁盘空间限制 159
4.5 OEM的维护工具 159
4.5.1 维护OMS 160
4.5.2 维护Agent 165
4.6 修改配置 166
4.6.1 修改Agent的监听端口 166
4.6.2 配置Agent使用新的OMS 166
4.6.3 修改OMS的监听端口 167
4.6.4 一次Trouble Shooting 167
4.7 小结 173

第二部分 中级篇
第5章 SQL优化原理 176
5.1 PGA 176
5.1.1 Session Area 177
5.1.2 Private SQL Area 177
5.2 SQL语句的执行过程 179
5.2.1 Parent Cursor和Child Cursor 180
5.2.2 V$SQL和V$SQLAREA的区别 182
5.2.3 与Cursor有关的参数 182
5.3 执行计划 185
5.3.1 Explain Plan For ... 185
5.3.2 SQL Trace和10046事件 186
5.3.3 从Library Cache中获取 190
5.4 如何阅读执行计划 198
5.4.1 SQL概要信息 199
5.4.2 执行计划 199
5.4.3 Query Block 200
5.4.4 数据过滤 208
5.4.5 列投影 209
5.5 小结 209

第6章 访问路径和连接 210
6.1 QUBE模型 210
6.2 单表访问——全表扫描还是索引 212
6.2.1 谓词(Predicate) 212
6.2.2 Selectivity和Cardinality 213
6.2.3 全表扫描 213
6.2.4 两种方式访问的成本比较 214
6.2.5 聚簇因子 215
6.3 连接 216
6.3.1 NEST LOOP 216
6.3.2 SORT MERGE 217
6.3.3 HASH JOIN 219
6.3.4 几种算法的比较 220
6.4 半连接 221
6.4.1 测试环境 221
6.4.2 合并与展开 222
6.4.3 (NOT)IN和(NOT)EXISTS的哲学思想 224
6.4.4 Exists和In 224
6.4.5 Not Exists 228
6.4.6 Not In 229
6.5 小结 234

第7章 并行操作 235
7.1 并行架构 235
7.1.1 进程 236
7.1.2 相关参数 239
7.2 启用并行处理 244
7.2.1 对象级 244
7.2.2 语句级 245
7.2.3 会话级 246
7.3 解读执行计划 246
7.4 等待事件 250
7.5 小结 250

第8章 自动管理和性能指标 252
8.1 Oracle系统调整技术发展史 252
8.1.1 为什么要系统调整 253
8.1.2 方法论——从命中率到等待事件 253
8.1.3 工具:从STATSPACK到AWR 255
8.2 Oracle 10g的自动管理框架 257
8.2.1 AWR概述 258
8.2.2 ADDM概述 258
8.3 负载数据自动收集(AWR) 260
8.3.1 STATISTICS_LEVEL参数 261
8.3.2 AWR的收集机制 262
8.3.3 配置AWR 262
8.3.4 生成AWR报告 264
8.3.5 AWR的补充——ASH 267
8.4 对象信息的自动收集 272
8.4.1 对象信息的收集机制 275
8.4.2 Table Monitoring机制 278
8.4.3 动态收集对象信息 280
8.4.4 统计信息历史 281
8.4.5 导入导出统计信息 283
8.4.6 锁定统计信息 285
8.5 操作系统统计数据收集 287
8.5.1 无负载模式 289
8.5.2 负载模式数据 289
8.6 学会阅读原始数据 291
8.7 性能统计数据(Performance Statistics) 292
8.8 Oracle等待事件接口(OWI) 296
8.8.1 什么是等待事件 296
8.8.2 常见事件 297
8.8.3 OWI视图 298
8.9 Metric 305
8.10 Time Model 311
8.11 小结 318

第9章 自动诊断和顾问 319
9.1 ADDM 319
9.2 Auto SQL Tunning 323
9.2.1 ATO 323
9.2.2 Auto SQL Tunning架构 324
9.2.3 如何使用Automatic SQL Tunning 327
9.2.4 解读Auto SQL Tunning报告内容 330
9.3 其他自动管理特性 333
9.3.1 ASSM 333
9.3.2 顾问功能 337
9.3.3 Resumable Space Allocation 352
9.4 小结 354

第三部分 高级篇
第10章 Oracle的异构服务 356
10.1 异构服务的架构 356
10.2 Agent的分类 357
10.2.1 什么是ODBC 358
10.2.2 ODBC的组件 358
10.3 配置到MySQL的普通连接 359
10.3.1 环境介绍 360
10.3.2 MySQL服务器的配置 360
10.3.3 Oracle服务器的配置 371
10.4 配置到SQL Server 2000的普通连接 373
10.4.1 Windows服务器的配置 373
10.4.2 Linux服务器上的配置 374
10.5 配置到SQL Server 2000的透明网管连接 375
10.5.1 SQL Server服务器的配置 375
10.5.2 Linux服务器的配置 377
10.6 透明网关和普通连接的对比 377
10.6.1 普通连接不支持分布式事务 378
10.6.2 透明网关支持分布式事务 378
10.7 小结 379

第11章 数据安全 380
11.1 安全问题概述 382
11.2 Oracle的网络加密:SSL和PKI 383
11.2.1 加密算法:保证数据机密性 384
11.2.2 数字签名:保证数据完整性 385
11.2.3 证书保证数据不可抵赖性 386
11.2.4 可信CA和证书注销表 388
11.2.5 SSL 388
11.2.6 配置SSL 389
11.2.7 Secure External Password Store 405
11.3 透明数据加密 407
11.3.1 配置TDE 408
11.3.2 验证TDE 412
11.3.3 TDE的性能 417
11.4 小结 421

第12章 限制用户行为 423
12.1 IP地址限制 423
12.2 用户验证 424
12.3 利用登录触发器 425
12.4 数据访问控制 426
12.5 粗粒度数据访问控制:权限和角色 426
12.5.1 对象权限 427
12.5.2 系统权限 427
12.5.3 WITH ADMIN和WITH GRANT的比较 428
12.5.4 角色 430
12.5.5 判断权限来源 431
12.5.6 PRODUCT_USER_PROFILE 435
12.6 细粒度访问控制(FGAC) 436
12.6.1 背景知识 436
12.6.2 自主访问控制 437
12.6.3 强制访问控制 437
12.6.4 现实问题 438
12.7 视图 439
12.8 VPD 439
12.8.1 快速体验 440
12.8.2 深入RLS 442
12.8.3 敏感列的VPD 456
12.9 Oracle标签安全(OLS) 462
12.9.1 安装OLS 464
12.9.2 OLS的标签 466
12.9.3 实施OLS 467
12.10 小结 480

第13章 审计 483
13.1 审计的作用 483
13.2 Oracle的审计功能 484
13.2.1 标准审计 484
13.2.2 细粒度审计 495
13.2.3 FGA与标准审计 504
13.3 小结 504
……
序言 本书的作者晓明,是一位年轻人。我见过不少年轻人,有亲戚朋友家的孩子,有公司单位里的下属,更多的还是萍水相逢的点头之交。他们中,有许多都具备我们一般人眼里定义的“优秀”:凭借过硬的专业素质干着一个不错的工作,拿着一份不低的收入,是白领,是主管,是项目经理……跟这些年轻人打交道,看着他们衣着光鲜,说话左右逢源,有着我们这一代年轻时不多的“老练”。事儿来了,他们叔叔伯伯的叫着怪亲热,事儿走了,他们也跟着走了。所以对于很多年轻人,我印象不深,然而本书的作者晓明,却是一位我能记得住的年轻人。说来寻常,与他见面,本是碍着朋友的情面,帮他觅一份工作,朋友说他勤奋、踏实、能干。印象中晓明话不多,但喝酒很实在。只可惜由于机缘巧合,晓明的工作我虽然上心,到底也没帮上忙,还是凭他自己的本事挣下了一份工作。直到现在,我看见晓明仍觉的欠他点什么。
后来几年,每逢节假日,晓明总来看看我,来了兴致,我就把他留下陪我喝几盅。照例是我说的多,他喝的多。喝的到位了,他也接过话茬儿。寥寥的几句,却能品出他的性情,觉出他的踏实。现在有太多年轻人,想去折射一个既有的耀眼光环,而非花一点点时间研磨自己淡淡的韵彩了。
最近一次见面,晓明已成了部门的主管,带领着一个团队,开始独当一面,开始从Interviewee变成Inteirviewer。我问起他今年就业的形势,他说竞争很激烈。有一些简历很漂亮,笔试很优秀的应试者往往在面试中难以脱颖而出,遗憾离去。他说,能看得出来,这些年轻人肚里有货,有真本事,可就是缺乏些面试技巧经验,到头来,也成了茶壶里煮饺子。他说,有个想法,把他这个领域的专业知识从面试应用的角度加以梳理,出本书,告诉年轻人应该怎么做,看着年轻人走弯路,他心里着急。
我知道,这是晓明的善良在作祟,他大概有了不能已于言的冲动。当时他偶然的一句,我还并未在意,只是表示支持,鼓励他做下去。不想今年九月,初稿已成。他高高兴兴地拿来请我指教。我是个地地道道的计算机门外汉,专业术语一概不知,却也从中读出了晓明的真诚。他是在把自己几年摸爬滚打里跌出来的经验拿来与人分享。
文摘 插图:


信息技术已经渗透到现代社会的每一个角落,我们每一天几乎都在直接或者间接地和计算机打交道,小到打电话、超市购物,更不用说日常工作使用的各种办公系统了。可以说,软件是迄今为止人类创造的最复杂的产品,在技术发展历史中,人们发明出许多方法来降低这种复杂程度,建模技术就是其中一种。
所谓建模就是借助模型来分析、设计应用系统的技术。模型是对现实世界中某些事物的一种抽象表示。这个抽象过程会抽取事物的本质特征,而忽略事物的次要因素。模型是理解、分析、开发和改造事物原形的一种手段。比如说,建筑物的蓝图就是高楼大厦的模型,建筑师利用蓝图对建筑物分析和设计,以便在动工前就能有一个完整和清晰的认识,并以此对建筑物进行评审,及早发现问题并改进,而不必等到建成之后再补救。
建模技术还有助于把系统的复杂程度降低到人脑可以处理的程度,并用可视化的方式来展示复杂的系统,给人以形象的思维,帮助人们更好地分析和认知。对于数据库系统也有同样的好处。
数据建模是为了详细说明信息系统的需求而进行的描述数据结构和捕获业务规则的过程。读者如果学习过数据库原理之类的课程,应该对“三层模式”有印象,也就是外部模式、逻辑模式、内部模式。
外部模式就是用户所看到的模式,这里的用户指的是最终用户。外部模式反映的是业务需求,是一种从业务视角进行的描述,这种描述使用业务语言,更加接近于真实世界。
内部模式也叫做存储模式,也就是数据在计算机系统内部的表示形式。即对数据物理结构和方式的描述,这是一种从技术视角的描述,用来定义数据的物理结构和存储结构,比如数据是顺序存储还是树形存储。
读书人网 >数据库

热点推荐