Oracle12c数据库DBA入门指南

Oracle12c数据库DBA入门指南"

作者:林树泽卢芬惠荣勤
ISBN:9787302384458
定价:¥89
字数:千字
页数:
出版时间:2015.01.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

Oracle 12c数据库是 Oracle公司最新推出的旗舰级数据库系统。本书全面、详细地讲解了 Oracle 12c数据库管理技术,是学习 Oracle数据库管理的实用教材。

全书共分 24章,通过近千个范例详尽讲解了 Oracle 12c数据库体系结构、安装与卸载、各种数据库对象、 PL/SQL语言、数据库备份与恢复、用户与系统管理等技术。书中每章的内容不但概念清晰、操作步骤明了、示例丰富,而且更侧重于满足实际工作的需要。

本书适合 Oracle数据库初学者以及初级 Oracle数据库管理员使用,也适合作为 Oracle数据库管理技能培训用书。

前言

前 言 

本书是一本介绍如何学习 Oracle数据库的入门书籍。Oracle数据库已经成为当今市场的主流数据库产品。目前 Oracle家族中已经不仅仅限于数据库单一产品,还包括操作系统、中间件等,Oracle已经收购了 MySQL、SUN等,其市场份额远远超过其他任何数据库产品,国内几乎所有大型企业,以及政府部门、军方都在使用 Oracle数据库。 

Oracle数据库领域市场职位缺口巨大,尤其是中高端人才更是紧缺。众多初学者都想掌握 Oracle数据库技术,并迈入 Oracle高端人才行列,这便产生了对入门技术的庞大需求,而 Oracle也顺应此潮流推出了资质认证体制,本书覆盖 OCA以及 OCP考试的绝大部分知识点,也是初学者必须掌握的基础知识。本书结合笔者多年的 Oracle数据库学习和维护经验,希望它可以成为 Oracle数据库初学者的必读书籍,也希望它可以成为欲准备 Oracle的 OCA、OCP考试的人员很好的参考教材,同时书中对于知识点的介绍更多地站在系统的全局角度考虑,读者可以获得全新的认识和实践体验。

本书是一本全面讲述 Oracle 12c数据库系统管理的书籍,书中内容基于 Oracle 12c 

12.1.0.1.0版本。这也是目前 Oracle推出的唯一的 12c版本。本书针对初学者,非常详细地介绍了如何安装 Oracle数据库及基本的配置内容,这样读者就能很快搭建一个学习环境。通过本书的学习,读者能够全面掌握 Oracle数据库的体系架构,数据库对象以及数据库管理、数据库安全、数据库备份与恢复等 DBA所必须掌握的知识和技能。相信本书能够让读者完成基本的数据库管理工作,成为一名合格的 Oracle数据库初级管理员。

全书共分 24章,包括 Oracle数据库基础、数据库启动与关闭、Oracle数据库体系结构、 SQL语言概述、数据字典、网络连接管理、内存管理、用户管理和资源文件、管理控制文件、重做日志管理、管理归档日志、表空间和数据文件、UNDO表空间管理、事务管理、角色管理、表管理、索引管理、系统和对象权限管理、视图、序列号和同义词、RMAN 备份与恢复数据库、闪回技术、手工管理的备份恢复等内容。

本书具有以下特点。 

.知识体系涵盖 Oracle DBA管理应掌握的各方面知识,覆盖了跨平台下 Oracle DBA管理应具备的各方面的知识和技能。 .内容全面而深入,实例得当,切中 DBA关注要点,描述内容由浅而深,详尽细致,能够帮助读者较好地掌握 DBA知识和技能。 .注重实践和应用,从数据库管理、开发、安全、性能优化和高可用等方面与数据库管

理员相关的最重要方面做了详尽的描述,本书将使读者在实际应用时能够快速上手,并且在遇到问题时能够获得有益的学习参考。可谓一册在手,管理无忧。 .实例详尽、图文并茂、示列清晰且所有案例均在实践环境中经过检验。

本书可以作为 Oracle 12c数据库操作手册,可供 Oracle数据库管理员、Oracle数据库应用开发人员、Oracle数据仓库工程师使用,还可以作为 Oracle技术支持和培训结构、高等院校数据库课程的参考教材。 

