《Oracle数据库管理之道》PDF下载

  • 购买积分:22 如何计算积分?
  • 作  者:林树泽,历铁帅,何会军编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302290414
  • 页数:804 页
图书介绍:本书以Oracle高阶技术为主,穿插各种重要概念以及相关知识点,使得读者从新的层面和角度理解Oracle技术内涵,其中原理架构的讲解更侧重数据库管理和优化的考虑,从系统层面看待架构的组成以及各类组件的作用,本书讲解了当前Oracle的主流技术,如基于SOA理念的RAC,用于灾备的DG,以及STREAMS技术,内容覆盖Oracle的几乎所有重要知识点。

第1章 创建Oracle数据库 1

1.1创建数据库的前提条件 1

1.2创建数据库的方法 1

1.3使用DBCA创建数据库 2

1.3.1 DBCA概述 2

1.3.2创建数据库过程 3

1.3.3理解建库脚本的含义 13

1.4使用安装程序自动创建数据库 17

1.5手工建库 19

1.5.1手工建库的步骤以及注意事项 19

1.5.2 Linux系统上的手工建库实例 22

1.6本章小结 26

第2章 Oracle数据库体系结构 27

2.1 Oracle体系结构概述 27

2.2 Oracle数据库体系结构 27

2.2.1 Oracle服务器和实例 28

2.2.2 Oracle数据库物理结构(文件组成) 30

2.2.3 Oracle数据库参数文件和密码文件 30

2.3数据库连接(connection)与会话(session) 30

2.3.1数据库连接(connection) 30

2.3.2会话(session) 31

2.4 Oracle数据库内存结构 32

2.4.1共享池(shared pool) 32

2.4.2数据库高速缓冲区(database buffer cache) 33

2.4.3重做日志高速缓冲区(redo buffer cache) 36

2.4.4大池(large pool)和Java池 37

2.4.5流池(Streaming pool) 38

2.4.6 PGA(进程全局区)和UGA(用户全局区) 38

2.4.7如何获得内存缓冲区的信息 39

2.5 Oracle服务器进程和用户进程 40

2.6 Oracle数据库后台进程 41

2.6.1系统监控进程(SMON) 41

2.6.2进程监控进程(PMON) 41

2.6.3数据库写进程(DBWR) 42

2.6.4重做日志写进程(LGWR) 43

2.6.5归档日志进程(ARCH) 43

2.6.6校验点进程(checkpoint process) 45

2.7本章小结 46

第3章 网络配置管理 47

3.1 Oracle的网络连接 47

3.2服务器端监听器配置 48

3.2.1动态注册 50

3.2.2静态注册 52

3.2.3连接测试 54

3.2.4监听程序管理 55

3.3客户端配置 57

3.3.1本地命名 57

3.3.2简单命名 58

3.4 Oracle数据库服务器支持的两种连接方式 60

3.4.1服务器进程 60

3.4.2共享连接 60

3.4.3共享连接涉及初始化参数 61

3.4.4共享连接的工作过程 61

3.4.5共享连接的配置 62

3.4.6共享连接的一些问题 67

3.4.7专有连接 67

3.5本章小结 69

第4章 管理和维护表 70

4.1 Oracle基本的数据存储机制-表 70

4.1.1数据的存储类型 70

4.1.2行ID(ROWID) 72

4.2创建表 73

4.2.1 Oracle创建表的规则 73

4.2.2创建普通表 73

4.2.3创建临时表 75

4.3段空间管理 77

4.4理解高水位线(HWM) 78

4.5行迁移 79

4.6创建索引组织表(IOT) 79

4.6.1 IOT表的结构 79

4.6.2创建IOT表 81

4.7表参数以及参数维护 81

4.8维护列 84

4.9删除和截断表 88

4.10本章小结 90

第5章 索引 91

5.1索引的概念 91

5.2 Oracle实现数据访问的方法 91

5.2.1全表扫描(FULL TABLE SCAN-FTS) 92

5.2.2通过行ID(ROWID) 92

5.2.3使用索引 93

5.3索引扫描类型 94

5.3.1索引唯一扫描(INDEX UNIQUE SCAN) 95

5.3.2索引范围扫描(INDEX RANGE SCAN) 95

