第1章 Oracle 11g简介 1
1.1关系数据库的基本理论 1
1.1.1数据库系统与关系数据库 1
1.1.2关系数据库的逻辑模型 2
1.1.3关系数据库的设计规范 3
1.2 Oracle数据库与网格技术 6
1.2.1网格技术 6
1.2.2 Oracle网格体系结构 7
1.3 Oracle应用结构 8
1.3.1多数据库的独立宿主结构 8
1.3.2客户机/服务器结构 9
1.3.3分布式结构 9
1.4 Oracle 1 1g for Windows的安装与配置 10
1.5 Oracle 11g的管理工具 16
1.5.1使用SQL*Plus 16
1.5.2使用Oracle Enterprise Manager 17
1.5.3使用DBCA创建数据库 18
第2章 Oracle的体系结构 19
2.1 Oracle体系结构概述 19
2.2逻辑存储结构 20
2.2.1数据块 21
2.2.2盘区 22
2.2.3段 22
2.2.4表空间 23
2.3物理存储结构 25
2.3.1数据文件 25
2.3.2控制文件 26
2.3.3其他文件 27
2.4实例的内存结构 30
2.4.1系统全局区 30
2.4.2程序全局区 33
2.5实例的进程结构 35
2.5.1用户进程 35
2.5.2服务器进程 36
2.5.3后台进程 36
2.6数据字典 41
2.7思考与练习 42
第3章 管理Oracle数据库 44
3.1管理初始化参数 44
3.1.1常用初始化参数 44
3.1.2初始化参数文件 45
3.1.3创建初始化参数文件 46
3.1.4显示和设置初始化参数文件 47
3.2启动数据库与实例 50
3.2.1启动数据库的步骤 50
3.2.2启动模式 51
3.2.3转换启动模式 53
3.3关闭数据库与实例 55
3.3.1数据库的关闭步骤 55
3.3.2正常关闭方式(NORMAL) 56
3.3.3立即关闭方式(IMMEDIATE) 56
3.3.4事务关闭方式(TRANSACTIONAL) 57
3.3.5终止关闭方式(ABORT) 57
3.4数据库的特殊状态 58
3.4.1静默状态 58
3.4.2挂起状态 59
3.5思考与练习 60
第4章 SQL*Plus命令 62
4.1 SQL*Plus的运行环境 62
4.1.1使用SET语句选项 62
4.1.2设置运行环境示例 64
4.2 SQL*Plus命令 67
4.2.1 HELP命令 67
4.2.2 DESCRIBE命令 68
4.2.3 PROMPT命令 69
4.2.4 SPOOL命令 69
4.3格式化查询结果 70
4.3.1 COLUMN命令 70
4.3.2 TTITLE和BTITLE命令 73
4.4缓存区 74
4.5实验指导 76
4.6思考与练习 77
第5章 SQL语句基础 78
5.1用户模式 78
5.1.1 SCOTT模式 78
5.1.2 HR模式 79
5.1.3其他模式 80
5.2 SELECT语句的用法 81
5.2.1检索单表数据 81
5.2.2过滤数据 84
5.2.3排序数据 87
5.2.4多表检索 89
5.3函数的使用 94
5.3.1字符函数 94
5.3.2数学函数 97
5.3.3时间和日期函数 98
5.3.4转换函数 99
5.3.5统计函数 101
5.3.6分组技术 101
5.4子查询 103
5.4.1子查询的概念 103
5.4.2单行子查询 104
5.4.3多行子查询 105
5.4.4关联子查询 106
5.5操作数据 107
5.5.1插入数据 107
5.5.2更新数据 109
5.5.3删除数据 109
5.6 Oracle事务处理 110
5.6.1事务的基本概念 110
5.6.2事务控制 111
5.7实验指导 113
5.8思考与练习 114
第6章 PL/SQL编程基础 116
6.1 PL/SQL概述 116
6.2变量与数据类型 118
6.2.1 PL/SQL变量的声明 118
6.2.2 %TYPE变量 119
6.2.3复合变量 120
6.3条件语句 122
6.3.1 IF...THEN条件语句 122
6.3.2 IF...THEN...ELSE条件语句 123
6.3.3 IF...THEN...ELSIF条件语句 124
6.3.4 CASE条件语句 125
6.4循环语句 126
6.4.1 LOOP...END LOOP循环 126
6.4.2 WHILE循环 127
6.4.3 FOR循环 128
6.5游标的使用 130
6.5.1隐式游标 130
6.5.2显式游标 132
6.5.3游标FOR循环 134
6.6异常处理 135
6.6.1预定义异常 135
6.6.2非预定义异常 138
6.6.3用户定义的异常 139
6.7实验指导 140
6.8思考与练习 143
第7章 存储过程、触发器和程序包 145
7.1存储过程 145
7.1.1创建存储过程 145
7.1.2参数 148
7.1.3默认值 153
7.1.4过程中的事务处理 154
7.2函数 155
7.3触发器 156
7.3.1触发器概述 157
7.3.2语句级触发器 158
7.3.3行级触发器 161
7.3.4 instead of触发器 162
7.3.5用户事件触发器 164
7.4程序包 166
7.4.1程序包规范 166
7.4.2程序包主体 167
7.4.3重载 169
7.5实验指导 171
7.6思考与练习 173
第8章 管理表 176
8.1创建表 176
8.1.1表结构 176
8.1.2创建表 178
8.1.3表特性 179
8.2修改表 184
8.2.1增加和删除字段 184
8.2.2更新字段 186
8.2.3重命名表 186
8.2.4改变表的存储表空间和存储参数 187
8.2.5删除表定义 188
8.2.6修改表的状态 189
8.3定义和管理数据完整性约束 190
8.3.1非空约束 191
8.3.2主键约束 192
8.3.3唯一性约束 193
8.3.4外键约束 194
8.3.5禁止和激活约束 197
8.3.6删除约束 198
8.4使用大对象数据类型 199
8.5实验指导 201
8.6思考与练习 202
第9章 索引与索引组织表 204
9.1索引基础 204
9.2建立索引 207
9.2.1建立B树索引 207
9.2.2建立位图索引 209
9.2.3建立反向键索引 212
9.2.4基于函数的索引 214
9.3修改索引 215
9.3.1合并索引和重建索引 215
9.3.2删除索引 216
9.3.3显示索引信息 217
9.4索引组织表 218
9.4.1索引组织表与标准表 219
9.4.2修改索引组织表 220
9.5实验指导 221
9.6思考与练习 222
第10章 其他模式对象 224
10.1管理表分区与索引分区 224
10.1.1分区的概念 224
10.1.2建立分区表 225
10.1.3修改分区表 231
10.1.4分区索引和全局索引 236
10.2外部表 238
10.2.1建立外部表 238
10.2.2处理外部表错误 239
10.2.3修改外部表 241
10.3临时表 241
10.4簇与簇表 242
10.4.1索引簇 242
10.4.2散列簇 245
10.4.3显示簇信息 248
10.5管理视图 249
10.5.1创建视图 249
10.5.2管理视图 252
10.6管理序列 254
10.6.1创建序列 254
10.6.2修改序列 256
10.7管理同义词 256
10.8实验指导 258
10.9思考与练习 260
第11章 控制文件与日志文件的管理 262
11.1管理控制文件 262
11.1.1控制文件简介 262
11.1.2复合控制文件 263
11.1.3建立控制文件 265
11.1.4控制文件的备份与恢复 268
11.1.5删除控制文件 269
11.1.6查看控制文件信息 269
11.2管理重做日志文件 270
11.2.1重做日志简介 270
11.2.2增加重做日志 271
11.2.3删除重做日志 272
11.2.4改变重做日志的位置或名称 273
11.2.5显示重做日志信息 274
11.3管理归档日志 275
11.3.1日志操作模式 275
11.3.2控制归档 276
11.3.3配置归档文件格式 278
11.3.4配置归档位置 278
11.3.5显示归档日志信息 280
11.4查看日志信息 281
11.4.1 LogMiner概述 281
11.4.2创建LogMiner使用的字典文件 282
11.4.3指定分析的日志文件 283
11.4.4启动LogMiner 284
11.4.5查看分析结果 285
11.4.6结束LogMiner 285
11.5实验指导 285
11.6思考与练习 286
第12章 管理表空间和数据文件 288
12.1建立表空间 288
12.1.1建立普通表空间 288
12.1.2建立大文件表空间 290
12.1.3建立临时表空间 291
12.1.4建立非标准块表空间 293
12.2维护表空间 294
12.2.1改变表空间可用性 294
12.2.2改变表空间读写状态 296
12.2.3改变表空间名称 297
12.2.4设置默认表空间 297
12.2.5删除表空间 297
12.2.6查询表空间信息 298
12.3管理数据文件 298
12.3.1数据文件的管理策略 298
12.3.2添加表空间数据文件 299
12.3.3改变数据文件的大小 300
12.3.4改变数据文件的可用性 301
12.3.5改变数据文件的名称和位置 301
12.4管理UNDO表空间 303
12.4.1 UNDO概述 303
12.4.2 UNDO参数 304
12.4.3建立UNDO表空间 304
12.4.4修改UNDO表空间 305
12.4.5切换UNDO表空间 305
12.4.6设置UNDO记录保留的时间 306
12.4.7删除UNDO表空间 306
12.4.8查看UNDO表空间信息 307
12.5实验指导 307
12.6思考与练习 308
第13章 用户权限与安全 310
13.1用户和模式 310
13.2管理用户 311
13.2.1创建用户 311
13.2.2修改用户 314
13.2.3删除用户 315
13.3资源配置PROFILE 316
13.3.1 PROFILE概念 316
13.3.2使用PROFILE管理密码 316
13.3.3使用PROFILE管理资源 319
13.3.4修改和删除PROFILE 321
13.3.5显示PROFILE信息 322
13.4管理权限 323
13.4.1权限简介 323
13.4.2管理系统权限 324
13.4.3管理对象权限 329
13.5管理角色 332
13.5.1角色的概念 332
13.5.2预定义角色 333
13.5.3管理自定义角色 334
13.6实验指导 338
13.7思考与练习 339
第14章 导出与导入 341
14.1 EXPDP和IMPDP简介 341
14.2 EXPDP导出数据 342
14.2.1调用EXPDP 342
14.2.2 EXPDP命令参数 345
14.3 IMPDP导入数据 347
14.3.1 IMPDP参数 347
14.3.2调用IMPDP 349
14.3.3移动表空间 350
14.4 SQL*Loader导入外部数据 353
14.4.1 SQL *Loader概述 353
14.4.2加载数据 354
14.5实验指导 356
14.6思考与练习 357
第15章 备份与恢复 358
15.1备份与恢复概述 358
15.2 RMAN概述 359
15.2.1 RMAN组件 360
15.2.2 RMAN通道 362
15.2.3 RMAN命令 366
15.3使用RMAN备份数据库 367
15.3.1 RMAN备份策略 367
15.3.2使用RMAN备份数据库文件和归档日志 370
15.3.3多重备份 373
15.3.4 BACKUP增量备份 373
15.3.5镜像复制 374
15.4 RMAN完全恢复 375
15.4.1 RMAN恢复机制 375
15.4.2恢复处于NOARCHIVELOG模式的数据库 377
15.4.3恢复处于ARCHIVELOG模式的数据库 378
15.5 RMAN不完全恢复 379
15.5.1基于时间的不完全恢复 379
15.5.2基于撤销的不完全恢复 381
15.5.3基于更改的不完全恢复 382
15.6维护RMAN 383
15.6.1交叉验证备份CROSSCHECK 383
15.6.2添加操作系统备份 384
15.6.3查看备份信息 384
15.6.4定义保留备份的策略 386
15.7实验指导 387
15.8思考与练习 388