目 录
第1章 安装Oracle 1
1.1 了解OFA 1
1.1.1 Oracle清单目录 2
1.1.2 Oracle基础目录 3
1.1.3 Oracle主目录 3
1.1.4 Oracle网络文件目录 4
1.1.5 自动诊断信息库 4
1.2 安装Oracle 5
1.2.1 步骤1:创建OS组和用户 5
1.2.2 步骤2:确保充分配置了OS 7
1.2.3 步骤3:获取Oracle安装软件 8
1.2.4 步骤4:解压缩文件 8
1.2.5 步骤5:创建oraInst.loc文件 9
1.2.6 步骤6:配置应答文件,然后运行安装程序 9
1.2.7 步骤7:解决任何疑难问题 13
1.3 使用已安装程序的副本安装Oracle 14
1.3.1 步骤1:使用OS实用程序复制已安装的程序 14
1.3.2 步骤2:附加Oracle主目录 15
1.4 升级Oracle软件 16
1.5 安装失败后的重新安装 17
1.6 安装临时补丁 18
1.7 使用图形界面的安装程序执行远程安装 19
1.7.1 步骤1:在本地计算机上安装X Window系统和网络实用程序 20
1.7.2 步骤2:在本地计算机上启动X Window系统会话 20
1.7.3 步骤3:将Oracle安装文件复制到远程服务器上 20
1.7.4 步骤4:运行xhost命令 21
1.7.5 步骤5:通过X Window系统登录远程计算机 21
1.7.6 步骤6:确保在远程计算机上正确设置DISPLAY变量 21
1.7.7 步骤7:运行runInstaller实用程序 22
1.7.8 步骤8:解决问题 23
1.8 小结 23
第2章 实现数据库 24
2.1 设置OS变量 24
2.1.1 手动加强方法 25
2.1.2 使用Oracle的方法设置OS变量 25
2.1.3 我最喜欢的设置OS变量的方法 27
2.2 创建数据库 28
2.2.1 步骤1:设置OS变量 29
2.2.2 步骤2:配置初始化文件 29
2.2.3 步骤3:创建必需的目录 31
2.2.4 步骤4:创建数据库 31
2.2.5 步骤5:创建数据目录 35
2.3 配置和实现监听器 36
2.3.1 手动配置监听器 36
2.3.2 使用Net Configuration Assistant实现监听器 37
2.3.3 通过网络连接数据库 38
2.4 创建密码文件 39
2.5 启动和停止数据库 40
2.5.1 了解OS认证 40
2.5.2 启动数据库 41
2.5.3 停止数据库 43
2.6 使用dbca创建数据库 44
2.7 删除数据库 46
2.8 一台服务器上运行多少个数据库 47
2.9 了解Oracle体系结构 49
2.10 小结 51
第3章 配置高效环境 52
3.1 自定义OS命令提示符 53
3.2 自定义SQL提示符 54
3.3 为常用命令创建快捷方式 56
3.3.1 使用别名 56
3.3.2 使用函数 57
3.4 快速再次运行命令 58
3.4.1 使用向上箭头键和向下箭头键滚动 59
3.4.2 使用Ctrl+P和Ctrl+N组合键 59
3.4.3 列出命令的历史记录 59
3.4.4 反向搜索 60
3.4.5 设置命令编辑器 60
3.5 开发标准脚本 61
3.5.1 dba_setup 61
3.5.2 dba_fcns 62
3.5.3 tbsp_chk.bsh 62
3.5.4 conn.bsh 64
3.5.5 filesp.bsh 65
3.5.6 login.sql 67
3.5.7 top.sql 67
3.5.8 lock.sql 68
3.5.9 users.sql 70
3.6 组织脚本 70
3.6.1 步骤1:创建目录 71
3.6.2 步骤2:将文件复制到目录 71
3.6.3 步骤3:配置启动文件 71
3.7 小结 72
第4章 表空间和数据文件 73
4.1 最初创建的5个表空间 74
4.2 了解更多需求 74
4.3 创建表空间 75
4.4 重命名表空间 78
4.5 控制重做日志 79
4.6 更改表空间的写入模式 80
4.7 删除表空间 80
4.8 使用Oracle管理的文件 82
4.9 创建大文件表空间 83
4.10 在表空间中启用默认的表压缩 83
4.11 显示表空间的尺寸 84
4.12 更改表空间尺寸 86
4.13 切换数据文件的联机状态 87
4.14 重命名和移动数据文件 89
4.14.1 执行数据文件联机操作 89
4.14.2 执行数据文件脱机操作 89
4.15 小结 93
第5章 管理控制文件、联机重做日志和归档 94
5.1 管理控制文件 94
5.1.1 查看控制文件的名称和位置 96
5.1.2 增加控制文件 97
5.1.3 移动控制文件 99
5.1.4 删除控制文件 100
5.2 管理联机重做日志 101
5.2.1 显示联机重做日志信息 103
5.2.2 确定联机重做日志组的最优尺寸 104
5.2.3 确定重做日志组的最优数量 106
5.2.4 增加联机重做日志组 107
5.2.5 调整联机重做日志组的尺寸和删除联机重做日志组 107
5.2.6 向日志组增加联机重做日志文件 109
5.2.7 从日志组删除联机重做日志文件 109
5.2.8 移动或重命名重做日志文件 110
5.3 实现归档模式 111
5.3.1 体系结构决策 111
5.3.2 设置归档重做日志文件的存储位置 112
5.3.3 “非Oracle模式”的FRA思想 115
5.3.4 启用归档日志模式 116
5.3.5 禁用归档日志模式 117
5.3.6 归档日志的存储位置缺少可用空间时的应对方法 117
5.3.7 备份归档重做日志文件 119
5.4 小结 119
第6章 用户账号和基本安全 120
6.1 管理默认用户 120
6.1.1 锁定账号和密码过期 121
6.1.2 区分DBA创建的账号 123
6.1.3 检查默认密码 124
6.2 创建用户账号 125
6.2.1 选择用户名和验证方式 125
6.2.2 分配默认的永久和临时表空间 128
6.3 修改密码 130
6.4 使用其他用户账号登录 130
6.5 修改用户 132
6.6 删除用户 133
6.7 提高密码安全性和资源使用限制 134
6.7.1 密码的基本安全性 134
6.7.2 密码长度 136
6.7.3 限制数据库资源的使用 138
6.8 管理权限 139
6.8.1 分配数据库系统权限 139
6.8.2 分配数据库对象权限 140
6.8.3 以集中方式分配权限 141
6.9 小结 142
第7章 表和约束 144
7.1 表的类型 144
7.2 数据类型 145
7.2.1 字符型 146
7.2.2 数值型 147
7.2.3 日期型 148
7.2.4 RAW 149
7.2.5 ROWID 149
7.2.6 大对象 150
7.2.7 可扩展的字符类型 150
7.3 创建表 151
7.3.1 创建堆组织表 152
7.3.2 实现虚拟列 154
7.3.3 实现隐藏列 156
7.3.4 创建只读表 157
7.3.5 创建延迟段 157
7.3.6 创建含有自动增长(标识)列的表 158
7.3.7 默认的SQL并行执行方式 160
7.3.8 压缩表数据 161
7.3.9 减少重做日志 163
7.3.10 通过查询结果创建表 165
7.4 修改表 167
7.4.1 获得必需的锁机制 167
7.4.2 重命名表 168
7.4.3 增加列 168
7.4.4 更改列 168
7.4.5 重命名列 170
7.4.6 删除列 170
7.5 显示表的DDL代码 171
7.6 删除表 172
7.7 恢复已删除的表 172
7.8 删除表中的数据 174
7.8.1 使用DELETE语句 174
7.8.2 使用TRUNCATE语句 174
7.9 查看和调整高水位线标记 175
7.10 与高水位线有关的性能问题 175
7.10.1 跟踪检测高水位线标记下方的空间 176
7.10.2 使用DBMS_SPACE软件包检查高水位线标记下方的空间 176
7.10.3 查看数据字典的分区视图 178
7.10.4 降低高水位线标记 178
7.11 创建临时表 180
7.12 创建索引组织表 181
7.13 管理约束 182
7.13.1 创建主键约束 182
7.13.2 强制应用唯一键 184
7.13.3 创建外键约束 185
7.13.4 检查特定的数据条件 186
7.13.5 强制应用NOT NULL约束 187
7.13.6 禁用约束 187
7.13.7 启用约束 189
7.14 小结 191
第8章 索引 192
8.1 创建索引的时机 193
8.1.1 以积极方式创建索引 193
8.1.2 以消极方式创建索引 193
8.2 规划健壮性 194
8.2.1 索引的类型 195
8.2.2 估算索引的尺寸 196
8.2.3 为索引创建独立表空间 197
8.2.4 创建便携脚本 199
8.2.5 创建命名标准 199
8.3 创建索引 200
8.3.1 创建二叉树索引 200
8.3.2 创建组合索引 202
8.3.3 实现基于函数的索引 204
8.3.4 创建唯一索引 205
8.3.5 实现位图索引 206
8.3.6 创建位图连接索引 207
8.3.7 实现反向键索引 208
8.3.8 创建压缩键索引 208
8.3.9 以并行方式创建索引 209
8.3.10 减少创建索引时生成的重做日志 209
8.3.11 实现隐藏索引 210
8.4 维护索引 212
8.4.1 重命名索引 212
8.4.2 显示重新创建索引的代码 212
8.4.3 重建索引 213
8.4.4 将索引标记为不可用 214
8.4.5 监控索引的使用情况 215
8.4.6 删除索引 216
8.5 在外键列上创建索引 216
8.5.1 在外键列上创建索引 216
8.5.2 确定是否在外键列上创建了索引 217
8.6 小结 220
第9章 视图、同义词和序列 222
9.1 实现视图 222
9.1.1 创建视图 222
9.1.2 检查更新数据 224
9.1.3 创建只读视图 225
9.1.4 可更新的连接视图 225
9.1.5 创建INSTEAD OF触发器 226
9.1.6 实现隐藏列 227
9.1.7 修改视图定义 229
9.1.8 显示用于创建视图的SQL代码 230
9.1.9 重命名视图 230
9.1.10 删除视图 231
9.2 管理同义词 231
9.2.1 创建同义词 232
9.2.2 创建公有同义词 233
9.2.3 以动态方式创建同义词 233
9.2.4 显示同义词元数据 234
9.2.5 重命名同义词 234
9.2.6 删除同义词 235
9.3 管理序列 235
9.3.1 创建序列 235
9.3.2 使用序列伪列 236
9.3.3 自动增长列 237
9.3.4 实现生成唯一值的多重序列 238
9.3.5 创建一个或多个序列 239
9.3.6 查看序列元数据 239
9.3.7 重命名序列 239
9.3.8 删除序列 240
9.3.9 重置序列 240
9.4 小结 241
第10章 数据字典的基础结构 243
10.1 数据字典的结构 243
10.1.1 静态视图 244
10.1.2 动态性能视图 245
10.2 元数据的其他视图 247
10.3 数据字典的几种灵活用法 249
10.3.1 溯源文档 249
10.3.2 显示用户信息 250
10.3.3 显示表的行数 253
10.3.4 显示主键和外键关系 255
10.3.5 显示对象的依赖关系 256
10.4 小结 258
第11章 大对象 259
11.1 描述大对象类型 259
11.2 大对象定位器、索引和块 260
11.3 区分BasicFiles和SecureFiles 262
11.3.1 BasicFiles 262
11.3.2 SecureFiles 262
11.4 创建含有大对象列的表 263
11.4.1 创建BasicFiles大对象列 263
11.4.2 在指定表空间中实现大对象 265
11.4.3 创建SecureFiles大对象列 265
11.4.4 实现分区表大对象 266
11.5 管理大对象列 267
11.5.1 移动大对象列 267
11.5.2 添加大对象列 268
11.5.3 删除大对象列 268
11.5.4 缓存大对象 269
11.5.5 大对象的内嵌和行外存储方式 269
11.6 实现SecureFiles高级功能 270
11.6.1 压缩大对象 270
11.6.2 对大对象应用删除重复数据功能 271
11.6.3 加密大对象 272
11.6.4 从BasicFiles迁移到SecureFiles 274
11.7 加载大对象 276
11.7.1 加载CLOB数据 276
11.7.2 加载BLOB数据 277
11.8 测量大对象占用的空间 278
11.8.1 BasicFiles大对象占用的空间 278
11.8.2 SecureFiles大对象占用的空间 279
11.9 读取BFILE数据 280
11.10 小结 281
第12章 分区:分而治之 282
12.1 应对哪种表应用分区功能 283
12.2 创建分区表 284
12.2.1 按范围分区 284
12.2.2 使用表空间存储分区 287
12.2.3 根据列表值分区 290
12.2.4 散列分区 291
12.2.5 组合使用多种分区方法 292
12.2.6 根据需要创建分区 293
12.2.7 根据父表分区 296
12.2.8 虚拟列分区 298
12.2.9 赋予应用控制分区的能力 299
12.3 管理分区 299
12.3.1 查看分区的元数据 299
12.3.2 移动分区 300
12.3.3 自动移动更新的行 301
12.3.4 为现存的表创建分区 302
12.3.5 增加分区 303
12.3.6 通过现存的表交换分区 305
12.3.7 重命名分区 306
12.3.8 拆分分区 307
12.3.9 合并分区 307
12.3.10 删除分区 308
12.3.11 统计分区数据 309
12.3.12 删除分区中的行 309
12.3.13 操作分区中的数据 310
12.4 索引分区 311
12.4.1 使用表分区策略创建索引分区 311
12.4.2 使用与表不同的分区策略创建索引分区 314
12.4.3 部分索引 315
12.5 分区修剪 316
12.6 小结 317
第13章 数据泵 319
13.1 数据泵的结构 319
13.2 入门 322
13.2.1 执行导出操作 323
13.2.2 导入表 325
13.2.3 使用参数文件 325
13.3 深入了解导出和导入操作 326
13.3.1 全数据库级 326
13.3.2 方案级 327
13.3.3 表级 328
13.3.4 表空间级 329
13.4 传输数据 329
13.4.1 直接通过网络执行导出和导入操作 329
13.4.2 复制数据文件 331
13.5 管理存储方式的功能 333
13.5.1 导出表空间元数据 333
13.5.2 设置不同的数据文件路径和名称 333
13.5.3 向结构与源数据库不相同的目的数据库导入表空间 334
13.5.4 更改数据文件的尺寸 334
13.5.5 更改段和存储属性 335
13.6 过滤数据和对象 335
13.6.1 设置QUERY参数 336
13.6.2 按百分比导出数据 337
13.6.3 从导出文件排除对象 337
13.6.4 排除统计数据 338
13.6.5 仅在导出文件中包含指定对象 339
13.6.6 导出表、索引、约束和触发器DDL 339
13.6.7 从导入文件中排除对象 339
13.6.8 在导入内容中包含对象 340
13.7 常见的数据泵任务 340
13.7.1 估算导出作业的尺寸 340
13.7.2 列出数据泵文件的内容 341
13.7.3 克隆用户 341
13.7.4 创建一致的导出文件 342
13.7.5 在对象已经存在的情况下执行导入操作 343
13.7.6 重命名表 344
13.7.7 重新映射数据 345
13.7.8 不创建日志文件 346
13.7.9 使用并行机制 346
13.7.10 设置额外的数据泵文件 347
13.7.11 重用导出文件名称 347
13.7.12 创建处理日常任务的DDL文件 348
13.7.13 压缩导出文件 348
13.7.14 在导入时更改表的压缩属性 349
13.7.15 加密数据 349
13.7.16 将视图导出为表 350
13.7.17 在导入时禁用重做日志功能 351
13.8 命令行交互模式 351
13.8.1 进入命令行交互模式 351
13.8.2 附加正在运行的作业 353
13.8.3 停止和重启作业 353
13.8.4 终止数据泵作业 354
13.9 监控数据泵作业 354
13.9.1 数据泵日志文件 355
13.9.2 数据字典视图 355
13.9.3 数据泵警告日志 355
13.9.4 状态表 356
13.9.5 命令行交互模式STATUS命令 356
13.9.6 OS实用程序 357
13.10 数据泵传统模式 357
13.10.1 将数据泵映射到exp实用程序上 357
13.10.2 将数据泵映射到imp实用程序上 358
13.11 小结 359
第14章 外部表 361
14.1 SQL*Loader和外部表 361
14.2 向数据库加载CSV文件 362
14.2.1 创建目录对象并分配访问权限 363
14.2.2 创建外部表 364
14.2.3 生成用于创建外部表的SQL代码 364
14.2.4 查看外部表元数据 366
14.2.5 通过外部表为普通表加载数据 367
14.3 执行高级转换任务 368
14.4 通过SQL查看文本文件 369
14.5 使用外部表卸载、加载数据 371
14.5.1 启用并行机制加快处理速度 373
14.5.2 压缩数据泵文件 373
14.5.3 加密数据泵文件 374
14.6 小结 375
第15章 物化视图 376
15.1 MV简介 376
15.1.1 MV的术语 377
15.1.2 参考有用的视图 378
15.2 创建基本物化视图 379
15.2.1 创建完全刷新MV 379
15.2.2 创建快速刷新的MV 382
15.3 MV进阶 386
15.3.1 创建MV并为MV和索引设置表空间 386
15.3.2 在MV上创建索引 387
15.3.3 分区MV 387
15.3.4 压缩MV 388
15.3.5 加密MV列 388
15.3.6 使用预建表创建MV 389
15.3.7 创建不含数据的MV 390
15.3.8 创建在提交时刷新的MV 391
15.3.9 创建从不刷新的MV 391
15.3.10 为查询重写创建MV 392
15.3.11 使用复杂查询操作创建快速刷新MV 393
15.3.12 查看MV的DDL代码 395
15.3.13 删除MV 395
15.4 修改MV 396
15.4.1 修改主表的DDL代码并使MV反映这些更改 396
15.4.2 触发MV上的重做日志功能 399
15.4.3 更改并行机制 400
15.4.4 移动MV 400
15.5 管理MV日志 400
15.5.1 创建MV日志 401
15.5.2 索引MV日志列 402
15.5.3 查看MV日志占用的空间 403
15.5.4 缩小MV日志占用的空间 403
15.5.5 检查MV日志的行数 404
15.5.6 移动MV日志 404
15.5.7 删除MV日志 405
15.6 刷新MV 405
15.6.1 利用SQL*Plus手动刷新MV 406
15.6.2 使用Shell脚本和调度实用程序执行自动刷新 407
15.6.3 使用Oracle内置的作业调度程序自动刷新MV 408
15.6.4 高效执行完全刷新操作 409
15.6.5 处理ORA-12034错误 409
15.7 监控MV的刷新操作 410
15.7.1 查看上次刷新时间 410
15.7.2 确定刷新作业是否正在进行 410
15.7.3 监控刷新操作的进度 410
15.7.4 检查MV是否按计划刷新 411
15.8 创建远程MV 412
15.8.1 了解远程刷新操作的结构 413
15.8.2 查看MV主表的信息 414
15.8.3 确定中心MV日志被多少个MV引用 415
15.9 管理MV组 416
15.9.1 创建MV组 417
15.9.2 更改MV组 417
15.9.3 刷新MV组 418
15.9.4 DBMS_MVIEW和DBMS_REFRESH 418
15.9.5 确定MV组中的MV 419
15.9.6 向MV组中添加MV 419
15.9.7 从MV组删除MV 419
15.9.8 删除MV组 420
15.10 小结 420
第16章 用户管理的备份与恢复 421
16.1 为没有处于归档日志模式的数据库实现冷备份策略 422
16.1.1 冷备份非归档模式数据库 422
16.1.2 使用含有联机重做日志的冷备份恢复非归档日志模式的数据库 424
16.1.3 使用不含有联机重做日志的冷备份恢复非归档日志模式的数据库 425
16.1.4 编写执行冷备份与恢复的脚本 426
16.2 冷备份处于归档日志模式的数据库 428
16.3 热备份策略 429
16.3.1 创建热备份 430
16.3.2 使用脚本执行热备份 432
16.3.3 了解分割块问题 434
16.3.4 了解在备份过程中生成重做日志的必要性 437
16.3.5 了解数据文件的更新情况 438
16.4 对处于归档重做日志模式的数据库执行完全恢复 439
16.4.1 在脱机情况下恢复数据库 439
16.4.2 恢复联机数据库 443
16.4.3 恢复控制文件 444
16.5 对处于归档日志模式的数据库执行不完全恢复 447
16.6 小结 449
第17章 配置RMAN 450
17.1 了解RMAN 451
17.2 启动RMAN 453
17.3 RMAN结构决策 454
17.3.1 以远程或本地方式运行RMAN客户端 456
17.3.2 设置备份用户 457
17.3.3 使用联机或脱机备份 457
17.3.4 设置归档重做日志的存储位置和文件格式 457
17.3.5 配置RMAN备份的存储位置和文件格式 458
17.3.6 设置自动备份控制文件的功能 460
17.3.7 设置控制文件自动备份的存储位置 461
17.3.8 备份归档重做日志 461
17.3.9 确定控制文件快照的存储位置 462
17.3.10 使用恢复目录 462
17.3.11 使用介质管理器 463
17.3.12 设置初始化参数CONTROL_FILE_RECORD_KEEP_TIME 463
17.3.13 配置RMAN备份的保留策略 464
17.3.14 配置归档重做日志的删除策略 465
17.3.15 设置并行度 466
17.3.16 使用备份集或镜像副本 467
17.3.17 使用增量备份 468
17.3.18 使用增量更新备份 468
17.3.19 使用块修改跟踪功能 468
17.3.20 配置二进制文件压缩功能 469
17.3.21 配置加密功能 470
17.3.22 配置各种设置 471
17.3.23 配置输出信息 471
17.4 后续决策 472
17.5 小结 476
第18章 RMAN备份和报告 477
18.1 运行RMAN BACKUP命令的准备工作 477
18.1.1 设置NLS_DATE_FORMAT变量 478
18.1.2 设置ECHO参数 478
18.1.3 查看RMAN变量 479
18.2 运行备份操作 479
18.2.1 备份整个数据库 479
18.2.2 备份表空间 481
18.2.3 备份数据文件 481
18.2.4 备份控制文件 481
18.2.5 备份spfile 482
18.2.6 备份归档重做日志 482
18.2.7 备份FRA 483
18.2.8 从备份中去除表空间的备份 483
18.2.9 备份还未备份的数据文件 484
18.2.10 跳过只读表空间 484
18.2.11 跳过脱机文件和无法访问的文件 484
18.2.12 以并行方式备份大型文件 485
18.2.13 向RMAN仓库中添加RMAN备份信息 486
18.3 备份可插拔数据库 486
18.3.1 连接根容器数据库 487
18.3.2 连接可插拔数据库 487
18.4 创建增量备份 488
18.4.1 创建分级增量备份 489
18.4.2 创建增量更新备份 490
18.4.3 使用块修改跟踪功能 490
18.5 检查数据文件和备份文件中的坏块 491
18.5.1 使用VALIDATE命令 492
18.5.2 使用BACKUP…VALIDATE命令 493
18.5.3 使用RESTORE…VALIDATE命令 493
18.6 使用恢复目录 493
18.6.1 创建恢复目录 493
18.6.2 注册目标数据库 495
18.6.3 备份恢复目录 495
18.6.4 同步恢复目录 495
18.6.5 创建恢复目录的Oracle版本 496
18.6.6 删除恢复目录 496
18.7 记录RMAN的输出结果 496
18.7.1 将输出结果重定向到文件 497
18.7.2 使用Linux/UNIX的记录日志命令捕捉输出信息 497
18.7.3 将输出信息记录到文件中 498
18.7.4 通过数据字典查询输出信息 498
18.8 RMAN报告 499
18.8.1 使用LIST命令 499
18.8.2 使用REPORT命令 500
18.8.3 使用SQL查询命令 500
18.9 小结 503
第19章 RMAN恢复操作 504
19.1 确定是否需要执行介质恢复操作 505
19.2 确定需要恢复的内容 506
19.2.1 恢复操作的运作过程 506
19.2.2 使用Data Recovery Advisor 507
19.3 使用RMAN关闭或启动数据库 510
19.3.1 关闭数据库 510
19.3.2 启动数据库 511
19.4 完全恢复 511
19.4.1 测试恢复操作 511
19.4.2 恢复整个数据库 513
19.4.3 恢复表空间 514
19.4.4 恢复只读表空间 515
19.4.5 恢复临时表空间 516
19.4.6 恢复数据文件 516
19.4.7 将数据文件恢复到非默认位置 518
19.4.8 执行数据块级恢复操作 519
19.4.9 恢复容器数据库和与其关联的可插拔数据库 520
19.5 恢复归档日志文件 522
19.5.1 将备份恢复到默认位置 522
19.5.2 将备份恢复到非默认位置 523
19.6 恢复控制文件 523
19.6.1 使用恢复目录 523
19.6.2 使用自动备份 524
19.6.3 指定备份文件的名称 524
19.7 恢复spfile文件 524
19.8 不完全恢复 525
19.8.1 如何选择不完全恢复操作 527
19.8.2 基于时间的恢复操作 528
19.8.3 基于日志序列号的恢复操作 528
19.8.4 基于SCN的恢复操作 529
19.8.5 恢复到还原点 529
19.8.6 将表恢复到过去的时间点 530
19.9 闪回表 531
19.9.1 FLASHBACK TABLE TO BEFORE DROP命令 531
19.9.2 将表闪回到过去的时间点 533
19.10 闪回数据库 534
19.11 将备份恢复到其他服务器 535
19.12 小结 545
第20章 Oracle安全备份 546
20.1 OSB的版本和功能 546
20.2 OSB术语 547
20.2.1 OSB管理域和服务器 547
20.2.2 OSB的界面 548
20.2.3 OSB用户和等级 549
20.2.4 OSB守护进程 549
20.3 下载和安装 549
20.4 通过命令行界面访问OSB 552
20.5 配置OSB 553
20.5.1 配置用户和等级 553
20.5.2 配置介质家族 555
20.5.3 配置数据库备份存储选择器 555
20.6 数据库备份 556
20.7 恢复数据库操作 557
20.8 文件系统备份 558
20.8.1 创建数据集文件 559
20.8.2 配置备份窗口 560
20.8.3 配置备份时间表和触发器 560
20.8.4 根据需要执行文件系统备份操作 561
20.9 文件系统恢复操作 562
20.9.1 执行基于目录的恢复操作 562
20.9.2 执行原始数据恢复操作 562
20.9.3 执行obtar命令 563
20.10 监控OSB作业 564
20.10.1 列出作业 564
20.10.2 显示作业的脚本 566
20.10.3 监控OSB日志 567
20.11 虚拟测试设备 568
20.12 云计算中的Oracle数据库备份 569
20.13 升级OSB软件 571
20.14 小结 571
第21章 作业自动化 572
21.1 使用Oracle Scheduler实现自动化作业 573
21.1.1 创建和调度作业 573
21.1.2 查看作业的细节 574
21.1.3 修改作业的日志历史记录 574
21.1.4 修改作业 575
21.1.5 停止作业 575
21.1.6 暂停作业 575
21.1.7 启动作业 575
21.1.8 复制作业 576
21.1.9 手动运行作业 576
21.1.10 删除作业 576
21.2 Oracle Scheduler和cron 576
21.3 通过cron使作业自动化 577
21.3.1 cron的运作方式 577
21.3.2 启用cron 579
21.3.3 了解cron表条目 579
21.3.4 使作业自动运行 580
21.3.5 重定向cron输出结果 583
21.3.6 处理cron问题 584
21.4 自动化DBA作业的示例 584
21.4.1 启动和停止数据库与监听器 585
21.4.2 检查归档重做日志存储位置的可用空间 588
21.4.3 跟踪大型日志文件 590
21.4.4 检查锁定的产品数据库账号 591
21.4.5 检查某个时间点前的文件 592
21.4.6 检查是否存在过多的进程 592
21.4.7 检查RMAN备份的完整性 593
21.5 小结 594
第22章 数据库疑难解答 595
22.1 快速分类 595
22.1.1 检查数据库的可用性 595
22.1.2 检查可用空间 597
22.1.3 检查警告日志 599
22.2 通过OS实用程序找出瓶颈问题 602
22.2.1 寻找系统瓶颈 603
22.2.2 将操作系统进程与SQL命令对应起来 606
22.3 寻找资源密集型SQL命令 608
22.3.1 实时监控SQL命令的执行情况 608
22.3.2 运行Oracle诊断实用程序 610
22.4 检测和解决锁定问题 613
22.5 解决最大打开游标数量问题 615
22.6 撤销表空间疑难解答 616
22.6.1 确定撤销表空间尺寸是否正确 616
22.6.2 检查使用撤销表空间的SQL命令 618
22.7 处理临时表空间问题 619
22.7.1 确定临时表空间的尺寸是否正确 619
22.7.2 检查使用临时表空间的SQL命令 621
22.8 小结 621
第23章 可插拔数据库 623
23.1 了解可插拔体系结构 624
23.1.1 转换范例 626
23.1.2 对备份与恢复操作的意义 627
23.1.3 细微调优 628
23.2 创建CDB 629
23.2.1 使用SQL命令手动创建CDB 629
23.2.2 使用DBCA 631
23.2.3 通过DBCA生成创建CDB的脚本 632
23.2.4 检查是否已经创建了CDB 632
23.3 管理根容器 633
23.3.1 连接根容器 634
23.3.2 显示当前连接容器的信息 635
23.3.3 启动和停止根容器 635
23.3.4 创建公用用户 636
23.3.5 创建公用角色 636
23.3.6 报告容器空间的相关信息 637
23.3.7 切换容器 638
23.4 在CDB中创建可插拔数据库 638
23.4.1 克隆种子容器 639
23.4.2 克隆现存的可插拔数据库 640
23.4.3 克隆非CDB数据库 641
23.4.4 从CDB中拔出可插拔数据库 643
23.4.5 将拔出的可插拔数据库插入CDB 643
23.4.6 使用DBCA通过种子容器创建可插拔数据库 644
23.4.7 检查可插拔数据库的状态 645
23.5 管理可插拔数据库 645
23.5.1 连接可插拔数据库 645
23.5.2 在可插拔环境中管理监听器 646
23.5.3 查看当前连接的可插拔数据库 647
23.5.4 启动和停止可插拔数据库 648
23.5.5 修改应用于可插拔数据库的初始化参数 649
23.5.6 重命名可插拔数据库 649
23.5.7 限定可插拔数据库使用空间的尺寸 649
23.5.8 查看可插拔数据库的历史记录 650
23.5.9 删除可插拔数据库 650
23.6 小结 651