5.3.3索引全扫描(INDEX FULL SCAN) 95

5.3.4索引全扫描(INDEX FULL SCAN) 96

5.4限制索引使用的情况 96

5.4.1使用不等于运算符 96

5.4.2使用IS NULL或IS NOT NULL 97

5.4.3使用函数 98

5.4.4比较不匹配的数据类型 99

5.5集群因子 100

5.6二元高度 100

5.7直方图 101

5.8建立索引 102

5.9查看索引 105

5.10 B树索引 106

5.10.1 B树索引的工作原理 106

5.10.2 B树索引的注意事项 106

5.11位图索引 107

5.11.1位图索引的使用讨论 107

5.11.2创建位图索引 107

5.11.3 B位图索引的插入问题 109

5.12 Hash索引 110

5.13反向键索引 111

5.14基于函数的索引 112

5.15监控索引的使用 113

5.16重建索引 115

5.17维护索引 116

5.18删除索引 118

5.19本章小结 118

第6章 审计与安全 119

6.1审计的5个层次 119

6.2.1强制审计 119

6.2.2标准数据库审计 120

6.2.3使用触发器定制审计 125

6.2.4精细化审计 129

6.2.5对DBA的审计 132

6.3虚拟专用数据库 132

6.3.1应用程序上下文 133

6.3.2创建应用程序上下文 134

6.3.3创建用于FGAC的函数 136

6.4基于列的VPD 138

6.5本章小结 141

第7章 全球化支持 142

7.1理解什么是字符集 142

7.2数据库字符集 143

7.3服务器端字符集 144

7.4客户端字符集 145

7.5数据库字符集与客户端字符集的转换 150

7.6本章小结 154

第8章 重做日志管理 155

8.1 Oracle为何引入重做日志 155

8.2读取重做日志文件信息 156

8.2.1 v$log视图 156

8.2.2 v$logfile视图 157

8.2.3判断是否归档 157

8.2.4设置数据库为归档模式 158

8.3重做日志组及其管理 159

8.3.1添加重做日志组 159

8.3.2删除联机重做日志组 161

8.4重做日志成员及维护 163

8.4.1添加重做日志成员 163

8.4.2删除联机重做日志成员 164

8.4.3重设联机重做日志的大小 165

8.5清除联机重做日志 168

8.6日志切换和检查点事件 168

8.7归档重做日志 169

8.8本章小结 169

第9章 UNDO表空间管理 170

9.1引入还原段的作用 170

9.2还原段如何完成读一致性 171

9.2.1 Oracle如何实现读一致性 171

9.2.2读一致性的进一步复杂化分析 171

9.2.3读一致性的具体步骤 172

9.3还原段的实例恢复与事务回滚 173

9.4 UNDO SEGMENT的选择算法 173

9.5讨论undo_retention参数 174

9.6还原段分类 176

9.7 Oracle的自动还原段管理 176

9.8创建还原表空间 177

9.9维护还原表空间 179

9.10切换还原表空间 180

9.10.1 UNOD表空间切换示例 180

9.10.2 UNOD表空间切换涉及状态 181

9.10.3删除UNDO表空间示例 181

9.11 dba_undo_extents数据字典 184

9.12本章小结 184

第10章 表空间管理 185

10.1 Oracle数据库的逻辑结构 185

10.2 SEGMENT管理方式 188

10.2.1段空间的手动管理 188

10.2.2段空间的自动管理 188

10.3表空间的分类以及创建表空间 190

10.4表空间磁盘管理的两种方案 192

10.4.1数据字典管理的表空间磁盘管理 192

10.4.2本地管理的表空间磁盘管理 193

10.5表空间分类 194

10.5.1永久表空间 194

10.5.2临时表空间 195

10.6创建表空间 195

10.6.1创建数据字典管理的表空间 195

10.6.2创建本地管理的表空间 197

10.6.3创建还原表空间 198

10.6.4创建临时表空间 200

10.6.5临时表空间组 201

10.6.6默认临时表空间 203

10.6.7创建大文件表空间 205

10.6.8创建非标准块表空间 209

10.7表空间管理 210

10.7.1表空间的三种状态 211

10.7.2脱机管理 211

10.7.3只读管理 213

10.8表空间和数据文件管理 215