除林树泽、卢芬、惠荣勤之外,参与本书编写的还有历铁帅、杨亚琪、李渊、陈玉等人,他们为本书的创作做了大量的工作,在此表示衷心的感谢。 

编者 2014年 7月

目录

目 录 

第 1章 Oracle数据库基础知识 1 

1.1 什么是关系数据库 . 1 

1.1.1 关系数据库模型  1 

1.1.2 关系数据模型的创始人  2 

1.2 Oracle数据库发展简史 . 3 

1.2.1 公司之初  3 

1.2.2 Oracle数据库的发展历程  4 

1.3 数据库 RDBMS  4 

1.4 SQL语言简介. 5 

1.4.1 SQL语言概述 6 

1.4.2 SQL语句 6 

1.5 本章小结 . 8 

第 2章  Oracle 12c数据库初体验  9 

2.1 安装数据库的环境要求 . 9 

2.2 Windows环境下 Oracle 12c的安装步骤 . 10 

2.3 SQLPLUS工具以及 SCOTT用户  18 

2.4 本章小结 . 20 

第 3章数据库的启动与关闭  21 

3.1 启动数据库 . 21 

3.1.1 数据库启动过程  21 

3.1.2 数据库启动到 NOMOUNT状态 22 

3.1.3 数据库启动到 MOUNT状态 . 28 

3.1.4 数据库启动到 OPEN状态 29 

3.2 关闭数据库 . 32 

3.2.1 数据库关闭过程  32 

3.2.2 数据库关闭的几个参数及其含义  35 

3.3 Quiesce与 Suspend数据库 36 

3.4 本章小结 . 39 

第 4章 Oracle数据库体系结构 41 

4.1 Oracle体系结构概述 41 

4.2 Oracle数据库体系结构 . 41 

4.2.1 Oracle服务器和实例  42 

4.2.2 Oracle数据库的物理结构(文件组成)  43 

4.2.3 Oracle数据库参数文件和密码文件  44 

4.3 数据库连接(connection)与会话(session). 44 

4.3.1 数据库连接(connection). 44 

4.3.2 会话(session). 45 

4.4 Oracle数据库的内存结构 . 47 

4.4.1 共享池(shared pool) 47 

4.4.2 数据库高速缓冲区(database buffer cache) . 52 

4.4.3 重做日志高速缓冲区(redo buffer cache)  56 

4.4.4 大池(large pool)和 Java池. 58 

4.4.5 流池(streaming pool)  59 

4.4.6 PGA(进程全局区)和 UGA(用户全局区)  59 

4.4.7 如何获得内存缓冲区的信息  61 

4.5 Oracle服务器进程和用户进程 . 63 

4.6 Oracle数据库后台进程 . 64 

4.6.1 系统监控进程(SMON). 64 

4.6.2 进程监控进程(PMON). 64 

4.6.3 数据库写进程(DBWR)  65 

4.6.4 重做日志写进程(LGWR)  66 

4.6.5 归档日志进程(ARCH) . 67 

4.6.6 校验点进程(checkpoint process) 69 

4.7 本章小结 . 70 

第 5章  SQL语言概述  71 

5.1 SQL语句的分类. 71 

5.2 SQL的查询语句. 72 

5.2.1 SELECT语句的语法及书写要求  72 

5.2.2 简单查询  73 

5.2.3 特定的列查询  74 

5.2.4 WHERE子句. 75 

5.2.5 列标题的默认显示格式  76 

5.2.6 在 SQL语句中使用列的别名. 77 

5.2.7 算数运算符及其使用  77 

5.2.8 DISTINCT运算符. 78 

5.2.9 连接(contatenation)运算符及使用. 80 

5.3 书写规范 . 81 

5.4 单行函数 . 82 

5.4.1 字符型单行函数  82 

5.4.2 数字型单行函数  86 

5.4.3 日期型单行函数  88 

5.5 空值(NULL)和空值处理函数  92 

5.5.1 什么是空值  92 

5.5.2 NVL函数和 NVL2函数. 94 

5.5.3 NULLIF函数. 96 

5.5.4 COALESCE函数  97 

