《Oracle数据库备份、恢复与迁移》共分为九章。一章介绍了Oracle体系结构,即数据库实例的结构;第二章介绍数据库的物理结构和逻辑结构;第三章介绍Oracle的自动存储技术;第四章深入介绍了事务这个核心概念;第五章介绍数据迁移的常用方法;第六章介绍FLASHBACK技术;第七章介绍常规的备份/恢复方法;第八章介绍如何利用RMAN对数据库进行备份与恢复;第九章介绍RMAN工具的高级用法,如块介质恢复、数据库的跨平台迁移、数据库的复制等。
适读人群 :适合初中级数据库专业技术人员阅读参考
《Oracle数据库备份、恢复与迁移》提供了Oracle数据库维护的全面指导,汇集了大型企事业单位的经典案例,是一线数据库专家的经验结晶,值得每一位Oracle数据库管理员仔细阅读。
前 言
随着 IT 技术的迅猛发展,虚拟化、云计算、大数据等新技术风起云涌。然而,在普通用户眼中,这些高端、大气、上档次的技术似乎离大众很遥远,因为大家只是直观地感觉到,手机、电脑的使用越来越简单和方便,而不是越来越复杂。实际上,大家手里的手机和电脑只是终端设备,它们通过网络调用后台的服务,而云计算等技术就是应用于后台服务的。用户端应用的简单化,将使后台服务的维护难度成倍增加。
无论 IT 技术如何发展,数据总是一个应用系统的核心,毫不夸张地说,数据就是一个企业的生命。为了保证数据的安全,企业总要采用各种硬件、软件以及新技术,比如把重要的数据存放在磁盘阵列这样的存储设备中,并且对硬盘划分 RAID,这样可以防止硬盘损坏;对数据库服务器创建集群,这样可以有效防止服务器本身出现故障;通过防火墙防止外部用户的非法访问;通过 DataGuard/GoldenGate 软件实现数据库的异地容灾,这样可以防止数据库所在建筑物遭遇水灾、火灾、战争等毁灭性打击。
数据往往被存储在数据库中,所以数据的安全一般都是在数据库这一层面得到保证的。
无论数据库的安全保护措施多么完善,数据的备份都是不能忽略的,它是一种常规的数据容灾措施。备份意味着把重要的数据复制到磁带等存储设备中,而恢复意味着把数据重新复制到它最初所在的存储位置。备份的目的,是防止数据库服务器出现硬件故障、人为破坏等灾难性后果。一旦这样的情况发生,利用备份,管理员可以对数据进行恢复,从而使这些重要的数据重新产生。另外,随着技术的发展以及系统规模的扩展,数据库服务器所在的硬件、软件环境经常面临着升级的要求,例如,把数据从单机环境升级到集群环境,把 PC 服务器升级为小型机服务器,更换存储设备等。企业在对数据库进行升级改造时,必须对其中的数据进行迁移。数据库的这些维护任务,是数据库管理员们必须完成的。
IT 工程师现在有一个诙谐而可爱的绰号——“攻城狮”。然而,在实际的数据库维护过程中,工程师们并不像雄狮那样勇往直前,而是“战战兢兢,汗不敢出”,如果维护过程出现意外,往往“战战兢兢,汗如雨下”。他们之所以这样小心谨慎,是因为数据丢失是任何人都无法承担的严重后果。
Oracle 公司提供了多种多样的方法用于数据库的备份、恢复与迁移,但是这些方法如何使用,在什么场合使用,往往令管理员感到困惑。实际情况是,许多数据库管理员每天都非常辛勤地对数据库进行备份,备份并没有经过测试,经不起时间的考验。企业的数据库可能在很长一段时间内并没有出现故障,所以管理员并不知道,手头的备份能不能用来解决实际问题。数据库一旦真的出现各种故障,管理员会悲哀地发现:数据真的丢失了,而且无法恢复。
对于 Oracle 提供的方法,数据库管理员既要知其然,还要知其所以然,针对数据库制定完善的备份策略,然后按照既定的策略对数据库进行备份, 这样才能真正保证数据库的安全,就像宋朝大文豪苏轼所说:“故画竹,必先得成竹于胸中”。
本书的编写目的,并不在于简单介绍 Oracle 所提供的备份、恢复与迁移方法,而是告诉大家,在什么情况下使用什么方法,为什么使用这样的方法。
“工欲善其事,必先利其器”。数据库维护任务并不是单独存在的。为了更好地管理数据库,管理员必须深刻掌握实例和数据库的结构,就像汽车工程师必须熟悉汽车的结构一样。
为此,本书用两章篇幅介绍了 Oracle 体系结构(即实例的结构)以及数据库的物理结构和逻辑结构。同时,管理员需要掌握一些判断数据库故障的有效方法,本书在多个章节中对这些方法进行了详细的描述。
从内容安排上来看,本书共分为九章。第 1 章介绍了 Oracle 体系结构,即数据库实例的结构,同时分析了与备份/恢复有关的内存结构;第 2 章介绍数据库的物理结构和逻辑结构,同时告诉读者,哪些文件需要进行备份及恢复;第 3 章介绍 Oracle 的自动存储技术,即 ASM;第 4 章深入介绍事务这个核心概念,同时分析数据库的备份、恢复与事务的关系;第 5 章介绍 FLASHBACK 技术,利用这种技术,能够把数据库恢复到过去的某个时间点;第 6 章介绍数据库的常规备份/恢复方法,重点介绍与备份/恢复有关的概念;第 7 章介绍如何利用 RMAN对数据库进行备份与恢复,读者只要掌握本章介绍的内容,就能对数据库进行日常的备份与恢复;第 8 章介绍 RMAN 工具的高级用法,如块介质恢复、数据库的跨平台迁移、数据库的复制等;第 9 章介绍数据迁移的常用方法,包括数据泵、外部表、数据库链接以及 SQL*Loader。
由于本书涉及多个操作系统及多种管理工具,为避免混乱,同时避免重复介绍,在此单独列出常见的命令提示符。
C:\> Windows 系统的命令提示符# UNIX/Linux 系统中 root 用户的 shell 提示符$ UNIX/Linux 系统中 oracle 或者 grid 用户的 shell 提示符SQL> SQL*Plus 工具的提示符RMAN> RMAN 工具的提示符ASMCMD> ASMCMD 工具的提示符
查看全部↓
出版说明
前言
第 1 章 Oracle 体系结构 1
1.1 实例的结构 2
1.1.1 实例的概念 2
1.1.2 实例的组成 3
1.2 实例中的内存结构 4
1.2.1 数据库缓冲区缓存 6
1.2.2 重做日志缓冲区 10
1.2.3 共享池 11
1.2.4 Java 池 15
1.2.5 固定 SGA 16
1.2.6 PGA 16
1.3 前台进程和后台进程 18
1.3.1 前台进程 19
1.3.2 后台进程 DBWR 19
1.3.3 后台进程 LGWR 20
1.3.4 后台进程 CKPT 23
1.3.5 后台进程 SMON 24
1.3.6 后台进程 PMON 25
1.3.7 后台进程 ARCH 25
1.3.8 数据库的实例恢复 26
1.4 实例的内存空间管理 28
1.4.1 自动内存管理 28
1.4.2 自动共享内存管理 29
1.4.3 手工共享内存管理 31
1.5 数据库的连接模式 32
1.5.1 连接与会话 32
1.5.2 专用服务器连接模式 34
1.5.3 共享服务器连接模式 35
1.5.4 如何设置共享连接模式 37
1.5.5 数据库服务器的远程连接 38
第 2 章 数据库的物理结构和逻辑结构 44
2.1 数据库的逻辑结构 44
2.1.1 什么是表空间 45
2.1.2 什么是段 46
2.1.3 什么是区 47
2.1.4 什么是数据块 47
2.2 表空间与数据文件 47
2.2.1 什么是数据文件 47
2.2.2 数据库中默认存在哪些表空间 48
2.2.3 表空间的创建与删除 50
2.2.4 表空间的扩展 52
2.2.5 表空间状态的改变 55
2.2.6 数据文件的移动——一种简单的数据迁移 56
2.2.7 使用非标准块的表空间 58
2.2.8 临时表空间的管理 59
2.2.9 UNDO 表空间的管理 61
2.3 段的空间管理 62
2.3.1 段的空间分配 63
2.3.2 段的空间回收 66
2.4 控制文件 67
2.5 重做日志文件 68
2.5.1 重做日志的产生过程 69
2.5.2 重做日志文件的查询 70
2.5.3 重做日志文件的创建 71
2.5.4 重做日志文件的删除 72
2.6 归档日志文件 73
2.6.1 归档日志文件的产生 73
2.6.2 日志模式的切换 74
2.6.3 归档路径的设置 75
2.7 数据库中的事务 78
2.7.1 与事务有关的数据库结构 79
2.7.2 事务与备份/恢复的关系 79
2.8 数据库中的其他文件 80
2.8.1 口令文件 80
2.8.2 参数文件 83
2.8.3 警告文件与跟踪文件 85
2.9 数据字典视图与动态性能视图 86
2.9.1 数据字典视图 86
2.9.2 动态性能视图 87
2.10 数据库服务器的启动和关闭 88
2.10.1 数据库服务器的启动 88
2.10.2 数据库服务器的关闭 90
2.11 Oracle 12C 在数据库结构方面的变化 92
2.11.1 什么是 CDB 93
2.11.2 关于 CDB 中的用户 94
2.11.3 关于 CDB 中的数据字典视图 95
2.11.4 关于 CDB 中的文件 96
2.11.5 关于数据库的备份与恢复 96
2.11.6 关于数据库的迁移 97
第 3 章 自动存储管理 (ASM ) 100
3.1 ASM 实例的管理 101
3.1.1 ASM 实例与 ASM 磁盘组的关系 101
3.1.2 ASM 实例的创建 103
3.1.3 ASM 实例中的用户 105
3.2 ASM 磁盘组的管理 106
3.2.1 ASM 磁盘组的结构 106
3.2.2 ASM 磁盘组的创建 109
3.2.3 ASM 磁盘组的扩展 112
3.2.4 ASM 磁盘组的重新平衡 113
3.2.5 ASM 磁盘组的挂载和卸载 114
3.2.6 ASM 磁盘组的文件模板管理 115
3.2.7 ASM 磁盘组的目录管理 117
3.2.8 ASM 磁盘组的应用 118
3.2.9 关于 ASM 磁盘组的兼容性属性 120
3.3 自动文件管理 121
3.3.1 如何激活自动文件管理功能 122
3.3.2 文件的命名规则 122
3.3.3 如何创建 OMF 数据库 123
3.3.4 如何创建 OMF 表空间 125
3.3.5 如何创建 OMF 控制文件 126
3.3.6 如何创建 OMF 重做日志文件 126
3.4 命令行工具 ASMCMD 的用法 127
3.4.1 如何通过 ASMCMD 管理 ASM 实例 127
3.4.2 如何通过 ASMCMD 管理 ASM 磁盘组 130
3.4.3 如何通过 ASMCMD 管理磁盘组中的文件 133
3.5 ASM 磁盘组中的卷管理 135
3.5.1 ADVM 卷的创建与删除 136
3.5.2 ADVM 卷信息的查询 137
3.5.3 ADVM 卷的扩展 138
3.5.4 ADVM 卷的激活与关闭 138
3.6 ACFS 文件系统管理 139
3.6.1 ASM 磁盘组中文件系统的管理 139
3.6.2 ACFSUTIL工具的用法 141
第 4 章 再议事务 143
4.1 什么是事务 143
4.1.1 事务的属性 143
4.1.2 事务处理方法 144
4.2 与备份恢复有关的存储结构 147
4.2.1 快速恢复区 148
4.2.2 UNDO 表空间 148
4.3 事务一致性的维护 151
4.3.1 数据库中的锁 151
4.3.2 事务的隔离级别 153
4.3.3 系统锁 158
4.3.4 死锁 159
第 5 章 数据库的 FLASHBACK 技术 161
5.1 快速恢复区的设置 161
5.2 回收站在防止误删除方面的作用 162
5.3 表的 FLASHBACK 查询 165
5.4 表的 FLASHBACK 166
5.5 更久远的 FLASHBACK——Total Recall 168
5.6 数据库的 FLASHBACK 171
第 6 章 数据库的常规备份与恢复 174
6.1 备份与恢复的相关概念 174
6.1.1 冷备份与热备份 174
6.1.2 物理备份与逻辑备份 175
6.1.3 完全备份与增量备份 175
6.1.4 完全恢复与不完全恢复 175
6.1.5 日志模式对备份与恢复的影响 176
6.1.6 哪些情况将导致数据丢失 176
6.1.7 哪些文件需要备份 178
6.1
查看全部↓