第1章 Oracle产品系列 1
1.1Oracle产品组成 1
1.1.1数据库组件 2
1.1.3应用服务器 3
1.1.2开发套件 3
1.2.1Oracle8i、Oracle9i与Oracle10g的异同 4
1.2Oracle各版本异同 4
1.1.4协作套件 4
1.1.5应用软件 4
1.2.2Oracle10g企业版、标准版及其他版本的异同 5
2.1.1Oracle实例 7
2.1Oracle总体结构 7
第2章 Oracle体系结构及其基本概念 7
2.1.3事务、DML、DDL、DCL 8
2.1.2数据库 8
2.2Oracle内存结构 9
2.1.4Oracle的结构划分 9
2.2.1系统全局区(SGA) 10
2.2.2数据库缓冲区 11
2.2.4共享池 12
2.2.3重做日志缓冲区 12
2.2.7排序区 13
2.2.6程序全局区(PGA) 13
2.2.5数据字典缓冲区 13
2.2.9大池 14
2.2.8软件代码区 14
2.3.1用户进程 15
2.3Oracle进程 15
2.2.10Java池 15
2.2.11Streams池 15
2.3.3专用服务器和共享服务器 16
2.3.2服务器进程 16
2.4Oracle后台进程结构 18
2.4.3DBWR数据库写入选程 19
2.4.2PMON进程监控进程 19
2.4.1SMON系统监控进程 19
2.4.5CKPT检查点进程 20
2.4.4LGWR日志写入进程 20
2.4.8SNPn作业队列进程 21
2.4.7ARCH归档进程 21
2.4.6RECO恢复进程 21
2.5Oracle物理结构 22
2.4.12QMNn队列监视进程 22
2.4.9LCKn锁进程 22
2.4.10Dnnn调度进程 22
2.4.11Snnn共享服务器进程 22
2.5.3重做日志文件 23
2.5.2控制文件 23
2.5.1数据文件 23
25.4参数文件 24
2.6.1逻辑结构概述 25
2.6Oracle逻辑结构 25
2.5.5跟踪文件 25
2.5.6警告日志文件 25
2.6.3System表空间、SYAUX表空间以及其他表空间 26
2.6.2表空间 26
2.6.4段 28
2.6.6数据块 29
2.6.5区 29
2.6.9列与数据类型 31
2.6.8表 31
2.6.7用户与模式 31
2.6.10ROWID伪列 33
2.6.12索引 34
2.6.11约束条件 34
2.6.14序列 37
2.6.13视图 37
2.6.17触发器 38
2.6.16函数 38
2.6.15过程与过程包 38
2.6.19权限及角色 39
2.6.18同义词 39
2.6.21聚集 40
2.6.20快照 40
2.6.23数据库链 41
2.6.22散列聚集 41
2.7.1分区表 42
2.7数据分区 42
2.7.2分区索引 44
2.7.3分区的管理 45
2.8.2事务之间的冲突 46
2.8.1竞争性、并发性与一致性概念 46
2.8数据库访问 46
2.9.1锁级别 47
2.9锁 47
2.9.2DML锁 48
2.9.3DDL锁 50
2.10.3执行 51
2.10.2分析 51
2.10SQL语句的处理过程 51
2.10.1SQL语句的处理过程 51
2.10.5SELECT语句的处理步骤 52
2.10.4返回结果 52
2.10.6其他语句的处理步骤 53
2.10.8Commit的处理 54
2.10.7SCN的运行机制 54
2.11Oracle数据字典 55
2.10.9Rollback回滚的处理 55
2.11.1静态数据字典 56
2.11.2查看各类静态对象 57
2.11.3动态数据字典 59
2.11.5动态数据字典结构 60
2.11.4各类数据字典区分 60
2.11.6动态数据字典分类表 62
3.1.1网络的连接方式 64
3.1Oracle网络概述 64
第3章 OracleNet体系结构 64
3.1.2Oracle网络的连接方式 65
3.2.1OracleNet 67
3.2OraeleNetServices 67
3.2.2Oracle网络监听 68
3.2.3Oracle连接管理器 69
3.2.4网络工具 70
3.3.1OracleNetC/S连接的栈结构 72
3.3Oracle网络体系结构 72
3.2.5Oracle高级安全性 72
3.3.4网络监听体系结构 75
3.3.3Web连接的栈结构 75
3.3.2Java的连接栈结构 75
3.3.5数据库服务器体系结构 76
3.3.6连接管理器体系结构 79
3.4.1连接的概念 80
3.4Oracle网络的概念 80
3.4.2配置管理概念 81
3.4.3命名方法 82
3.5.1什么是网格计算 84
3.5Oracle网格计算 84
3.5.3Oraele10g的网格 85
3.5.2Oracle网格基础架构 85
3.5.4Oracle10g应用服务器 86
3.5.5OracleEnterpriseManager10gGridControl 88
4.2OptimalFlexibleArchitecture简介 89
4.1通用安装工具OUI简介 89
第4章 安装与配置 89
4.3数据库软件版本说明 90
4.4.2安装过程 91
4.4.1安装的基本硬件要求 91
4.4Windows下Oracle的安装 91
4.4.3安装后的环境变量 94
4.4.4安装后文件目录 95
4.5Windows下客户端的安装 96
4.6.1服务器网络配置 98
4.6Oracle的简单网络配置 98
4.6.2Oracle客户端的配置 101
4.6.3如何查看安装的数据库版本号 104
4.7Oracle完全卸载 105
5.1.2准备前提条件 108
5.1.1狭义数据库和广义数据库 108
第5章 创建数据库 108
5.1手动创建数据库 108
5.1.4手动创建数据库的步骤概述 109
5.1.3规划物理文件的存放 109
5.1.6创建参数文件 110
5.1.5设定环境变量 110
5.1.7创建服务器参数文件 111
5.1.8创建数据库 112
5.2.1DBCA简介 114
5.2通过DBCA创建数据库 114
5.1.9建立数据字典 114
5.2.2进入DBCA 115
5.2.3创建数据库 116
5.2.5使用DBCA卸载数据库 121
5.2.4手动卸载数据库 121
5.3.1国际语言支持 122
5.3配置数据库全球化支持 122
5.3.3数据库字符集类型 123
5.3.2数据库字符集 123
5.3.5数据库字符集与国际语言字符集 125
5.3.4字节长度和字符长度 125
5.3.6语言支持的字符集 126
5.3.7Oracle字符集配置结构 127
5.3.8NLS的参数说明 130
5.3.9语言和区域参数 132
5.3.10NLS的日期时间参数 136
5.3.11NLS的货币参数 137
5.3.13排序参数 139
5.3.12数字表示格式 139
5.3.15NLS的参数设置方法 140
5.3.14其他参数 140
5.3.17NLS的session级设值 141
5.3.16更改初始化参数中的NLS值 141
5.3.18NLS的环境变量设置 143
5.3.19使用NLS参数的SQL函数 144
5.3.20Oracle客户端字符集设置 145
5.4.2查询实例级的NLS信息 147
5.4.1查询数据库级的NLS设置 147
5.4查询全球化参数信息 147
5.4.5查询NLS所有参数 148
5.4.4查询NLS可设置的值 148
5.4.3查询段级的NLS信息 148
5.5.1用ALTER命令更改字符集 149
5.5更改数据库字符集 149
5.5.2使用导入、导出更改字符集 150
5.6.2更改默认数据库 151
5.6.1创建另一个新的数据库 151
5.6配置多个数据库 151
5.6.3配置数据库监听 152
5.7.3SYSDBA和SYSOPER系统权限 153
5.7.2SYSTEM用户 153
5.7Oracle系统用户和系统权限 153
5.7.1SYS用户 153
5.8.1数据库名 154
5.8数据库名、实例名等的区分 154
5.8.3ORACLE_SID 155
5.8.2数据库实例名 155
6.1.1EnterpriseManager10g体系结构 156
6.1EnterpriseManager10g 156
第6章 管理数据库实例 156
6.1.2启动EM 157
6.1.3EM的重要管理功能 158
6.2.1启动企业管理器(OEM) 161
6.2使用OEM 161
6.2.2基本的OEM配置 162
6.3.2查看iSQL*Plus的端口号 164
6.3.1启动服务器监听进程 164
6.3使用iSQL*Plus 164
6.3.4登录iSQL*Plus 165
6.3.3进入iSQL*Plus 165
6.3.5执行SQL命令 166
6.3.7配置iSQL*Plus 167
6.3.6查看历史记录 167
6.4.2PFILE和SPFILE 168
6.4.1初始化参数文件的作用 168
6.3.8退出iSQL*Plus 168
6.4初始化参数文件 168
6.4.4创建初始化参数文件的技巧 169
6.4.3初始化参数文件的优先级 169
6.4.5导出服务器参数文件 170
6.4.7数据库关闭时修改SPFILE 171
6.4.6修改初始化参数文件 171
6.4.8判断使用的初始化参数文件类型 172
6.5.2设置初始化参数REMOTE_LOGIN_PASSWORDFILE 173
6.5.1口令文件的创建 173
6.5口令文件 173
6.5.4使用口令文件登录 174
6.5.3向口令文件中增加、删除用户 174
6.5.5维护口令文件 175
6.6.1初始化参数的分类 176
6.6管理初始化参数 176
6.6.2Oraele10g基本参数 177
6.6.3Oracle10g其他常见参数 185
6.6.4查询设置的初始化参数 191
6.6.5修改动态参数 192
6.6.6使用SQL*Plus修改参数 195
6.6.7使用OEM管理初始化参数 196
6.6.8使用EM管理初始化参数 198
6.6.9修改参数文件 199
6.7启动和关闭数据库 200
6.7.1数据库的启动(STARTUP) 201
6.7.2数据库的关闭(SHUTDOWN) 202
6.7.3停顿数据库 203
6.7.4挂起和恢复数据库 204
6.7.5使用PFILE和SPFILE启动 205
6.7.6使用EM启动和关闭数据库 206
6.7.7关闭自启动 207
6.8更改SID名称 209
7.1.2创建表空间 212
7.1.1默认的表空间 212
第7章 管理数据库存储 212
7.1管理表空间 212
7.1.3表空间创建的几个参数 216
7.1.4删除表空间 217
7.1.5修改表空间 218
7.1.6查询表空间信息 220
7.2.1进入“表空间管理”页面 222
7.2使用EM管理表空间 222
7.2.2EM创建表空间 223
7.2.4EM修改表空间 225
7.2.3EM删除表空间 225
7.3.1数据段和索引段的管理 226
7.3管理段 226
7.3.2临时段的管理 227
7.3.3回滚段的管理 228
7.3.4查询回滚段 231
7.4.2回滚保持 234
7.4.1自动撤销管理概述 234
7.4管理撤销表空间 234
7.4.3创建、删除撤销表空间 235
7.5.1区的参数 236
7.5管理区 236
7.4.4切换回滚表空间 236
7.5.3查询区的信息 238
7.5.2区的分配和回收 238
7.6.1管理数据块参数 239
7.6管理数据块 239
7.6.2设置数据块参数 240
8.1.2建立数据文件 242
8.1.1数据文件概述 242
第8章 管理物理文件 242
8.1管理数据文件 242
8.1.3调整数据文件大小 243
8.1.4重命名和移动数据文件 244
8.1.5删除数据文件 245
8.1.7查询数据文件信息 246
8.1.6校验数据块 246
8.2.2建立日志文件 248
8.2.1日志文件概述 248
8.2管理日志文件 248
8.2.3配置日志文件 249
8.2.5控制检查点 250
8.2.4控制日志切换 250
8.2.6镜像日志文件 251
8.2.7增加日志文件组成员 252
8.2.8移动日志文件 253
8.2.10删除日志文件组成员 254
8.2.9删除日志文件组 254
8.2.12查看日志文件信息 255
8.2.11清除日志文件 255
8.3管理控制文件 256
8.3.2创建新的控制文件 257
8.3.1创建初始的控制文件 257
8.3.3镜像控制文件 258
8.3.5恢复控制文件 259
8.3.4删除控制文件 259
8.3.6查询控制文件信息 260
8.4.1归档日志文件概述 261
8.4管理归档日志文件 261
8.4.3控制归档方式 262
8.4.2NOARCHIVELOG与ARCHIVELOG模式 262
8.4.4设置归档目的地 264
8.4.5控制归档进程的跟踪输出 266
8.4.6查看归档日志文件信息 267
8.5.1查看警告日志文件 269
8.5管理警告日志文件 269
8.6.1用EM管理数据文件 270
8.6使用EM管理物理文件 270
8.5.2归档警告日志 270
8.6.2用EM管理日志文件 272
8.6.3使用EM管理控制文件 275
8.6.4使用EM管理其他物理文件 276
9.1.1创建表 278
9.1管理表 278
第9章 逻辑对象管理 278
9.1.2管理完整性约束 279
9.1.3修改表 281
9.1.5查询表的信息 283
9.1.4删除表 283
9.2.1创建索引 285
9.2管理索引 285
9.2.2修改索引 286
9.2.4查询索引信息 287
9.2.3删除索引 287
9.3.1分区表的创建 288
9.3管理分区 288
9.3.2添加分区 291
9.3.4删除分区 292
9.3.3接合分区 292
9.3.7修改默认属性 293
9.3.6合并分区 293
9.3.5转换分区 293
9.3.9修改列表分区的值 294
9.3.8修改分区的属性 294
9.3.12分割分区 295
9.3.11重命名分区 295
9.3.10移动分区 295
9.3.13截断分区 296
9.3.15分区表的查询 297
9.3.14删除分区 297
9.4管理聚集 298
9.4.2创建聚集表 299
9.4.1创建聚集 299
9.4.4修改聚集 300
9.4.3创建聚集索引 300
9.4.6查询聚集 301
9.4.5删除聚集 301
9.5.2设置散列聚集参数 302
9.5.1创建散列聚集 302
9.5管理散列聚集 302
9.5.4查询散列聚集 303
9.5.3修改和删除散列聚集 303
9.6.1创建视图 304
9.6管理视图 304
9.6.3更改视图 305
9.6.2创建连接视图 305
9.7管理序列 306
9.6.5查询视图信息 306
9.6.4删除视图 306
9.7.1创建序列 307
9.7.5查询序列信息 308
9.7.4使用序列 308
9.7.2修改序列 308
9.7.3删除序列 308
9.8.2删除同义词 309
9.8.1创建同义词 309
9.8同义词管理 309
9.9.1创建数据库链 310
9.9管理数据库链 310
9.8.3查询同义词信息 310
9.9.3查询数据库链信息 311
9.9.2删除数据库链 311
9.10.1创建触发器 312
9.10管理数据库触发器 312
9.10.3删除触发器 313
9.10.2启用和禁用触发器 313
9.11使用EM管理数据库对象 314
9.10.4查询触发器信息 314
9.11.1使用EM管理表 315
9.11.2使用EM管理索引 318
9.11.3使用EM管理视图 320
9.11.4使用EM管理同义词 321
9.11.5使用EM管理序列 322
9.11.6使用EM管理数据库链 324
9.11.7使用EM管理触发器 325
10.1.1数据库级安全性 328
10.1数据库安全概念 328
第1O章 数据库安全管理 328
10.1.4列级安全性 329
10.1.3行级安全性 329
10.1.2表级安全性 329
10.2.1用户的验证方式 330
10.2用户管理 330
10.2.2创建和修改用户账号 331
10.3.1查询用户会话信息 333
10.3查询用户信息 333
10.2.3删除用户 333
10.3.2查询用户会话统计信息 334
10.3.4查询用户详细信息 335
10.3.3查询用户基本信息 335
10.4.1系统权限分类详解 336
10.4权限管理 336
10.3.5查询用户表空间配额 336
10.4.3回收系统权限 340
10.4.2授予系统权限 340
10.4.4对象权限分类 341
10.4.5授予对象权限 342
10.4.6回收对象权限 343
10.4.7查看权限信息 344
10.5.1创建角色 346
10.5角色管理 346
10.5.4给用户指定默认角色 347
10.5.3授予角色给用户 347
10.5.2定义角色的权限 347
10.5.6删除角色 348
10.5.5修改角色 348
10.5.8预定义的角色 349
10.5.7控制角色的可用性 349
10.5.9查询角色信息 350
10.6.1Orac1e概要文件 352
10.6资源管理 352
10.6.2建立概要文件 353
10.6.5概要文件的参数 354
10.6.4删除概要文件 354
10.6.3修改概要文件 354
10.6.6概要文件的口令管理 356
10.6.7查询资源和口令信息 358
10.7使用EM进行安全管理 360
10.7.1使用EM管理用户 361
10.7.2使用EM管理角色 364
10.7.3使用EM管理概要文件 365
10.8.1OEM用户管理 368
10.8使用OEM进行安全管理 368
10.8.3OEM概要文件管理 370
10.8.2OEM角色管理 370
11.1启动数据库审计 373
第11章 数据库审计管理 373
11.2.1启动语句审计 374
11.2语句审计 374
11.2.4查看审计记录 376
11.2.3删除语句审计 376
11.2.2查询语句审计 376
11.3.1启动权限审计 377
11.3权限审计 377
11.4.1启动对象审计 378
11.4对象审计 378
11.3.2查询权限审计 378
11.3.3删除权限审计 378
11.4.2查询对象审计 379
11.5.1创建精细审计 380
11.5精细审计 380
11.4.3删除对象审计 380
11.5.2启动或关闭精细审计 381
11.7使用EM管理审计 382
11.6其他审计管理 382
11.5.3删除精细审计 382
11.5.4查询精细审计定义 382
11.5.5查询精细审计记录 382
11.7.2管理权限审计 383
11.7.1进入审计页面 383
11.7.3管理对象审计 385
11.7.4管理语句审计 387
12.1数据库备份与恢复概述 389
第12章 数据库备份 389
12.1.1数据库故障 390
12.1.2数据库备份的分类 391
12.2用户管理的备份 393
12.1.3备份方法比较 393
12.2.1全数据库脱机备份 394
12.2.2表空间和数据文件的脱机备份 395
12.2.3全数据库联机备份 396
12.2.4表空间或数据文件联机备份 397
12.2.5处理联机备份失败 398
12.2.6备份控制文件 399
12.3.1Export的配置与启动 400
12.3数据库逻辑备份工具Export 400
12.2.7备份归档日志文件 400
12.3.2Export的各个选项 402
12.4.1使用数据泵导出数据 405
12.4逻辑备份工具——Oracle数据泵 405
12.4.2设置并行导出 406
12.4.3数据泵导出参数 407
12.5.1DBVERIFY参数 408
12.5DBVERIFY工具 408
12.5.2验证数据文件 409
12.5.3验证表或索引数据块 410
12.6.1更改全局数据库名 411
12.6DBNEWID工具 411
12.6.2更改DBID 412
12.6.3更改DBNAME 413
13.1.1SYSTEM表空间数据文件的介质恢复 414
13.1完全介质恢复 414
第13章 数据库恢复 414
13.1.2非SYSTEM表空间数据文件的介质恢复 416
13.1.3恢复控制文件 417
13.1.4恢复重做日志文件 421
13.1.5恢复临时文件 423
13.2数据库不完全恢复 424
13.2.1基于时间的恢复 425
13.2.2基于取消的恢复 426
13.2.3基于SCN的恢复 427
13.3.1表空间及时点恢复的概念 428
13.3用户管理的表空间及时点恢复 428
13.3.2表空间及时点恢复的准备 429
13.3.3执行用户管理的TSPITR 430
13.4数据库逻辑恢复 432
13.4.1使用IMP导入 433
13.4.2Import的各个参数 435
13.4.3使用IMPDP导入 436
13.4.4数据泵导入参数 438
13.4.5移动表空间 440
13.5.1行级闪回 441
13.5数据库行、表、级闪回恢复 441
13.5.2闪回表 444
13.6.1数据库闪回的语法 447
13.6数据库闪回恢复 447
13.6.2配置数据库闪回 448
13.6.3闪回数据库到某个时间点 449
13.6.4闪回数据库到某个SCN 450
13.7.1LogMiner的概念 451
13.7LogMiner 451
13.7.2LogMiner配置要求 452
13.7.3使用LogMiner的步骤 453
13.7.4LogMiher分析日志文件举例 458
13.7.5查询LogMiher信息 459
14.1RMAN体系结构 461
第14章 使用RMAN 461
14.2.1启动RMAN 463
14.2启动与配置RMAN 463
14.2.2连接RMAN 464
14.2.3运行RMAN各类命令 465
14.2.4RMAN的环境配置 466
14.3.1备份整个数据库 470
14.3使用RMAN备份 470
14.3.2备份部分数据库 471
14.3.3差异增量备份和累积增量备份 473
14.3.4建立镜像副本 475
14.3.5查询备份信息 476
14.4.1数据库完全恢复 479
14.4使用RMAN恢复 479
14.4.2数据库不完全恢复 483
14.4.3块级别的恢复 485
14.5.1REPORT命令 486
14.5RMAN维护命令 486
14.5.2LIST命令 488
14.5.3CROSSCHECK命令 493
14.5.4DELETE命令 494
14.5.5CHANGE命令 496
14.5.6CATALOG命令 497
14.6管理恢复目录 498
14.6.1创建恢复目录 499
14.6.2维护恢复目录 500
14.6.3使用存储脚本 501
14.6.4查询恢复目录 503
15.1自动存储管理概述 507
第15章 自动存储管理 507
15.2.1准备ASM的硬件条件 510
15.2配置自动存储管理 510
15.2.2配置ASM 512
15.3管理ASM实例 514
15.3.1启动关闭ASM实例 514
15.3.2ASM的初始化参数 515
15.4管理ASM磁盘组 516
15.4.1添加磁盘戳记 516
15.4.2创建磁盘组 516
15.4.3删除磁盘组 517
15.4.4修改磁盘组 518
15.5ASM文件 522
15.5.1ASM文件类型 522
15.5.2创建数据库对象 524
15.6查询ASM信息 525
15.7.1进入ASM实例 526
15.7使用EM管理ASM 526
15.7.2查看ASM实例信息 527
16.1.1Oracle服务器网络配置概述 528
16.1配置Oracle服务器网络 528
16.1.2使用OracleNetManager配置监听 528
第16章 管理Oracle网络 528
16.1.3使用lsnrctl工具管理监听 533
16.1.4动态服务注册 537
16.1.5诊断服务器连接 538
16.1.6使用EM管理监听 539
16.2.1客户端名称解析方法 543
16.2.2主机命名方法 543
16.2配置Oracle客户端网络 543
16.2.3简单命名方法 545
16.2.4本地命名方法 545
16.2.5Slnet.ora文件 549
16.3Oracle共享服务器 551
16.3.1何时使用共享服务器 551
16.3.2监听器在共享服务器中的作用 552
16.3.3共享服务器参数 553
16.3.4使用DBCA配置共享服务器 556
16.3.5使用EM配置共享服务器 559
16.3.6查询共享服务器信息 560
16.3.7在共享服务器中配置专用连接 564
16.3.8调节共享服务器 565
第17章 使用SQL*Plus 569
17.1启动SQL**Plus 569
17.2登录SQL*Plus 570
17.3执行命令 570
17.3.1执行SQL语句 571
17.3.2执行PL/SQL语句块 571
17.3.3执行SQL*Plus内部命令 572
17.3.4执行操作系统命令 573
17.3.5退出SQL*Plus 573
17.3.6使用帮助 574
17.3.7清屏命令 575
17.4SQL*Plus编辑命令 575
17.4.1APPEND命令 576
17.4.2CHANGE命令 576
17.4.3CLEAR命令 577
17.4.5INPUT命令 578
17.4.6LIST命令 578
17.4.4DEL命令 578
17.5SQL*Plus文件操作命令 579
17.5.1保存文件 579
17.5.2在文件内加注释 580
17.5.3读命令文件到缓冲区 581
17.5.4运行命令文件 582
17.6格式化查询结果 583
17.6.1格式化列 583
17.6.2使用SQL*Plus制作报表 588
17.7存取数据库 592
17.7.1连接到本地数据库 592
17.7.2连接到远程数据库 593
17.7.3将A数据库数据复制到B数据库 594
17.8配置SQL*Plus环境 596
17.8.1使用环境变量 596
17.8.2设置环境参数 599
17.9.1可自定义的提示符 602
17.9.2改进的CONNECT命令 602
17.9SQL*Plus的新特点 602
附录Oracle10g的初始化参数 604