第一部分 Oracle服务器管理 3
第1章 建立Oracle数据库环境 3
1.1 Oracle Database 11g数据库产品 3
1.2 Oracle数据库体系结构 3
1.2.1 Oracle数据库物理存储结构 4
1.2.2 Oracle数据库逻辑存储结构 5
1.2.3 Oracle数据库实例 7
1.2.4 连接模式与服务器进程 11
1.3 Oracle数据库服务器软件安装 13
1.4 数据库创建 16
1.4.1 用DBCA创建数据库 16
1.4.2 手工创建数据库 19
1.4.3 打开数据库 23
1.4.4 关闭数据库 24
1.5 Oracle Net配置 24
1.5.1 服务器端监听配置 25
1.5.2 客户端配置与数据库连接测试 29
本章小结 32
习题 33
第2章 常用Oracle管理工具 34
2.1 SQL*Plus 34
2.1.1 SQL*Plus的启动和关闭 34
2.1.2 SQL*Plus变量与参数配置 35
2.1.3 编辑执行命令 37
2.2 SQL Developer 39
2.2.1 建立数据库连接 40
2.2.2 管理数据库对象 41
2.2.3 使用SQL工作表 42
2.3 Oracle企业管理器 44
2.3.1 配置Database Control 44
2.3.2 启动和停止Database Control 45
2.3.3 Database Control功能概述 47
本章小结 47
习题 47
第3章 静态数据字典与动态性能视图 49
3.1 静态数据字典 49
3.1.1 3组常用数据字典视图 49
3.1.2 其他特殊数据字典视图 52
3.2 动态性能视图 53
3.2.1 动态性能视图的创建和填充 53
3.2.2 常用动态性能视图 54
本章小结 56
习题 57
第4章 初始化参数文件与控制文件 58
4.1 初始化参数文件 58
4.1.1 初始化参数 58
4.1.2 初始化参数文件 59
4.1.3 设置初始化参数 60
4.1.4 查看初始化参数 62
4.1.5 用OEM管理初始化参数 62
4.2 控制文件 63
4.2.1 控制文件结构 64
4.2.2 查看控制文件 65
4.2.3 控制文件的多路存储 65
4.2.4 控制文件的备份、恢复与重新创建 65
4.2.5 用OEM管理控制文件 68
本章小结 69
习题 69
第5章 重做日志管理 70
5.1 重做日志的基本概念 70
5.1.1 重做日志的内容 70
5.1.2 重做日志的写入方式 70
5.2 管理联机重做日志文件组及成员 74
5.2.1 查看重做日志文件信息 74
5.2.2 管理重做日志文件 76
5.3 管理归档重做日志 79
5.3.1 设置归档位置 79
5.3.2 设置归档日志文件命名格式 81
5.3.3 调整归档进程数量 81
5.3.4 改变归档模式 81
5.3.5 查新归档重做日志相关的信息 83
本章小结 85
习题 85
第6章 表空间与数据文件 86
6.1 管理永久表空间 86
6.1.1 表空间的分类 86
6.1.2 创建表空间 86
6.1.3 区分配管理 88
6.1.4 段空间管理 89
6.1.5 数据块大小与数据缓冲区设置 90
6.1.6 改变表空间的可用性 90
6.1.7 设置表空间的读写属性 92
6.1.8 重命名和删除表空间 92
6.1.9 设置数据库默认表空间 93
6.1.10 查询表空间相关的信息 94
6.2 管理临时表空间 96
6.2.1 创建临时表空间 96
6.2.2 设置默认临时表空间 96
6.2.3 临时表空间内的空间分配 97
6.3 管理还原数据 97
6.3.1 Undo的作用 98
6.3.2 管理Undo 101
6.3.3 管理Undo表空间 102
6.4 数据文件管理 103
6.4.1 为表空间添加数据文件 104
6.4.2 调整数据文件的大小 105
6.4.3 改变数据文件的可用性 107
6.4.4 重命名和移动数据文件 108
6.4.5 删除数据文件 109
本章小结 110
习题 110
第7章 安全管理 111
7.1 用户管理 111
7.1.1 用户身份验证 112
7.1.2 用OEM管理用户 116
7.1.3 删除用户 117
7.2 概要文件 118
7.2.1 用概要文件管理资源 118
7.2.2 用概要文件控制口令设置 119
7.2.3 使用概要文件 120
7.2.4 用OEM管理概要文件 123
7.3 权限管理 124
7.3.1 系统权限管理 124
7.3.2 对象权限管理 128
7.4 角色管理 131
7.4.1 创建角色 132
7.4.2 为角色授权 133
7.4.3 管理用户角色 133
7.4.4 查询角色信息 136
7.4.5 修改和删除角色 137
7.4.6 预定义角色 138
本章小结 139
习题 139
第二部分 Oracle数据库应用开发 143
第8章 序列和同义词 143
8.1 序列 143
8.1.1 创建序列 143
8.1.2 使用序列 144
8.1.3 修改序列 146
8.1.4 删除序列 146
8.2 同义词 146
本章小结 147
习题 147
第9章 表 149
9.1 创建表 149
9.1.1 表的类型 149
9.1.2 表的特性 150
9.1.3 表的创建 151
9.2 修改表 155
9.2.1 列的添加、删除和修改 155
9.2.2 重命名表 158
9.2.3 改变表的特性 158
9.2.4 添加注释 159
9.3 删除和查看表 159
9.3.1 删除表 159
9.3.2 查看表结构 160
9.4. 数据完整性约束 161
9.4.1 约束的类别 161
9.4.2 定义约束 161
9.4.3 添加和删除约束 163
9.4.4 约束的状态和延迟检查 165
9.5 分区表 167
9.5.1 创建分区表 168
9.5.2 维护分区表 172
9.6 外部表 173
9.6.1 创建外部表 173
9.6.2 用外部表导出数据 176
9.6.3 维护外部表 176
本章小结 177
习题 178
第10章 索引 181
10.1 概述 181
10.2 创建索引 181
10.2.1 B-树索引 182
10.2.2 位图索引 182
10.2.3 基于函数的索引 183
10.2.4 反向键值索引 183
10.2.5 域索引 183
10.3 修改索引 183
10.3.1 合并索引 183
10.3.2 重构索引 184
10.3.3 重命名索引 184
10.4 删除索引 184
10.5 索引的监视和查询 185
10.5.1 监视索引 185
10.5.2 查询索引信息 185
本章小结 186
习题 187
第11章 视图 188
11.1 创建视图 188
11.2 修改视图 190
11.3 查看视图定义 190
11.4 视图的DML操作 190
11.5 删除视图 191
11.6 其他视图 192
11.6.1 内嵌视图 192
11.6.2 对象视图 192
本章小结 193
习题 194
第12章 PL/SQL基础 195
12.1 PL/SQL基础 195
12.1.1 程序结构 195
12.1.2 数据类型 196
12.1.3 声明变量与常量 197
12.1.4 变量的赋值 197
12.1.5 PL/SQL中的SQL语句 198
12.2 PL/SQL控制结构 199
12.2.1 条件结构 199
12.2.2 循环结构 202
12.2.3 GOTO语句和NULL语句 203
12.3 集合与记录 204
12.3.1 联合数组 204
12.3.2 嵌套表 207
12.3.3 变长数组 210
12.3.4 集合类型的应用 212
12.3.5 记录类型 215
12.4 异常处理 216
12.4.1 异常概述 216
12.4.2 异常处理过程 218
12.4.3 SQLCODE和SQLERRM函数 221
本章小结 222
习题 222
第13章 游标、存储过程和函数 224
13.1 游标 224
13.1.1 游标的概念 224
13.1.2 显式游标 224
13.1.3 隐式游标 229
13.1.4 游标变量 230
13.2 存储过程 232
13.2.1 创建和调用存储过程 233
13.2.2 修改、查看和删除存储过程 235
13.2.3 用Java编写存储过程 236
13.3 函数 239
13.3.1 创建和调用函数 239
13.3.2 修改、查看和删除函数 240
本章小结 240
习题 240
第14章 触发器 242
14.1 触发器的基本概念 242
14.1.1 触发事件 242
14.1.2 触发器分类 242
14.1.3 触发时序 243
14.2 DML触发器 243
14.3 INSTEAD OF触发器 247
14.4 系统触发器 249
14.4.1 创建系统事件触发器 249
14.4.2 事件属性函数 250
14.4.3 创建DDL事件触发器 251
14.5 组合触发器 253
14.6 管理触发器 254
14.6.1 禁用与启用触发器 255
14.6.2 修改与删除触发器 255
14.6.3 重新编译触发器 255
本章小结 255
习题 255
第15章 动态SQL操作 257
15.1 动态SQL 257
15.2 本地动态SQL 257
15.2.1 动态SQL处理方法一 258
15.2.3 动态SQL处理方法二 259
15.3 DBMS_SQL包 261
本章小结 263
习题 264
第16章 对象 265
16.1 对象概述 265
16.2 创建对象类型 265
16.3 对象的使用 269
16.3.1 数据库表中使用对象 269
16.3.2 PL/SQL中使用对象 272
16.4 继承与重载 273
16.4.1 对象继承 273
16.4.2 方法重载 275
本章小结 276
习题 276
第17章 包 278
17.1 包的创建 278
17.1.1 规范 278
17.1.2 包体 279
17.1.3 初始化 279
17.2 包的调用 280
17.3 包的管理 281
17.3.1 查看包的信息 281
17.3.2 修改包 281
17.3.3 删除包 281
17.4 Oracle Database 11g中的预定义包 281
17.4.1 DBMS_OUTPUT 282
17.4.2 DBMS_ALERT 283
17.4.3 DBMS_JOB 285
本章小结 288
习题 289
第18章 Java开发中的应用 290
18.1 开发环境配置 290
18.1.1 配置计算机 290
18.1.2 Oracle JDBC驱动程序 292
18.1.3 导入JDBC包 292
18.1.4 注册Oracle JDBC驱动程序 293
18.1.5 连接数据库 293
18.2 创建JDBC PreparedStatement对象 294
18.3 查询数据 294
18.4 添加数据行 295
18.5 删除数据行 296
18.6 更新数据行 296
18.7 通过Hibernate操作Oracle数据库 301
18.7.1 配置 301
18.7.2 利用Hibernate查询数据 303
18.7.3 利用Hibernate插入数据 306
18.7.4 利用Hibernate更新数据 306
本章小结 307
习题 307