5.6 条件表达式 . 98 

5.6.1 CASE表达式. 99 

5.6.2 DECODE函数 . 100 

5.7 分组函数 . 101 

5.7.1 AVG和 SUM函数 101 

5.7.2 MAX和 MIN函数  102 

5.7.3 COUNT函数 . 102 

5.7.4 GROUP BY 子句  103 

5.7.5 分组函数的嵌套使用  104 

5.7.6 HAVING子句 . 104 

5.8 数据操纵语言(DML)  105 

5.8.1 INSERT语句 . 106 

5.8.2 UPDATE语句 . 108 

5.8.3 DELETE语句  110 

5.9 本章小结 . 110 

第 6章数据字典 .111 

6.1 数据字典中的内容 . 111 

6.2 使用和操作数据字典视图 . 111 

6.3 数据字典视图分类 . 112 

6.4 使用数据字典视图 . 117 

6.5 动态性能视图及使用 . 120 

6.6 本章小结 . 123 

第 7章网络配置管理. 124 

7.1 Oracle的网络连接 124 

7.2 服务器端监听器配置 . 125 

7.2.1 动态注册  128 

7.2.2 静态注册  131 

7.2.3 连接测试  134 

7.2.4 监听程序管理  136 

7.3 客户端配置 . 138 

7.3.1 本地命名  138 

7.3.2 简单命名  140 

7.4 Oracle数据库服务器支持的两种连接方式 . 141 

7.4.1 服务器进程  141 

7.4.2 共享连接  142 

7.4.3 共享连接涉及初始化参数  142 

7.4.4 共享连接的工作过程  143 

7.4.5 共享连接的配置  144 

7.4.6 共享连接的一些问题  148 

7.4.7 专有连接  148 

7.5 数据库驻留连接池 . 150 

7.5.1 DRCP的工作原理. 150 

7.5.2 如何配置 DRCP. 151 

7.6 本章小结 . 155 

第 8章内存管理  156 

8.1 内存架构 . 156 

8.1.1 PGA概述 . 157 

8.1.2 SGA概述 . 159 

8.1.3 UGA概述. 161 

8.2 内存管理 . 161 

8.2.1 配置内存组件  162 

8.2.2 SGA与 PGA的自动调整 . 164 

8.2.3 限制 PGA的大小  165 

8.2.4 配置数据库智能高速缓存  165 

8.3 本章小结 . 167 

第 9章用户管理和资源文件  168 

9.1 创建用户 . 168 

9.1.1 初试新用户的创建  168 

9.1.2 创建用户语法及参数含义  171 

9.1.3 改变用户参数  172 

9.2 删除用户 . 174 

9.3 用户和数据库模式 . 175 

9.4 用户管理中的重要文件——概要文件 . 176 

9.4.1 什么是概要文件  177 

9.4.2 资源管理和口令管理概要文件的使用步骤  177 

9.4.3 使用概要文件管理会话资源  177 

9.4.4 口令管理参数以及含义  179 

9.4.5 创建口令管理的概要文件  182 

9.5 修改和删除概要文件 . 183 

9.6 本章小结 . 185 

第 10章控制文件和数据库启动  186 

10.1 控制文件和数据库启动概述 . 186 

10.2 如何获得控制文件的信息 . 187 

10.3 控制文件的内容 . 188 

10.3.1 控制文件中所存的内容  188 

10.3.2 如何查看控制文件中所存内容的记录信息  189 

10.4 存储多重控制文件 . 191 

10.4.1 多重控制文件  191 

10.4.2 移动控制文件  192 

10.4.3 添加控制文件  196 

10.5 备份和恢复控制文件 . 196 

10.5.1 控制文件的备份  196 

10.5.2 控制文件的恢复  198 

10.6 本章小结 . 201 

第 11章重做日志管理 . 202 

11.1 Oracle为何引入重做日志 . 202 

11.2 读取重做日志文件信息 . 203 

11.2.1 v$log视图  204 

11.2.2 v$logfile视图. 204 

11.2.3 判断是否归档  205 

11.2.4 设置数据库为归档模式  205 

11.3 重做日志组及其管理 . 207 

11.3.1 添加重做日志组  207 