10.8.1修改表空间大小 215

10.8.2修改表空间的存储参数 218

10.8.3删除表空间 219

10.8.4迁移数据文件 220

10.8.5数据字典和本地管理的表空间 223

10.9本章小结 224

第11章 分区技术 225

11.1分区技术概述 225

11.2分区技术的优势 225

11.3分区表分类 226

11.3.1分区键和分区表 227

11.3.2范围分区 227

11.3.3列表分区 229

11.3.4哈希分区 231

11.3.5组合分区 233

11.4分区键修改引起的问题 236

11.5实例分析分区技术的优势 238

11.5.1提高可用性 238

11.5.2减少维护负担 240

11.5.3改善SQL语句性能 242

11.6索引分区 242

11.6.1本地前缀分区索引 242

11.6.2本地非前缀分区索引 243

11.6.3全局分区索引 244

11.7分区的维护 245

11.7.1新增分区 246

11.7.2移动分区 247

11.7.3截断分区 249

11.7.4删除分区 250

11.7.5拆分分区 250

11.7.6合并分区 253

11.7.7分区交换 254

11.8本章小结 256

第12章 GridControl的安装、配置与使用 257

12.1 GridControl概述 257

12.2深入GridControl架构 257

12.3部署GridControl的准备工作 258

12.4安装GridControl 259

12.4.1安装OMS 259

12.4.2安装GC代理 267

12.4.3启动GC管理数据库的功能 269

12.5管理GridControl 271

12.5.1管理Agent 271

12.5.2管理OMS 272

12.6 GridControl的管理特性 273

12.6.1连接到GC 273

12.6.2 GC的管理特性 274

12.7本章小结 274

第13章 资源管理 275

13.1 Oracle数据库的资源 275

13.2资源管理器可管理的资源 276

13.3使用资源管理器创建资源计划 276

13.3.1分析默认的三个资源计划 276

13.3.2创建资源计划的方法 277

13.4创建资源计划实例 279

13.5启动、停止资源计划实例 286

13.6本章小结 287

第14章 调度管理 288

14.1调度程序的组件 288

14.2调度程序的体系架构 288

14.2.1调度架构 288

14.2.2执行调度程序的权限 289

14.3创建基于时间的调度任务 289

14.3.1创建程序(program) 290

14.3.2创建调度(Schedule) 291

14.3.3创建作业(Job) 291

14.4创建基于事件的调度任务 293

14.5调度的高级部件 296

14.5.1 Job类 296

14.5.2 Window 297

14.6本章小结 301

第15章 RAC真应用集群 302

15.1单实例数据库并发控制原理 302

15.1.1并发访问的数据不一致问题 302

15.1.2事务以及隔离级别 303

15.1.3支持并发的lock机制 304

15.1.4支持并发的latch机制 306

15.1.5 Lock和Latch的使用 308

15.2 RAC并发控制的实现 309

15.2.1 RAC的并发控制问题 309

15.2.2 RAC的实现并发访问 310

15.3 Oracle为何引入RAC 311

15.4 RAC集群简介 312

15.4.1集群分类 312

15.4.2 RAC环境的特殊问题 313

15.4.3 RAC集群 314

15.5 RAC架构详解 316

15.6 RAC与Clusterware 318

15.7安装RAC 319

15.7.1设计RAC应用环境 319

15.7.2确认安装的软件组件 320

15.7.3任务规划 321

15.7.4安装虚拟机 322

15.7.5在虚拟机上安装linux操作系统 325

15.7.6配置主机 331

15.7.7安装Clusterware 344

15.7.8安装数据库软件 354

15.7.9启动监听 357

15.7.10创建ASM 359

15.7.11创建数据库 363

15.8 Failover和Load balance测试 367

15.8.1 Failover失败转移 368

15.8.2 LoadBalance负载均衡 369

15.9本章小结 370

第16章 ASM自动存储管理 371

16.1 Oracle自动存储管理概述 371

16.2自动存储管理的优点 372

16.3 ASM系统架构 373

16.4 ASM和CSS集群同步服务 374

16.5创建ASM实例 375

16.6关闭和启动ASM实例 381

16.7理解ASM实例架构 384

16.8 ASM命令行管理工具 384

16.9管理ASM磁盘组 387

