第一部分 背景知识、数据建模和UNIX/Linux第1章 Oracle DBA的世界 2
1.1 Oracle DBA的任务 2
1.2 不同的DBA工作分类 5
1.3 数据库的类型 6
1.4 背景知识和培训 7
1.5 普通Oracle DBA的日常工作 11
1.6 几点建议 12
第2章 关系数据库建模及数据库设计 13
2.1 关系数据库简介 13
2.2 关系数据库模型 14
2.3 关系数据库的生命周期 16
2.4 反向设计数据库 26
2.5 对象-关系和对象数据库 26
第3章 Oracle DBA的UNIX/Linux基础 29
3.1 UNIX和Linux操作系统概述 29
3.2 理解UNIX shell 30
3.3 基本UNIX命令概览 32
3.4 UNIX中文件和目录的浏览 39
3.5 用vi编辑器撰写和编辑文件 44
3.6 文本的提取和排序 45
3.7 shell脚本 48
3.8 UNIX进程 53
3.9 UNIX系统管理和Oracle DBA 54
3.10 UNIX中的磁盘和存储 61
3.11 RAID系统 64
3.12 新存储技术 67
第二部分 Oracle 10g的体系结构、模式和事务管理第4章 Oracle 10g体系结构介绍 72
4.1 Oracle数据库的结构 72
4.2 Oracle的进程 83
4.3 Oracle的内存结构 88
4.4 简单的Oracle数据库事务 96
4.5 数据一致性和数据并发性 97
4.6 备份与恢复体系结构 99
4.7 Oracle数据字典和动态性能视图 100
4.8 连接数据库 101
4.9 Oracle实用程序 103
4.10 调度和资源管理工具 103
4.11 自动数据库管理 104
4.12 公共可管理基础设施 105
4.13 高效的管理和监控 106
第5章 模式管理 108
5.1 SQL语句的类型 108
5.2 Oracle模式 110
5.3 创建和管理表空间 111
5.4 Oracle表 131
5.5 特殊的Oracle表 137
5.6 Oracle索引 148
5.7 管理数据库完整性约束 153
5.8 使用视图 157
5.9 使用实体化视图 158
5.10 使用SQL Access Advisor 163
5.11 使用同义词 167
5.12 使用序列 169
5.13 使用触发器 170
5.14 浏览对象信息 170
第6章 Oracle事务管理 172
6.1 Oracle事务 172
6.2 事务的特性 174
6.3 事务并发性控制 175
6.4 隔离级别和ISO事务标准 176
6.5 Oracle的隔离级别 177
6.6 实现Oracle的并发控制 179
6.7 利用撤销数据提供读一致性 185
6.8 使用撤销数据的闪回错误纠正 194
6.9 用DBMS_FLASHBACK程序包进行闪回 196
6.10 闪回事务查询 199
6.11 离散事务 204
6.12 自主事务 204
6.13 可恢复的空间分配 206
6.14 管理长事务 209
第三部分 安装Oracle 10g,创建和升级数据库第7章 安装Oracle 10g RDBMS 212
7.1 安装Oracle 212
7.2 遵循最佳灵活体系结构 213
7.3 执行预安装任务 219
7.4 用于安装的最终检查表 228
7.5 安装后的任务 235
7.6 卸载Oracle 236
第8章 升级到Oracle 10g 238
8.1 升级到Oracle 10g的方法 238
8.2 升级方法和工具 238
8.3 用DBUA升级 240
8.4 手动升级 243
8.5 升级之后 248
第9章 创建Oracle数据库 249
9.1 准备创建数据库 249
9.2 创建参数文件 252
9.3 创建新数据库 270
9.4 使用服务器参数文件(SPFILE) 284
9.5 从SQL*Plus中启动和关闭数据库 287
第四部分 连接和用户管理 298
第10章 连接和网络 298
10.1 Oracle网络和数据库连接 298
10.2 网络概念:Oracle网络如何工作 299
10.3 建立Oracle连接 302
10.4 Oracle客户机 303
10.5 即时客户机 304
10.6 监听程序和连接 305
10.7 命名和连接 309
10.8 Oracle和Java数据库连接 318
第11章 用户管理和数据库安全 323
11.1 管理用户 323
11.2 Database Resource Manager 331
11.3 控制数据访问 340
11.4 审计数据库使用 356
11.5 认证用户 364
11.6 企业用户安全 368
11.7 数据安全须知 373
第12章 使用SQL*Plus及iSQL*Plus 380
12.1 启动SQL*Plus会话 380
12.2 退出SQL*Plus 383
12.3 SQL*Plus和SQL命令 384
12.4 主要的SQL*Plus“工作”命令 393
12.5 格式化SQL*Plus的输出以及创建报告的命令 396
12.6 在SQL*Plus中创建命令文件 398
12.7 在SQL*Plus中编辑 402
12.8 主要的SQL*Plus数据库管理命令 406
12.9 用SQL生成SQL 407
12.10 iSQL*Plus 408
第五部分 数据装载、备份和恢复第13章 装载和转换数据 418
13.1 提取、转换和装载概览 418
13.2 使用SQL*Loader实用程序 419
13.3 转换数据 443
13.4 为复制和信息共享使用Oracle流 454
第14章 使用数据泵取导出和导入 458
14.1 数据泵取技术的介绍 458
14.2 执行数据泵取导出和导入 465
14.3 监控数据泵取作业 483
14.4 使用数据泵取API 485
14.5 可移植表空间 486
第15章 备份数据库 492
15.1 备份Oracle数据库 492
15.2 快闪恢复区 499
15.3 RMAN 505
15.4 备份控制文件 531
15.5 Oracle Backup工具 532
15.6 用户管理的备份 537
15.7 数据库讹误检测 541
15.8 增加灾难恢复的数据保护 543
第16章 数据库恢复 546
16.1 数据库故障类型 546
16.2 Oracle的恢复过程 547
16.3 用RMAN执行恢复 552
16.4 典型的介质恢复方案 555
16.5 克隆数据库 568
16.6 粒度恢复技术 571
16.7 闪回技术和恢复 577
16.8 使用复原点 587
16.9 修理数据讹误并试验恢复 589
16.10 排除恢复错误 591
第六部分 管理运行中的Oracle数据库第17章 自动管理和联机功能 596
17.1 ADDM 596
17.2 自动共享内存管理 608
17.3 自动优化程序的统计数据收集 614
17.4 自动存储管理 616
17.5 自动空间管理 630
17.6 Oracle 10g的联机功能 639
第18章 管理和监控运行中的数据库 650
18.1 Oracle性能统计的类型 650
18.2 服务器产生的警告 654
18.3 AWR 659
18.4 ASH 668
18.5 管理顾问框架 672
18.6 使用撤销和MTTR顾问程序 675
18.7 管理联机重做日志 676
18.8 管理数据库链接 679
18.9 用数据库服务器拷贝文件 681
18.10 将Oracle文件映射到物理设备 682
18.11 使用Oracle的调度程序 683
第19章 使用Oracle企业管理器 700
19.1 Oracle企业管理器 700
19.2 OEM体系结构和组件 702
19.3 OEM Database Control 702
19.4 OEM Grid Control 714
第20章 在Windows和Linux系统上管理Oracle数据库 722
20.1 Oracle 10g和Windows 722
20.2 在Windows和UNIX之间管理Oracle的本质区别 724
20.3 在Windows系统中安装Oracle 10g 730
20.4 Windows注册表 731
20.5 在Windows系统中管理Oracle 732
20.6 在Windows中卸载Oracle 738
20.7 Oracle和Linux 740
第七部分 性能调整 744
第21章 改进数据库性能:SQL查询优化 744
21.1 Oracle性能调整的方法 744
21.2 优化Oracle查询处理 745
21.3 查询优化和Oracle基于成本的优化程序 748
21.4 编写有效SQL 760
21.5 DBA如何帮助改进SQL处理过程 769
21.6 SQL性能调整工具 775
21.7 使用EXPLAIN PLAN 775
21.8 SQL Tuning Advisor 792
21.9 调整SQL语句的简单步骤 796
第22章 性能调整:调整实例 798
22.1 实例调整简介 798
22.2 自动性能调整与动态性能视图 800
22.3 Oracle内存调整 800
22.4 评估系统性能 817
22.5 度量I/O性能 823
22.6 度量实例性能 824
22.7 实例调整的一种简单方法 853
第八部分 数据字典、动态视图和Oracle提供的程序包第23章 Oracle数据字典和动态性能视图 866
23.1 Oracle数据字典 866
23.2 使用静态数据字典视图 867
23.3 使用动态性能视图 895
第24章 使用Oracle PL/SQL程序包 920
24.1 Oracle提供的PL/SQL程序包的概述 920
24.2 DBMS_FILE_TRANSFER 921
24.3 DBMS_MONITOR 922
24.4 UTL_COMPRESS 923
24.5 UTL_MAIL 923
24.6 DBMS_TDB 924
24.7 DBMS_JOB 925
24.8 DBMS_APPLICATION_INFO 926
24.9 DBMS_CRYPTO 928
24.10 DBMS_SESSION 928
24.11 DBMS_SYSTEM 930
24.12 DBMS_OUTPUT 932
24.13 DBMS_REPAIR 933
24.14 DBMS_OUTLN和DBMS_OUTLN_EDIT 935
24.15 DBMS_SPACE 936
24.16 DBMS_SPACE_ADMIN 937
24.17 DBMS_PROFILER 938
24.18 DBMS_ERRLOG 939
24.19 UTL_FILE 940
24.20 UTL_SMTP 944
24.21 DBMS_SHARED_POOL 944
24.22 DBMS_WM 946
24.23 DBMS_RLMGR 946
24.24 在前几章中介绍过的Oracle程序包 946
附录A Oracle 10g SQL和PL/SQL:简明读本 954
A.1 Oracle 10g的样例模式 954
A.2 Oracle数据类型 955
A.3 SQL 956
A.4 抽象数据类型 969
A.5 PL/SQL 970
A.6 使用游标 974
A.7 过程、函数和程序包 976
A.8 Oracle XML DB 977
A.9 Oracle与Java 980