Oracle DBA高可用、备份恢复与性能优化作者:林树泽,卢芬,柳冬青出版时间:2015内容简介 本书内容包括高可用性、数据库备份与恢复,以及数据库优化。这三部分是 Oracle DBA必须掌握的内容,尤其是 RAC、Data Guard和 Stream部署在很多企业应用系统上,提供了系统的高可用性以及高可靠性,已经成为企业招聘面试的必考内容。 本书高可用部分介绍了 RAC、Data Guard和 Stream的原理、架构以及安装部署技术,同时还介绍了 ASM存储以及 Clusterware的维护技术。备份与恢复部分详细介绍了 Oracle的所有备份和恢复技术。数据库优化包括 SQL优化和数据库实例优化技术,并介绍了性能分析工具 Statspack与 AWR。各部分所涉及的技术都使用了大量的实例来说明。 本书面向需要进阶的初级 DBA、中级 DBA以及准备 OCM考试的读者。如果读者有着丰富的 DBA经验,但对于某些原理如 RAC、Data Guard、Stream和 ASM等不甚了解,也可以从书中获得解答。目 录第1章 RAC真应用集群1.1 单实例数据库并发控制原理1.1.1 并发访问的数据不一致问题1.1.2 事务以及隔离级别1.1.3 支持并发的lock机制1.1.4 支持并发的latch机制1.1.5 Lock和Latch的使用1.2 RAC并发控制的实现1.2.1 RAC的并发控制问题1.2.2 RAC的实现并发访问1.3 Oracle为何引入RAC1.4 RAC集群简介1.4.1 集群分类1.4.2 RAC环境的特殊问题1.4.3 RAC集群1.5 RAC架构详解1.6 RAC与Clusterware1.7 安装RAC1.7.1 设计RAC应用环境1.7.2 确认安装的软件组件1.7.3 任务规划1.7.4 安装虚拟机1.7.5 在虚拟机上安装linux操作系统1.7.6 配置主机1.7.7 安装Clusterware1.7.8 安装数据库软件1.7.9 启动监听1.7.10 创建ASM1.7.11 创建数据库1.8 Failover和Load balance测试1.8.1 Failover失败转移1.8.2 LoadBalance负载均衡1.9 本章小结第2章 ASM自动存储管理2.1 Oracle自动存储管理概述2.2 自动存储管理的优点2.3 ASM系统架构2.4 ASM和CSS集群同步服务2.5 创建ASM实例2.6 启动ASM实例2.7 理解ASM实例架构2.8 ASM命令行管理工具2.9 管理ASM磁盘组2.9.1 使用ASM磁盘组管理文件的优势2.9.2 创建磁盘组2.9.3 向磁盘组添加磁盘2.9.4 删除磁盘和磁盘组2.9.5 平衡磁盘组2.9.6 MOUNT和DISMOUNT磁盘组2.10 管理ASM文件2.10.1 ASM磁盘组文件名结构2.10.2 ASM磁盘组中目录管理2.10.3 添加和删除别名2.10.4 删除文件2.10.5 使用ASM文件模板2.11 使用RMAN将数据库迁移到ASM实例2.12 管理ASM的数据字典视图2.13 本章小结第3章 管理Clusterware组件及管理指令3.1 Clusterware及其组件3.2 备份和恢复VotingDisks3.3 添加和删除VotingDisks3.4 备份和恢复OCR3.4.1 从自动备份中恢复OCR3.4.2 从人工备份文件中恢复3.5 修改OCR存储配置信息3.6 删除OCR存储3.7 ocrconfig指令功能汇总3.8 管理Clusterware指令3.8.1 srvctl指令3.8.2 crs_stat指令3.8.3 onsctl指令3.8.4 crsctl指令3.8.5 ocrcheck指令3.8.6 ocrdump指令3.8.7 oifcfg指令3.8.8 olsnodes指令3.9 本章小结第4章 DataGuard的安装与管理4.1 DataGuard是什么4.2 DataGuard体系结构4.2.1 DataGuard的架构4.2.2 DataGuard的后台进程4.3 DataGuard配置及相关概念4.4 DataGuard服务本质4.4.1 Apply服务4.4.2 Redo 应用4.4.3 SQL 应用4.4.4 角色转换服务4.5 DataGuard的保护模式4.6 DataGuard的优点4.7 手工搭建物理DataGuard4.8 物理DataGuard的SWITCHOVER4.9 物理DataGuard的FAILOVER4.10 如何转换FAILOVER后的主库为新备库4.11 管理物理Standby数据库4.11.1 启动Standby数据库4.11.2 关闭Standby数据库4.11.3 Primary数据库结构变化的传播4.11.4 自动传播数据文件和表空间的变化4.11.5 手工修改数据文件和表空间的变化4.11.6 重命名数据文件4.11.7 添加或删除重做日志组4.11.8 监控DataGuard数据库视图4.11.9 设置DataGuard保护模式4.12 DataGuard broker4.12.1 DataGuard Broker概述4.12.2 DataGuard Broker的配置4.12.3 DataGuard Broker的组件4.12.4 DataGuard Broker的DMON进程4.12.5 DataGuard Broker使用的前提条件4.12.6 DataGuard Broker配置实例演示4.12.7 DataGuard Broker完成物理DG的SWITCHOVER4.12.8 DataGuard Broker实现DG的自动FAILOVER4.12.9 DG的DGMGRL维护指令设置4.13 DataGuard 的日志传输服务4.13.1 通过ARCn进程来传送Redo4.13.2 LGWR进程同步传送Redo4.13.3 LGWR进程异步传送Redo4.14 本章小结第5章 Streams技术原理与应用5.1 Streams概述5.2 Streams的原理5.3 Streams体系结构概述5.4 配置本地捕获进程的单向复制5.4.1 具体配置之前的任务5.4.2 Stream单向本地复制配置5.5 使用MAINTAIN_*存储过程配置流5.6 Streams的几个重要视图5.7 小结第6章 RMAN备份与恢复数据库6.1 RMAN概述6.2 RMAN的独特之处6.3 RMAN系统架构详解6.4 快闪恢复区(flash recovery area)6.4.1 修改快闪恢复区大小6.4.2 解决快闪恢复区的空间不足问题6.5 建立RMAN到数据库的连接6.6 RMAN的相关概念与配置参数6.7 RMAN备份控制文件6.8 RMAN实现脱机备份6.9 RMAN联机备份6.9.1 联机备份前的准备工作6.9.2 联机备份整个数据库6.9.3 联机备份一个表空间6.9.4 联机备份一个数据文件6.9.5 RMAN备份坏块处理方式6.10 RMAN的增量备份6.11 快速增量备份6.12 在映像副本上应用增量备份6.13 创建和维护恢复目录6.14 RMAN的脚本管理6.15 使用RMAN非归档模式下的完全恢复6.15.1 控制文件、数据文件以及重做日志文件丢失的恢复6.15.2 只有数据文件丢失的恢复6.15.3 联机重做日志文件和数据文件损坏的恢复6.15.4 如何将数据文件恢复到其它磁盘目录下6.16 使用RMAN归档模式下的完全恢复6.16.1 非系统表空间损坏的恢复6.16.2 系统表空间损坏的恢复6.16.3 所有数据文件丢失的恢复6.17 RMAN实现数据块恢复6.18 RMAN的备份维护指令6.18.1 RMAN的VALIDATE BACKUPSET指令6.18.2 RMAN的RESTORE…VALIDATE指令6.18.3 RMAN的RESTORE…PREVIEW指令6.18.4 RMAN的LIST指令6.18.5 RMAN的REPORT指令6.19 本章小结第7章 手工管理的备份恢复7.1 备份恢复的概念7.1.1 物理备份7.1.2 逻辑备份7.1.3 冷备份与热备份7.1.4 数据库恢复7.2 非归档模式下的冷备与恢复7.2.1 冷备的步骤7.2.2 冷备下的恢复7.2.3 缺少重做日志文件的恢复方法7.3 归档模式与非归档模式7.3.1 设置数据库的归档模式7.3.2 设置归档进程相关参数7.3.3 管理归档文件和归档目录7.4 手工热备数据库的步骤7.5 热备过程中对数据库崩溃的处理方法7.6 热备的原理7.7 备份控制文件7.8 介质恢复的原理7.9 归档模式下的完全恢复7.9.1 数据文件在有备份情况下的恢复7.9.2 数据文件在无备份情况下的恢复7.9.3 系统表空间数据文件损坏的完全恢复7.9.4 当前UNDO表空间损坏的完全恢复7.9.5 非当前UNDO表空间损坏的完全恢复7.10 何时使用不完全恢复7.10.1 不完全恢复的场合7.10.2 不完全恢复的类型7.11 所有控制文件丢失的恢复方法7.11.1 使用备份的控制文件7.11.2 重建控制文件7.12 本章小结第8章 Oracle闪回技术8.1 理解闪回级别8.2 闪回数据库8.2.1 闪回数据库概述8.2.2 启用闪回数据库8.2.3 关闭闪回数据库8.2.4 闪回数据库方法8.2.5 使用闪回数据库8.2.6 监控闪回数据库8.2.7 使用闪回数据库的限制8.3 闪回删除8.3.1 闪回删除原理8.3.2 回收站的使用8.3.3 恢复删除的表8.3.4 恢复多个同名的表8.3.5 应用Purge永久删除表8.4 闪回表8.5 闪回版本查询8.6 闪回事务查询8.7 闪回查询8.8 复原点技术8.9 本章小结第9章 数据迁移-EXP/IMP9.1 关于备份的几个概念9.2 使用EXP指令实现逻辑备份9.2.1 EXP指令详解9.2.2 不带参数的EXP 备份9.2.3 EXP指令导出整个数据库9.2.4 EXP指令导出特定的表9.2.5 EXP指令导出指定的用户9.2.6 EXP指令导出特定的表空间9.3 使用IMP指令实现逻辑恢复9.3.1 IMP指令详解9.3.2 IMP指令恢复整个数据库9.3.3 IMP指令恢复特定的表9.3.4 IMP指令恢复指定的用户9.4 使用EXP/IMP实现传输表空间9.4.1 理解Big/Little Endian9.4.2 传输表空间的限制9.4.3 传输表空间的兼容性问题9.4.4 传输表空间的自包含特性9.4.5 实现传输表空间的步骤9.4.6 使用EXP/IMP实现同平台表空间迁移9.4.7 使用EXP/IMP实现跨平台表空间迁移9.5 本章小结第10章 数据迁移-EXPDP/IMPDP10.1 数据泵导出(EXPDP)简介10.1.1 数据泵导入导出技术的结构10.1.2 数据泵导入导出技术的优点10.1.3 数据泵导入导出的目录对象10.2 数据泵导入导出与EXP/IMP技术的区别10.3 数据泵导出(EXPDP)数据库实例10.3.1 数据泵导出的参数含义10.3.2 数据泵导出数据库实例10.4 数据泵导入数据库实例10.4.1 数据泵导入概述及参数含义10.4.2 数据泵导入数据库实例步骤10.5 使用数据泵迁移表空间10.6 使用数据泵生成外部表10.7 本章小结第11章 基于CBO的SQL优化11.1 性能调整方法11.2 SQL查询处理过程详解11.2.1 语法分析11.2.2 语句优化11.2.3 查询执行11.3 基于成本的优化11.3.1 选择CBO的优化方式11.3.2 优化器工作过程11.4 自动统计数据11.5 手工统计数据库数据11.6 统计操作系统数据11.7 手工统计字典数据11.8 主动优化SQL语句11.8.1 WHERE谓词的注意事项11.8.2 SQL语句优化工具11.8.3 使用索引11.8.4 索引类型及使用时机11.8.5 使用绑定变量11.8.6 消除子查询优化SQL语句11.9 被动优化SQL语句11.9.1 使用分区表11.9.2 使用表和索引压缩11.9.3 保持CBO的稳定性11.9.4 创建合适的索引11.10 详解V$SQL视图11.11 本章小结第12章 Oracle数据库实例优化12.1 详解SGA与实例优化12.2 将程序常驻内存12.2.1 创建软件包DBMS_SHARED_POOL12.2.2 将程序常驻内存的过程12.2.3 从DBMSPOOL脚本理解软件包DBMS_SHARED_POOL12.3 将数据常驻内存12.3.1 再论数据块缓存池12.3.2 将数据常驻内存的过程12.3.3 将常驻内存的程序恢复为默认缓冲池12.4 优化重做日志缓冲区12.4.1 深入理解重做日志缓冲区的工作机制12.4.2 重做日志缓冲区相关的等待事件12.4.3 设置重做日志缓冲区大小12.5 优化共享池(Shared Pool)12.5.1 库高速缓存12.5.2 使用绑定变量12.5.3 调整参数CURSOR_SHARING12.5.4 设置共享池的大小12.6 优化数据库高速缓存12.6.1 调整数据库缓冲区大小12.6.2 使用缓冲池12.7 优化PGA内存12.8 本章小结第13章 Statspack与AWR13.1 Statspack安装13.2 设置Statspack相关参数13.3 statspack数据收集13.3.1 STATSPACK收集统计数据的原理13.3.2 创建性能数据报表13.3.3 自动收集性能报告13.4 初步分析STATSPACK性能报告13.5 AWR是什么13.6 管理AWR13.6.1 DBMS_WORKLOAD_REPOSITORY包的使用13.6.2 AWR快照与STATISTICS_LEVEL参数的关系13.6.3 手工创建AWR快照13.6.4 清除AWR快照13.6.5 修改AWR快照参数13.6.6 创建和删除AWR快照基线13.6.7 创建AWR报告13.7 ASH是AWR的补充13.8 创建并分析ASH报告13.9 AWR与ADDM的关系13.10 本章小结 上一篇: Java 8编程入门官方教程 第六版 下一篇: 网络编程系列丛书 Java网络编程技术与实践