16.9.1使用ASM磁盘组管理文件的优势 387

16.9.2创建磁盘组 389

16.9.3向磁盘组添加磁盘 392

16.9.4删除磁盘和磁盘组 393

16.9.5平衡磁盘组 395

16.9.6 MOUNT和DISMOUNT磁盘组 396

16.10管理ASM文件 397

16.10.1 ASM磁盘组文件名结构 397

16.10.2 ASM磁盘组中目录管理 398

16.10.3添加和删除别名 399

16.10.4删除文件 400

16.10.5使用ASM文件模板 400

16.11使用RMAN将数据库迁移到ASM实例 402

16.12管理ASM的数据字典视图 409

16.13本章小结 409

第17章 管理Clusterware组件及管理指令 410

17.1 Clusterware及其组件 410

17.2备份和恢复VotingDisks 411

17.3添加和删除VotingDisks 412

17.4备份和恢复OCR 414

17.4.1从自动备份中恢复OCR 416

17.4.2从人工备份文件中恢复 416

17.5修改OCR存储配置信息 417

17.6删除OCR存储 419

17.7 ocrconfig指令功能汇总 420

17.8管理Clusterware指令 421

17.8.1 srvctl指令 421

17.8.2 crs stat指令 427

17.8.3 onsctl指令 431

17.8.4 crsctl指令 435

17.8.5 ocrcheck指令 438

17.8.6 ocrdump指令 439

17.8.7 oifcfg指令 441

17.8.8 olsnodes指令 443

17.9本章小结 444

第18章 DataGuard的安装与管理 445

18.1 DataGuard是什么 445

18.2 DataGuard体系结构 445

18.2.1 DataGuard的架构 445

18.2.2 DataGuard的后台进程 446

18.3 DataGuard配置及相关概念 447

18.4 DataGuard服务本质 448

18.4.1 Apply服务 449

18.4.2 Redo应用 449

18.4.3 SQL应用 450

18.4.4角色转换服务 450

18.5 DataGuard的保护模式 451

18.6 DataGuard的优点 452

18.7手工搭建物理DataGuard 453

18.8物理DataGuard的SWITCHOVER 462

18.9物理DataGuard的FAILOVER 465

18.10如何转换FAILOVER后的主库为新备库 467

18.11管理物理Standby数据库 469

18.11.1启动Standby数据库 469

18.11.2关闭Standby数据库 470

18.11.3 Primary数据库结构变化的传播 471

18.11.4自动传播数据文件和表空间的变化 471

18.11.5手工修改数据文件和表空间的变化 472

18.11.6重命名数据文件 475

18.11.7添加或删除重做日志组 477

18.11.8监控DataGuard数据库视图 477

18.11.9设置DataGuard保护模式 480

18.12 DataGuard broker 482

18.12.1 DataGuard Broker概述 482

18.12.2 DataGuard Broker的配置 482

18.12.3 DataGuard Broker的组件 483

18.12.4 DataGuard Broker的DMON进程 484

18.12.5 DataGuard Broker使用的前提条件 485

18.12.6 DataGuard Broker配置实例演示 486

18.12.7 DataGuard Broker的完成物理DG的SWITCHOVER 488

18.12.8 DataGuard Broker实现DG的自动FAILOVER 490

18.12.9 DG的DGMGRL维护指令置 492

18.13 DataGuard的日志传输服务 493

18.13.1通过ARCn进程来传送Redo 494

18.13.2 LGWR进程同步传送Redo 496

18.13.3 LGWR进程异步传送Redo 497

18.14本章小结 498

第19章 RMAN备份与恢复数据库 499

19.1 RMAN概述 499

19.2 RMAN的独特之处 499

19.3 RMAN系统架构详解 500

19.4快闪恢复区(flash recovery area) 501

19.4.1修改快闪恢复区大小 501

19.4.2解决快闪恢复区的空间不足问题 503

19.5建立RMAN到数据库的连接 504

19.6 RMAN的相关概念与配置参数 505

19.7 RMAN备份控制文件 507

19.8 RMAN实现脱机备份 509

19.9 RMAN联机备份 511

19.9.1联机备份前的准备工作 511

19.9.2联机备份整个数据库 512

19.9.3联机备份一个表空间 516

