内容简介
第Ⅰ部分 数据库体系结构
第1章 Oracle体系结构概述
1.1 数据库和实例概述
1.1.1 数据库
1.1.2 实例
1.2 Oracle逻辑存储结构
1.2.1 表空间
1.2.2 块
1.2.3 盘区
1.2.4 段
1.3 Oracle逻辑数据库结构
1.3.1 表
1.3.2 约束
1.3.3 索引
1.3.4 视图
1.3.5 用户和模式
1.3.6 配置文件
1.3.7 序列
1.3.8 同义词
1.3.9 PL/SQL
1.3.10 外部文件访问
1.3.11 数据库链接和远程数据库
1.4 Oracle物理存储结构
1.4.1 数据文件
1.4.2 重做日志文件
1.4.3 控制文件
1.4.4 归档的日志文件
1.4.5 初始参数文件
1.4.6 警报和跟踪日志文件
1.4.7 备份文件
1.4.8 Oracle管理文件
1.4.9 密码文件
1.5 多元复用数据库文件
1.5.1 自动存储管理
1.5.2 手动的多元复用
1.6 Oracle内存结构
1.6.1 系统全局区域
1.6.2 程序全局区域
1.6.3 软件代码区域
1.6.4 后台进程
1.7 备份/恢复概述
1.7.1 导出/导入
1.7.2 脱机备份
1.7.3 联机备份
1.7.4 RMAN
1.8 安全功能
1.8.1 权限和角色
1.8.2 审核
1.8.3 细粒度的审核
1.8.4 虚拟私有数据库
1.8.5 标号安全性
1.9 实时应用群集
1.10 Oracle流
1.11 Oracle企业管理器
1.12 Oracle初始参数
1.12.1 基本初始参数
1.12.2 高级初始参数
1.13 本章小结
第2章 升级到Oracle Database 12c
2.1 选择升级方法
2.2 升级前的准备工作
2.3 使用DBUA
2.4 执行手动直接升级
2.5 使用Data Pump Export和Import
2.5.1 使用的Export和Import版本
2.5.2 执行升级
2.6 使用数据复制方法
2.7 升级后的工作
2.8 本章小结
第3章 计划和管理表空间
3.1 表空间的体系结构
3.1.1 表空间类型
3.1.2 OFA
3.2 Oracle安装表空间
3.2.1 SYSTEM
3.2.2 SYSAUX
3.2.3 TEMP
3.2.4 UNDOTBS1
3.2.5 USERS
3.2.6 EXAMPLE
3.3 段分离
3.4 本章小结
第4章 物理数据库布局和存储管理
4.1 传统磁盘空间存储
4.1.1 重设表空间和数据文件的大小
4.1.2 移动数据文件
4.1.3 移动联机重做日志文件
4.1.4 移动控制文件
4.2 自动存储管理
4.2.1 ASM体系结构
4.2.2 创建ASM实例
4.2.3 ASM实例组件
4.2.4 ASM动态性能视图
4.2.5 ASM文件名格式
4.2.6 ASM文件类型和模板
4.2.7 管理ASM磁盘组
4.3 本章小结
第Ⅱ部分 数据库管理
第5章 开发和实现应用程序
5.1 调整设计:最佳实践
5.1.1 做尽可能少的工作
5.1.2 做尽可能简单的工作
5.1.3 告诉数据库需要知道的内容
5.1.4 最大化环境中的吞吐量
5.1.5 分开处理数据
5.1.6 正确测试
5.1.7 标准的可交付成果
5.2 资源管理
5.2.1 实现数据库资源管理器
5.2.2 调整数据库对象的大小
5.2.3 使用全局临时表
5.3 支持基于抽象数据类型的表
5.3.1 使用对象视图
5.3.2 抽象数据类型的安全性
5.3.3 对抽象数据类型属性创建索引
5.4 停顿并挂起数据库
5.5 支持迭代开发
5.5.1 迭代式列定义
5.5.2 强制光标共享
5.6 管理程序包开发
5.6.1 生成图表
5.6.2 空间需求
5.6.3 调整目标
5.6.4 安全性需求
5.6.5 数据需求
5.6.6 版本需求
5.6.7 执行计划
5.6.8 验收测试过程
5.6.9 测试环境
5.7 本章小结
第6章 监控空间利用率
6.1 常见的空间管理问题
6.1.1 用尽表空间中的空闲空间
6.1.2 用于临时段的空间不足
6.1.3 所分配的撤消空间过多或过少
6.1.4 分片的表空间和段
6.2 Oracle段、盘区和块
6.2.1 数据块
6.2.2 盘区
6.2.3 段
6.3 数据字典视图和动态性能视图
6.3.1 DBA_TABLESPACES
6.3.2 DBA_SEGMENTS
6.3.3 DBA_EXTENTS
6.3.4 DBA_FREE_SPACE
6.3.5 DBA_LMT_FREE_SPACE
6.3.6 DBA_THRESHOLDS
6.3.7 DBA_OUTSTANDING_ALERTS
6.3.8 DBA_OBJECT_USAGE
6.3.9 DBA_ALERT_HISTORY
6.3.10 V$ALERT_TYPES
6.3.11 V$UNDOSTAT
6.3.12 V$SORT_SEGMENT
6.3.13 V$TEMPSEG_USAGE
6.4 空间管理方法学
6.4.1 本地管理的表空间
6.4.2 使用OMF管理空间
6.4.3 大文件表空间
6.4.4 自动存储管理
6.4.5 撤消管理的考虑事项
6.5 SYSAUX监控和使用
6.6 归档重做日志文件的管理
6.7 内置的空间管理工具
6.7.1 段顾问
6.7.2 撤消顾问和自动工作负荷存储库
6.7.3 索引利用率
6.7.4 空间利用率警告级别
6.7.5 可恢复的空间分配
6.7.6 用ADR管理警报日志和跟踪文件
6.7.7 OS空间管理
6.8 空间管理脚本
6.8.1 无法分配额外盘区的段
6.8.2 表空间和数据文件已使用的空间和空闲空间
6.9 自动化和精简通知过程
6.9.1 使用DBMS_SCHEDULER
6.9.2 Cloud Control和监控
6.10 本章小结
第7章 使用撤消表空间管理事务
7.1 事务基础
7.2 撤消基础
7.2.1 回滚
7.2.2 读一致性
7.2.3 数据库恢复
7.2.4 闪回操作
7.3 管理撤消表空间
7.3.1 创建撤消表空间
7.3.2 撤消表空间的动态性能视图
7.3.3 撤消表空间的初始参数
7.3.4 多个撤消表空间
7.3.5 撤消表空间的大小调整和监控
7.3.6 读一致性与成功的DML
7.4 闪回特性
7.4.1 Flashback Query(闪回查询)
7.4.2 DBMS_FLASHBACK
7.4.3 Flashback Transaction Backout(闪回事务停止)
7.4.4 Flashback Table(闪回表)
7.4.5 Flashback Version Query(闪回版本查询)
7.4.6 Flashback Transaction Query(闪回事务查询)
7.4.7 Flash Data Archive(闪回数据归档)
7.4.8 闪回与LOB
7.5 迁移到自动撤消管理
7.6 本章小结
第8章 数据库调整
8.1 调整应用程序设计
8.1.1 有效的表设计
8.1.2 CPU需求的分布
8.1.3 有效的应用程序设计
8.2 调整SQL
8.2.1 顺序对加载速率的影响
8.2.2 其他索引选项
8.2.3 生成解释计划
8.3 调整内存使用率
8.3.1 管理SGA池
8.3.2 指定SGA的大小
8.3.3 使用基于成本的优化器
8.4 调整数据访问
8.4.1 标识链行
8.4.2 使用索引组织表
8.4.3 索引组织表的调整问题
8.5 调整数据操作
8.5.1 批量插入:使用SQL*Loader Direct Path选项
8.5.2 批量数据移动:使用外部表
8.5.3 批量插入:常见的陷阱和成功技巧
8.5.4 批量删除:TRUNCATE命令
8.5.5 使用分区
8.6 减少网络流量
8.6.1 使用物化视图复制数据
8.6.2 使用远程过程调用
8.7 使用AWR
8.7.1 管理快照
8.7.2 管理基线
8.7.3 生成AWR报告
8.7.4 运行Automatic Database Diagnostic Monitor报告
8.7.5 使用自动SQL调整顾问
8.8 多租户环境中的性能调整
8.8.1 调整方法
8.8.2 调整CDB
8.8.3 使用内存顾问
8.8.4 使用AWR报告
8.8.5 使用SQL调整顾问
8.9 管理PDB中的资源分配
8.9.1 使用份额来管理PDB之间的资源分配
8.9.2 创建和修改Resource Manager计划
8.10 执行数据库重放
8.10.1 分析源数据库工作负荷
8.10.2 捕获源数据库工作负荷
8.10.3 在目标系统上处理工作负荷
8.10.4 在目标CDB上重放工作负荷
8.10.5 验证重放结果
8.11 本章小结
第9章 In-Memory选项
9.1 Oracle In-Memory选项概述
9.1.1 系统需求和设置
9.1.2 In-Memory案例研究
9.2 数据字典视图
9.2.1 V$IM_SEGMENTS
9.2.2 V$INMEMORY_AREA
9.2.3 V$SGA
9.3 本章小结
第10章 数据库安全性和审核
10.1 非数据库的安全性
10.2 数据库身份验证方法
10.2.1 数据库身份验证
10.2.2 数据库管理员身份验证
10.2.3 操作系统身份验证
10.2.4 网络身份验证
10.2.5 三层身份验证
10.2.6 客户端身份验证
10.2.7 用户账户
10.3 数据库授权方法
10.3.1 配置文件的管理
10.3.2 系统权限
10.3.3 对象权限
10.3.4 创建、分配和维护角色
10.3.5 使用VPD实现应用程序安全策略
10.4 审核
10.4.1 审核位置
10.4.2 语句审核
10.4.3 权限审核
10.4.4 模式对象审核
10.4.5 细粒度的审核
10.4.6 与审核相关的数据字典视图
10.4.7 保护审核跟踪
10.5 数据加密技术
10.5.1 DBMS_CRYPTO程序包
10.5.2 透明数据加密
10.6 本章小结
第11章 多租户数据库体系结构
11.1 理解多租户体系结构
11.1.1 利用多租户数据库
11.1.2 理解多租户配置
11.2 在多租户环境中预配
11.2.1 理解可插入数据库预配
11.2.2 配置和创建CDB
11.2.3 理解新增的后续数据字典视图
11.2.4 创建PDB
11.2.5 拔下和删除PDB
11.3 管理CDB和PDB
11.3.1 理解CDB和PDB服务名
11.3.2 使用SQL Developer连接到CDB或PDB
11.3.3 为CDB或PDB创建服务
11.3.4 在CDB中切换连接
11.3.5 启动和关闭CDB及PDB
11.3.6 更改CDB中的参数
11.3.7 管理CDB和PDB中的永久和临时表空间
11.4 多租户安全
11.4.1 管理公共和本地用户
11.4.2 管理公共和本地权限
11.4.3 管理公共和本地角色
11.4.4 使公共用户访问特定PDB中的数据
11.5 多租户环境中的备份和恢复
11.5.1 执行CDB和所有PDB的备份
11.5.2 备份CDB
11.5.3 备份PDB
11.5.4 恢复丢失的PDB数据文件
11.5.5 使用DRA
11.5.6 确定受损的块
11.5.7 使用RMAN复制PDB
11.6 本章小结
第Ⅲ部分 高可用性
第12章 实时应用群集
12.1 实时应用群集概述
12.1.1 硬件配置
12.1.2 软件配置
12.1.3 网络配置
12.1.4 磁盘存储
12.2 RAC特征
12.2.1 服务器参数文件特征
12.2.2 与RAC相关的初始化参数
12.2.3 动态性能视图
12.3 RAC维护
12.3.1 启动RAC
12.3.2 RAC环境中的重做日志
12.3.3 RAC环境中的撤消表空间
12.3.4 故障转移情况和TAF
12.3.5 调整RAC节点
12.4 本章小结
第13章 备份和恢复选项
13.1 备份功能
13.2 逻辑备份
13.3 物理备份
13.3.1 脱机备份
13.3.2 联机备份
13.4 使用Data Pump Export和Data Pump Import
13.4.1 创建目录
13.4.2 Data Pump Export选项
13.4.3 启动Data Pump Export作业
13.4.4 Data Pump Import选项
13.5 实现脱机备份
13.6 实现联机备份
13.6.1 开始(操作)
13.6.2 执行联机数据库备份
13.7 集成备份过程
13.7.1 集成逻辑备份和物理备份
13.7.2 集成数据库备份和操作系统备份
13.8 本章小结
第14章 使用恢复管理器(RMAN)
14.1 RMAN的特性和组件
14.1.1 RMAN组件
14.1.2 RMAN与传统备份方法
14.1.3 备份类型
14.2 RMAN命令和选项的概述
14.2.1 在RMAN中运行SQL命令
14.2.2 常用命令
14.2.3 设置存储库
14.2.4 注册数据库
14.2.5 持久保存RMAN设置
14.2.6 初始化参数
14.2.7 数据字典和动态性能视图
14.3 备份操作
14.3.1 完整数据库备份
14.3.2 备份表空间
14.3.3 备份数据文件
14.3.4 映像副本备份
14.3.5 备份控制文件和SPFILE
14.3.6 备份归档重做日志
14.3.7 增量备份
14.3.8 增量更新的备份
14.3.9 增量备份块变化跟踪
14.3.10 使用快速恢复区
14.3.11 验证备份
14.4 恢复操作
14.4.1 块介质恢复
14.4.2 还原控制文件
14.4.3 还原表空间
14.4.4 还原表
14.4.5 还原数据文件
14.4.6 还原整个数据库
14.4.7 验证还原操作
14.4.8 时间点恢复
14.4.9 数据恢复顾问
14.5 其他操作
14.5.1 编目其他备份
14.5.2 目录维护
14.5.3 REPORT和LIST
14.6 本章小结
第15章 Oracle Data Guard
15.1 Data Guard体系结构
15.1.1 物理备用数据库与逻辑备用数据库
15.1.2 数据保护模式
15.2 LOG_ARCHIVE_DEST_n参数属性
15.3 创建备用数据库配置
15.3.1 准备主数据库
15.3.2 创建逻辑备用数据库
15.4 使用实时应用
15.5 管理归档日志序列中的间隙
15.6 管理角色——切换和故障转移
15.6.1 切换
15.6.2 故障转移
15.7 管理数据库
15.7.1 启动和关闭物理备用数据库
15.7.2 以只读模式打开物理备用数据库
15.7.3 在Data Guard环境中管理数据文件
15.7.4 在逻辑备用数据库上执行DDL
15.8 本章小结
第16章 其他高可用性特性
16.1 使用闪回删除来恢复被删除的表
16.2 FLASHBACK DATABASE 命令
16.3 使用LogMiner
16.3.1 LogMiner的工作方式
16.3.2 提取数据字典
16.3.3 分析一个或多个重做日志文件
16.4 联机对象重组织
16.4.1 联机创建索引
16.4.2 联机重建索引
16.4.3 联机合并索引
16.4.4 联机重建以索引组织的表
16.4.5 联机重新定义表
16.4.6 联机移动数据文件
16.5 本章小结
第Ⅳ部分 网络化的Oracle
第17章 Oracle Net
17.1 Oracle Net概述
17.1.1 连接描述符
17.1.2 网络服务名
17.1.3 用Oracle Internet Directory替换tnsnames.ora
17.1.4 侦听程序
17.2 使用Oracle Net Configuration Assistant
17.2.1 配置侦听程序
17.2.2 Naming Methods Configuration
17.2.3 Local Net Service Name Configuration
17.2.4 Directory Usage Configuration
17.3 使用Oracle Net Manager
17.4 启动侦听程序服务器进程
17.5 对侦听程序服务器进程进行控制
17.6 Oracle Connection Manager
17.6.1 使用Oracle Connection Manager
17.6.2 配置Oracle Connection Manager
17.6.3 使用连接管理器控制实用程序(CMCTL)
17.7 使用Oracle Internet Directory的目录命名
17.7.1 Oracle Internet Directory体系结构
17.7.2 设置Oracle Internet Directory
17.8 使用Easy Connect Naming
17.9 使用数据库链接
17.10 调整Oracle Net
17.10.1 限制资源的使用
17.10.2 使用压缩
17.10.3 调试连接问题
17.11 本章小结
第18章 管理大型数据库
18.1 在VLDB环境中创建表空间
18.1.1 大文件表空间的基本知识
18.1.2 创建和修改大文件表空间
18.1.3 大文件表空间ROWID格式
18.1.4 DBMS_ROWID和大文件表空间
18.1.5 将DBVERIFY用于大文件表空间
18.1.6 大文件表空间的初始化参数需要考虑的因素
18.1.7 大文件表空间数据字典的变化
18.2 高级的Oracle表类型
18.2.1 索引组织的表
18.2.2 全局临时表
18.2.3 外部表
18.2.4 分区表
18.2.5 物化视图
18.3 使用位图索引
18.3.1 理解位图索引
18.3.2 使用位图索引
18.3.3 使用位图连接索引
18.4 本章小结
第19章 管理分布式数据库
19.1 远程查询
19.2 远程数据处理:两阶段提交
19.3 动态数据复制
19.4 管理分布式数据
19.4.1 基础设施:实施位置透明性
19.4.2 管理数据库链接
19.4.3 管理数据库触发器
19.4.4 管理物化视图
19.4.5 使用DBMS_MVIEW和DBMS_ADVISOR
19.4.6 可执行什么类型的更新
19.4.7 使用物化视图改变查询执行路径
19.5 管理分布式事务
19.5.1 解决未确定的事务
19.5.2 提交点强度
19.6 监控分布式数据库
19.7 调整分布式数据库
19.8 本章小结