11.3.2 删除联机重做日志组  210 

11.4 重做日志成员及维护 . 211 

11.4.1 添加重做日志成员  211 

11.4.2 删除联机重做日志成员  213 

11.4.3 重设联机重做日志的大小  214 

11.5 清除联机重做日志 . 217 

11.6 日志切换和检查点事件 . 218 

11.7 归档重做日志 . 219 

11.8 本章小结 . 219 

第 12章管理归档日志. 220 

12.1 归档模式 . 220 

12.2 设置归档模式 . 221 

12.3 设置归档进程与归档 . 223 

12.4 维护归档 . 229 

12.5 本章小结 . 234 

第 13章表空间与数据文件管理  235 

13.1 Oracle数据库的逻辑结构 . 235 

13.2 表空间的分类以及创建表空间 . 237 

13.3 表空间磁盘管理的两种方案 . 240 

13.3.1 数据字典管理的表空间磁盘管理  240 

13.3.2 本地管理的表空间磁盘管理  241 

13.4 创建表空间 . 241 

13.4.1 创建数据字典管理的表空间  241 

13.4.2 创建本地管理的表空间  243 

13.4.3 创建还原表空间  244 

13.4.4 创建临时表空间  246 

13.4.5 默认临时表空间  248 

13.4.6 创建大文件表空间  251 

13.5 表空间管理 . 255 

13.5.1 脱机管理  255 

13.5.2 只读管理  257 

13.6 表空间和数据文件管理 . 260 

13.6.1 修改表空间大小  260 

13.6.2 修改表空间的存储参数  264 

13.6.3 删除表空间  265 

13.6.4 迁移数据文件  265 

13.6.5 数据字典和本地管理的表空间  269 

13.7 本章小结 . 270 

第 14章 UNDO表空间管理. 271 

14.1 引入还原段的作用 . 271 

14.2 还原段如何完成读一致性 . 272 

14.2.1 Oracle如何实现读一致性  272 

14.2.2 读一致性的进一步复杂化分析  272 

14.2.3 读一致性的具体步骤  274 

14.3 还原段的实例恢复与事务回滚 . 274 

14.4 UNDO SEGMENT的选择算法. 274 

14.5 讨论 undo_retention参数. 275 

14.6 还原段分类 . 277 

14.7 Oracle的自动还原段管理 . 278 

14.8 创建还原表空间 . 279 

14.9 维护还原表空间 . 281 

14.10 切换还原表空间 . 282 

14.10.1 UNDO表空间切换示例 283 

14.10.2 UNOD表空间切换涉及的状态 283 

14.10.3 删除 UNDO表空间示例. 284 

14.11 临时 UNDO. 286 

14.12 dba_undo_extents数据字典 . 287 

14.13 本章小结 . 288 

第 15章事务(Transaction) . 289 

15.1 Oracle事务的由来 289 

15.2 什么是事务 . 289 

15.3 事务的特点 . 290 

15.4 事务控制 . 290 

15.4.1 使用 COMMIT的显式事务控制 291 

15.4.2 使用 ROLLBACK实现事务控制. 293 

15.4.3 程序异常退出对事务的影响  294 

15.4.4 使用 AUTOCOMMIT实现事务的自动提交  296 

15.5 本章小结 . 297 

第 16章角色管理  298 

16.1 什么是角色 . 298 

16.2 创建角色 . 300 

16.3 修改角色 . 301 

16.4 赋予角色权限 . 302 

16.5 赋予用户角色 . 304 

16.6 默认角色 . 308 

16.7 禁止和激活角色 . 311 

16.8 回收和删除角色 . 313 

16.9 Oracle预定义的角色 . 316 

16.10 本章小结 . 318 

第 17章管理和维护表. 319 

17.1 Oracle基本的数据存储机制——表 . 319 

17.1.1 数据的存储类型  319 

17.1.2 行 ID(ROWID) . 321 

17.2 创建表 . 322 

17.2.1 Oracle创建表的规则  322 

17.2.2 创建普通表  322 

17.2.3 创建临时表  325 

17.3 不可见字段 . 329 

17.4 段空间管理 . 333 

17.5 理解高水位线(HWM). 333 