19.9.4联机备份一个数据文件 517

19.9.5 RMAN备份坏块处理方式 518

19.10 RMAN的增量备份 518

19.11快速增量备份 520

19.12在映像副本上应用增量备份 522

19.13创建和维护恢复目录 523

19.14 RMAN的脚本管理 526

19.15 使用RMAN非归档模式下的完全恢复 528

19.15.1控制文件、数据文件以及重做日志文件丢失的恢复 528

19.15.2只有数据文件丢失的恢复 532

19.15.3联机重做日志文件和数据文件损坏的恢复 534

19.15.4如何将数据文件恢复到其他磁盘目录下 537

19.16使用RMAN归档模式下的完全恢复 537

19.16.1非系统表空间损坏的恢复 537

19.16.1系统表空间损坏的恢复 540

19.16.1所有数据文件丢失的恢复 541

19.17 RMAN实现数据块恢复 541

19.18 RMAN的备份维护指令 545

19.18.1 RMAN的VALIDATE BACKUPSET指令 545

19.18.2 RMAN的RESTORE…VALIDATE指令 546

19.18.3 RMAN的RESTORE…PREVIEW指令 547

19.18.4 RMAN的LIST指令 548

19.18.5 RMAN的REPORT指令 551

19.19本章小结 552

第20章 手工管理的备份恢复 553

20.1备份恢复的概念 553

20.1.1物理备份 553

20.1.2逻辑备份 554

20.1.3冷备份与热备份 554

20.1.4数据库恢复 554

20.2非归档模式下的冷备与恢复 555

20.2.1冷备的步骤 556

20.2.2冷备下的恢复 557

20.2.3缺少重做日志文件的恢复方法 559

20.3归档模式与非归档模式 561

20.3.1设置数据库的归档模式 561

20.3.2设置归档进程相关参数 563

20.3.3管理归档文件和归档目录 564

20.4手工热备数据库的步骤 567

20.5热备过程中对数据库崩溃的处理方法 570

20.6热备的原理 572

20.7备份控制文件 573

20.8介质恢复的原理 576

20.9归档模式下的完全恢复 581

20.9.1数据文件在有备份情况下的恢复 581

20.9.2数据文件在无备份情况下的恢复 584

20.9.3系统表空间数据文件损坏的完全恢复 586

20.9.4当前UNDO表空间损坏的完全恢复 587

20.9.5非当前UNDO表空间损坏的完全恢复 589

20.10何时使用不完全恢复 592

20.10.1不完全恢复的场合 592

20.10.2不完全恢复的类型 592

20.11所有控制文件丢失的恢复方法 593

20.11.1使用备份的控制文件 593

20.11.2重建控制文件 596

20.12本章小结 600

第21章 Oracle闪回技术 601

21.1理解闪回级别 601

21.2闪回数据库 602

21.2.1闪回数据库概述 602

21.2.2启用闪回数据库 603

21.2.3关闭闪回数据库 605

21.2.4闪回数据库方法 606

21.2.5使用闪回数据库 607

21.2.6监控闪回数据库 609

21.2.7使用闪回数据库的限制 611

21.3闪回删除 611

21.3.1闪回删除原理 611

21.3.2回收站的使用 612

21.3.3恢复删除的表 615

21.3.4恢复多个同名的表 618

21.3.5应用Purge永久删除表 620

21.4闪回表 622

21.5闪回版本查询 624

21.6闪回事务查询 626

21.7闪回查询 626

21.8复原点技术 627

21.9本章小结 629

第22章 数据迁移-EXP/IMP 630

22.1关于备份的几个概念 630

22.2使用EXP指令实现逻辑备份 631

22.2.1 EXP指令详解 631

22.2.2不带参数的EXP备份 633

22.2.3 EXP指令导出整个数据库 636

22.2.4 EXP指令导出特定的表 637

22.2.5 EXP指令导出指定的用户 638

22.2.6 EXP指令导出特定的表空间 639

22.3使用IMP指令实现逻辑恢复 640

22.3.1 IMP指令详解 641

22.3.2 IMP指令恢复整个数据库 642

22.3.3 IMP指令恢复特定的表 643

22.3.4 IMP指令恢复指定的用户 644

22.4使用EXP/IMP实现传输表空间 646