17.6 理解行迁移 . 334 

17.7 创建索引组织表(IOT)  335 

17.7.1 IOT表的结构  335 

17.7.2 创建 IOT表 337 

17.8 表参数以及参数维护 . 337 

17.9 维护列 . 340 

17.10 删除和截断表 . 345 

17.11 表压缩 . 348 

17.12 TOP-N查询  349 

17.13 本章小结 . 351 

第 18章索引 . 352 

18.1 索引的概念 . 352 

18.2 Oracle实现数据访问的方法 . 353 

18.2.1 全表扫描(Full Table Scan,FTS) 353 

18.2.2 通过行 ID(ROWID) . 353 

18.2.3 使用索引  354 

18.3 索引扫描类型 . 355 

18.3.1 索引唯一扫描(INDEX UNIQUE SCAN) 355 

18.3.2 索引范围扫描(INDEX RANGE SCAN) . 356 

18.3.3 索引全扫描(INDEX FULL SCAN) . 356 

18.3.4 索引快速扫描(INDEX FAST FULL SCAN)  357 

18.4 限制索引使用的情况 . 357 

18.4.1 使用不等于运算符  357 

18.4.2 使用 IS NULL或 IS NOT NULL  358 

18.4.3 使用函数  359 

18.4.4 比较不匹配的数据类型  360 

18.5 集群因子 . 361 

18.6 二元高度 . 361 

18.7 直方图 . 363 

18.8 建立索引 . 364 

18.9 查看索引 . 367 

18.10 B-树索引 . 368 

18.10.1 B树索引的工作原理  368 

18.10.2 B树索引的注意事项  369 

18.11 位图索引 . 369 

18.11.1 位图索引的使用讨论  369 

18.11.2 创建位图索引  370 

18.11.3 位图索引的插入问题  371 

18.12 HASH索引 . 372 

18.13 反向键索引 . 374 

18.14 基于函数的索引 . 375 

18.15 监控索引的使用 . 376 

18.16 重建索引 . 378 

18.17 维护索引 . 380 

18.18 删除索引 . 382 

18.19 本章小结 . 382 

第 19章系统和对象权限管理  383 

19.1 权限的概念和分类 . 383 

19.2 系统权限 . 383 

19.3 授予用户系统权限 . 385 

19.4 SYSDBA和 SYSOPER系统特权. 389 

19.5 回收用户系统权限 . 390 

19.6 授予对象权限 . 393 

19.7 回收对象权限 . 396 

19.8 本章小结 . 397 

第 20章视图 398 

20.1 什么是视图 . 398 

20.2 创建视图 . 398 

20.3 使用视图的 WITH子句. 402 

20.4 视图的修改 . 404 

20.5 Oracle的视图管理 406 

20.5.1 通过数据字典查询视图  406 

20.5.2 Oracle视图查询的内部过程  407 

20.6 视图 DML操作的限制  407 

20.6.1 简单视图  408 

20.6.2 复杂视图  408 

20.7 视图的优点 . 408 

20.8 删除视图 . 409 

20.9 物化视图 . 409 

20.9.1 什么是物化视图  409 

20.9.2 查询重写的概念  410 

20.9.3 物化视图的同步  410 

20.9.4 创建物化视图  412 

20.9.5 物化视图的使用环境  414 

20.10 本章小结 . 415 

第 21章序列号和同义词 . 416 

21.1 什么是序列号 . 416 

21.2 创建和使用序列号 . 416 

21.3 修改序列号 . 420 

21.4 会话序列号 . 423 

21.5 删除序列号 . 423 

21.6 什么是同义词 . 424 

21.7 创建公有同义词 . 425 

21.8 创建私有同义词 . 426 

21.9 删除同义词 . 427 

21.10 切换用户模式 . 428 

21.11 本章小结 . 429 

第 22章 RMAN备份与恢复数据库  430 

22.1 RMAN概述  430 

22.2 RMAN的独特之处  430 

22.3 RMAN系统架构详解  431 

22.4 快闪恢复区(flash recovery area). 432 

22.4.1 修改快闪恢复区大小  433 

22.4.2 解决快闪恢复区的空间不足问题  434 

22.5 建立 RMAN到数据库的连接 . 435 