22.4.1理解Big/Little Endian 646

22.4.2传输表空间的限制 647

22.4.3传输表空间的兼容性问题 648

22.4.4传输表空间的自包含特性 648

22.4.5实现传输表空间的步骤 648

22.4.6使用EXP/IMP实现同平台表空间迁移 650

22.4.7使用EXP/IMP实现跨平台表空间迁移 653

22.5本章小结 657

第23章 数据迁移-EXPDP IMPDP 658

23.1数据泵导出(EXPDP)简介 658

23.1.1数据泵导入导出技术的结构 658

23.1.2数据泵导入导出技术的优点 659

23.1.3数据泵导入导出的目录对象 659

23.2数据泵导入导出与EXP/IMP技术的区别 661

23.3数据泵导出(EXPDP)数据库实例 662

23.3.1数据泵导入的参数含义 662

23.3.2数据泵导入数据库实例 667

23.4数据泵导入数据库实例 672

23.4.1数据泵导入概述及参数含义 672

23.4.2数据泵导入数据库实例 679

23.5使用数据泵迁移表空间 682

23.6使用数据泵生成外部表 684

23.7本章小结 686

第24章 基于CBO的SQL优化 687

24.1性能调整方法 687

24.2 SQL查询处理过程详解 688

24.2.1语法分析 688

24.2.2语句优化 688

24.2.3查询执行 688

24.3基于成本的优化 689

24.3.1选择CBO的优化方式 689

24.3.2优化器工作过程 690

24.4自动统计数据 691

24.5手工统计数据库数据 692

24.6统计操作系统数据 696

24.7手工统计字典数据 698

24.8主动优化SQL语句 699

24.8.1 WHERE谓词的注意事项 699

24.8.2 SQL语句优化工具 700

24.8.3使用索引 708

24.8.4索引类型及使用时机 715

24.8.5使用绑定变量 721

24.8.6消除子查询优化SQL语句 722

24.9被动优化SQL语句 725

24.9.1使用分区表 725

24.9.2使用表和索引压缩 725

24.9.3保持CBO的稳定性 726

24.9.4创建合适的索引 729

24.10详解V$SQL视图 729

24.11本章小结 732

第25章 Oracle数据库实例优化 733

25.1详解SGA与实例优化 733

25.2将程序常驻内存 738

25.2.1创建软件包DBMS_SHARED_POOL 738

25.2.2将程序常驻内存的过程 740

25.2.3从DBMSPOOL脚本理解软件包DBMS_SHARED_POOL 742

25.3将数据常驻内存 744

25.3.1再论数据块缓存池 744

25.3.2将数据常驻内存的过程 745

25.3.3将常驻内存的程序恢复为默认缓冲池 748

25.4优化重做日志缓冲区 749

25.4.1深入理解重做日志缓冲区的工作机制 750

25.4.2重做日志缓冲区相关的等待事件 751

25.4.3设置重做日志缓冲区大小 753

25.5优化共享池(Shared Pool) 755

25.5.1库高速缓存 755

25.5.2使用绑定变量 755

25.5.3调整参数CURSOR_SHARING 759

25.5.4设置共享池的大小 759

25.6优化数据库高速缓存 761

25.6.1调整数据库缓冲区大小 761

25.6.2使用缓冲池 762

25.7优化PGA内存 765

25.8本章小结 769

第26章 Statspack与AWR 770

26.1安装 770

26.2设置Statspack相关参数 772

26.3 statspack数据收集 775

26.3.1 STATSPACK收集统计数据的原理 776

26.3.2创建性能数据报表 777

26.3.3自动收集性能报告 779

26.4初步分析STATSPACK性能报告 781

26.5 AWR是什么 786

26.6管理AWR 787

26.6.1 DBMS_WORKLOAD_REPOSITORY包的使用 788

26.6.2 AWR快照与STATISTICS_LEVEL参数的关系 789

26.6.3手工创建AWR快照 789

26.6.4清除AWR快照 790

26.6.5修改AWR快照参数 791

26.6.6创建和删除AWR快照基线 791

26.6.7创建AWR报告 793

26.7 ASH是AWR的补充 796

26.8创建并分析ASH报告 796

26.9 AWR与ADDM的关系 799

26.10本章小结 804