22.6 RMAN的相关概念与配置参数  437 

22.7 RMAN备份控制文件  439 

22.8 RMAN实现脱机备份  442 

22.9 RMAN联机备份  444 

22.9.1 联机备份前的准备工作  444 

22.9.2 联机备份整个数据库  445 

22.9.3 联机备份一个表空间  450 

22.9.4 联机备份一个数据文件  451 

22.9.5 RMAN备份坏块处理方式 . 453 

22.10 RMAN的增量备份  453 

22.11 快速增量备份 . 456 

22.12 在映像副本上应用增量备份 . 457 

22.13 创建和维护恢复 . 459 

22.14 RMAN的脚本管理  463 

22.15 使用 RMAN非归档模式下的完全恢复 . 465 

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

22.15.2 只有数据文件丢失的恢复  471 

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

22.15.4 如何将数据文件恢复到其他磁盘下  476 

22.16 使用 RMAN归档模式下的完全恢复 . 477 

22.16.1 非系统表空间损坏的恢复  477 

22.16.2 系统表空间损坏的恢复  480 

22.16.3 所有数据文件丢失的恢复  482 

22.17 RMAN实现数据块恢复  482 

22.18 RMAN的备份维护指令  487 

22.18.1 RMAN的 VALIDATE BACKUPSET指令. 487 

22.18.2 RMAN的 RESTORE…VALIDATE指令 . 488 

22.18.3 RMAN的 RESTORE…PREVIEW指令 489 

22.18.4 RMAN的 LIST指令. 490 

22.18.5 RMAN的 REPORT指令 494 

22.19 本章小结 . 495 

第 23章 Oracle闪回技术. 496 

23.1 理解闪回级别 . 496 

23.2 闪回数据库 . 496 

23.2.1 闪回数据库概述  496 

23.2.2 启用闪回数据库  497 

23.2.3 关闭闪回数据库  501 

23.2.4 闪回数据库方法  502 

23.2.5 使用闪回数据库  503 

23.2.6 监控闪回数据库  506 

23.2.7 使用闪回数据库的限制  508 

23.3 闪回删除 . 508 

23.3.1 闪回删除原理  508 

23.3.2 回收站的使用  510 

23.3.3 恢复删除的表  512 

23.3.4 恢复多个同名的表  517 

23.3.5 应用 Purge永久删除表. 519 

23.4 闪回表 . 521 

23.5 闪回版本查询 . 525 

23.6 闪回事务查询 . 527 

23.7 闪回查询 . 528 

23.8 复原点技术 . 529 

23.9 本章小结 . 531 

第 24章手工管理的备份恢复  532 

24.1 备份恢复的概念 . 532 

24.1.1 物理备份  532 

24.1.2 逻辑备份  533 

24.1.3 冷备份与热备份  533 

24.1.4 数据库恢复  533 

24.2 非归档模式下的冷备与恢复 . 535 

24.2.1 冷备的步骤  535 

24.2.2 冷备下的恢复  537 

24.2.3 缺少重做日志文件的恢复方法  540 

24.3 归档模式与非归档模式 . 542 

24.3.1 设置数据库的归档模式  542 

24.3.2 设置归档进程相关参数  545 

24.3.3 管理归档文件和归档  546 

24.4 手工热备数据库的步骤 . 550 

24.5 热备过程中对数据库崩溃的处理方法 . 553 

24.6 热备的原理 . 556 

24.7 备份控制文件 . 557 

24.8 介质恢复的原理 . 561 

24.9 归档模式下的完全恢复 . 567 

24.9.1 数据文件在有备份情况下的恢复  568 

24.9.2 数据文件在无备份情况下的恢复  572 

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

24.9.4 当前 UNDO表空间损坏的完全恢复. 576 

24.9.5 非当前 UNDO表空间损坏的完全恢复. 579 

24.10 何时使用不完全恢复 . 583 

24.10.1 不完全恢复的场合  583 

24.10.2 不完全恢复的类型  583 

24.11 所有控制文件丢失的恢复方法 . 584 

24.11.1 使用备份的控制文件  584 

24.11.2 重建控制文件  588 

24.12 本章小结 . 593 

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个