• 第Ⅰ部分 关键的数据库概念 1
  • 第1章 Oracle Database 11g 体系结...
  • 1.1 数据库和实例 4
  • 1.2 数据库技术 5
  • 1.2.1 存储数据 6
  • 1.2.2 数据保护 8
  • 1.2.3 可编程的结构 8
  • 1.3 选择体系结构和选项 9
  • 第2章 安装Oracle Database 11g 和...
  • 2.1 许可证和安装选项 13
  • 2.2 使用 OUI 安装 Oracle 软件 13
  • 第3章 升级到 Oracle Database 11g 19
  • 3.1 选择升级方法 20
  • 3.2 升级之前的准备 21
  • 3.3 运行升级前信息工具(Pre-Upgra...
  • 3.4 使用数据库升级助手(DBUA) 23
  • 3.5 执行手动直接升级 23
  • 3.6 使用 Export 与Import 24
  • 3.6.1 使用哪个 Export 和Import ...
  • 3.6.2 进行升级 25
  • 3.7 使用数据复制法 25
  • 3.8 升级完成之后的工作 26
  • 第4章 规划Oracle 应用程序——方...
  • 4.1 协作方法 28
  • 4.2 每个人都有“数据” 29
  • 4.3 熟悉的 Oracle 语言 30
  • 4.3.1 存储信息的表 31
  • 4.3.2 结构化查询语言 31
  • 4.3.3 简单的Oracle 查询 32
  • 4.3.4 为什么称作“关系” 33
  • 4.4 一些通用的、常见的示例 35
  • 4.5 风险所在 36
  • 4.6 新视角的重要性 37
  • 4.6.1 变化的环境 38
  • 4.6.2 代码、缩写和命名标准 38
  • 4.7 如何减少混淆 39
  • 4.7.1 规范化 40
  • 4.7.2 表和列的英文名称 44
  • 4.7.3 数据中的英文单词 46
  • 4.8 名称和数据中的大写 46
  • 4.9 规范化名称 47
  • 4.10 人性化和优秀的设计 47
  • 4.10.1 理解应用程序的任务 48
  • 4.10.2 任务概要 49
  • 4.11 理解数据 51
  • 4.11.1 原子数据模型 52
  • 4.11.2 原子业务模型 53
  • 4.11.3 业务模型 53
  • 4.11.4 数据项 53
  • 4.11.5 查询和报告 53
  • 4.12 关于对象名称的规范化 54
  • 4.12.1 级别-名称完整性 54
  • 4.12.2 外键 55
  • 4.12.3 单数名称 55
  • 4.12.4 简洁 56
  • 4.12.5 对象名辞典 56
  • 4.13 智能键和列值 56
  • 4.14 建议 57
  • 第Ⅱ部分 SQL和SQL*Plus 59
  • 第5章 SQL 中的基本语法 61
  • 5.1 样式 63
  • 5.2 创建 NEWSPAPER 表 63
  • 5.3 用SQL 从表中选择数据 64
  • 5.4 select 、from 、where和order...
  • 5.5 逻辑和值 69
  • 5.5.1 单值测试 70
  • 5.5.2 值列表的简单测试 75
  • 5.5.3 组合逻辑 77
  • 5.6 where 的另一个用途:子查询 78
  • 5.6.1 从子查询得到单值 79
  • 5.6.2 从子查询得到值列表 80
  • 5.7 组合表 82
  • 5.8 创建视图 83
  • 5.9 扩展视图 85
  • 第6章 基本的 SQL*Plus报表和命令 87
  • 6.1 构建简单的报表 89
  • 6.1.1 ①remark 90
  • 6.1.2 ②set headsep 92
  • 6.1.3 ③ttitle 和btitle 92
  • 6.1.4 column 92
  • 6.1.5 ⑧break on 93
  • 6.1.6 ⑨compute avg 94
  • 6.1.7 ⑩set linesize 95
  • 6.1.8 set pagesize 95
  • 6.1.9 set newpage 95
  • 6.1.10 ⑩11spool 96
  • 6.1.11 ⑩12/* */ 97
  • 6.1.12 关于列标题的一些说明 97
  • 6.2 其他特性 98
  • 6.2.1 命令行编辑器 98
  • 6.2.2 设置停顿 101
  • 6.2.3 保存 102
  • 6.2.4 存储 102
  • 6.2.5 编辑 102
  • 6.2.6 host 103
  • 6.2.7 添加SQL*Plus命令 104
  • 6.2.8 启动 104
  • 6.3 检查 SQL*Plus环境 104
  • 6.4 构件块 106
  • 第7章 文本信息的收集与更改 107
  • 7.1 数据类型 108
  • 7.2 什么是串 108
  • 7.3 表示法 109
  • 7.4 连接符(||) 110
  • 7.5 剪切和粘贴串 112
  • 7.5.1 RPAD 和LPAD 112
  • 7.5.2 LTRIM、RTRIM和TRIM 113
  • 7.5.3 组合两个函数 114
  • 7.5.4 使用TRIM 函数 116
  • 7.5.5 再次使用填充函数 117
  • 7.5.6 LOWER、UPPER和INITCAP 117
  • 7.5.7 LENGTH 119
  • 7.5.8 SUBSTR 119
  • 7.5.9 INSTR 122
  • 7.5.10 ASCII和CHR 127
  • 7.6 在order by 和where子句中使用...
  • 7.6.1 SOUNDEX 128
  • 7.6.2 国际语言支持 130
  • 7.6.3 正则表达式支持 130
  • 7.7 小结 130
  • 第8章 正则表达式搜索 131
  • 8.1 搜索串 132
  • 8.2 REGEXP_SUBSTR 135
  • 8.3 REGEXP_INSTR 137
  • 8.4 REGEXP_LIKE 138
  • 8.5 REPLACE 和REGEXP_REPLACE 139
  • 8.6 REGEXP_COUNT 143
  • 第9章 数值处理 145
  • 9.1 三类数值函数 145
  • 9.2 表示法 146
  • 9.3 单值函数 146
  • 9.3.1 加减乘除 147
  • 9.3.2 NULL 147
  • 9.3.3 NVL:空值置换函数 148
  • 9.3.4 ABS :绝对值函数 149
  • 9.3.5 CEIL 149
  • 9.3.6 FLOOR 150
  • 9.3.7 MOD 150
  • 9.3.8 POWER 151
  • 9.3.9 SQRT :求平方根 151
  • 9.3.10 EXP、LN和LOG 151
  • 9.3.11 ROUND和TRUNC 152
  • 9.3.12 SIGN 153
  • 9.3.13 SIN、SINH、COS、COSH、TAN...
  • 9.4 聚集函数 154
  • 9.4.1 组值函数中的NULL 154
  • 9.4.2 单值函数和组值函数的示例 155
  • 9.4.3 AVG、COUNT、MAX、MIM和SUM 156
  • 9.4.4 组值函数和单值函数的组合 156
  • 9.4.5 STDDEV 和VARIANCE 158
  • 9.4.6 组函数中的DISTINCT 159
  • 9.5 列表函数 160
  • 9.6 使用MAX或MIN 函数查找行 161
  • 9.7 优先级和圆括号的应用 163
  • 9.8 小结 164
  • 第10章 日期:过去、现在及日期的...
  • 10.1 日期算法 165
  • 10.1.1 SYSDATE 、CURRENT_DATE及S...
  • 10.1.2 两个日期的差 167
  • 10.1.3 添加月份 168
  • 10.1.4 减少月份 168
  • 10.1.5 GREATEST 和LEAST 168
  • 10.1.6 NEXT_DAY 170
  • 10.1.7 LAST_DAY 171
  • 10.1.8 MOMTHS_BETWEEN 171
  • 10.1.9 组合日期函数 172
  • 10.2 日期计算中的ROUND和TRUNC 172
  • 10.3 使用TO_DATE 和TO_CHAR设置日...
  • 10.3.1 最常见的TO_CHAR 错误 178
  • 10.3.2 NEW_TIME :切换时区 178
  • 10.3.3 TO_DATE 计算 179
  • 10.4 where子句中的日期 181
  • 10.5 处理多个世纪 182
  • 10.6 使用 EXTRACT 函数 183
  • 10.7 使用 TIMESTAMP 数据类型 183
  • 第11章 转换函数与变换函数 185
  • 11.1 基本的转换函数 187
  • 11.1.1 数据类型的自动转换 189
  • 11.1.2 关于自动转换的注意事项 192
  • 11.2 特殊的转换函数 192
  • 11.3 变换函数 193
  • 11.3.1 TRANSLATE 193
  • 11.3.2 DECODE 194
  • 11.4 小结 195
  • 第12章 分组函数 197
  • 12.1 group by 和having 的用法 198
  • 12.1.1 添加一个order by 199
  • 12.1.2 执行顺序 200
  • 12.2 分组视图 202
  • 12.3 用别名重命名列 203
  • 12.4 分组视图的功能 204
  • 12.4.1 在视图中使用order by 205
  • 12.4.2 having子句中的逻辑 206
  • 12.4.3 对列和分组函数进行排序 207
  • 12.4.4 连接列 208
  • 12.5 更多分组可能性 208
  • 第13章 当一个查询依赖于另一个查...
  • 13.1 高级子查询 209
  • 13.1.1 相关子查询 210
  • 13.1.2 并列的逻辑测试 211
  • 13.1.3 EXISTS 及其相关子查询的使...
  • 13.2 外部连接 214
  • 13.2.1 Oracle 9i以前版本中的外部...
  • 13.2.2 现在的外部连接语法 216
  • 13.2.3 用外部连接代替NOT IN 218
  • 13.2.4 用NOT EXISTS 代替NOT IN 219
  • 13.3 自然连接和内部连接 220
  • 13.4 UNION、INTERSECT和MINUS 221
  • 13.4.1 IN 子查询 224
  • 13.4.2 UNION、INTERSECT和MINUS的...
  • 第14章 一些复杂的技术 225
  • 14.1 复杂的分组 225
  • 14.2 使用临时表 227
  • 14.3 使用ROLLUP、GROUPING和CUBE 228
  • 14.4 家族树和 connect by 232
  • 14.4.1 排除个体和分支 235
  • 14.4.2 向根遍历 236
  • 14.4.3 基本规则 238
  • 第15章 更改数据:插入、更新、合...
  • 15.1 插入 240
  • 15.1.1 插入时间 240
  • 15.1.2 用select 插入 241
  • 15.1.3 使用APPEND 提示改善插入性...
  • 15.2 rollback、commit和autocommi...
  • 15.2.1 使用savepoint 243
  • 15.2.2 隐式提交 245
  • 15.2.3 自动回滚 245
  • 15.3 多表插入 245
  • 15.4 delete命令 249
  • 15.5 update 命令 250
  • 15.5.1 用嵌入式select 进行更新 251
  • 15.5.2 用NULL 更新 252
  • 15.6 使用 merge命令 253
  • 15.7 处理错误 256
  • 第16章 DECODE 和CASE:SQL中的if-...
  • 16.1 if-then-else 260
  • 16.2 通过 DECODE替换值 263
  • 16.3 DECODE 中的DECODE 264
  • 16.4 DECODE 中的大于和小于 267
  • 16.5 使用 CASE 269
  • 16.6 使用 PIVOT 272
  • 第17章 创建和管理表、视图、索引...
  • 17.1 创建表 276
  • 17.1.1 字符宽度和数值精度 277
  • 17.1.2 在插入时进行舍入 279
  • 17.1.3 create table的约束 281
  • 17.1.4 指定索引表空间 282
  • 17.1.5 命名约束 283
  • 17.2 删除表 284
  • 17.3 更改表 284
  • 17.3.1 添加或修改列的规则 287
  • 17.3.2 创建只读表 288
  • 17.3.3 更改当前使用的表 288
  • 17.3.4 创建虚拟列 288
  • 17.3.5 删除列 289
  • 17.4 根据一个表创建另一个表 290
  • 17.5 创建索引编排表 292
  • 17.6 创建视图 293
  • 17.6.1 视图的稳定性 293
  • 17.6.2 视图中的order by 294
  • 17.6.3 创建只读视图 295
  • 17.7 索引 295
  • 17.7.1 创建索引 296
  • 17.7.2 实施唯一性 296
  • 17.7.3 创建唯一索引 297
  • 17.7.4 创建位图索引 297
  • 17.7.5 何时创建索引 298
  • 17.7.6 创建不可见索引 299
  • 17.7.7 索引列的变化 299
  • 17.7.8 一个表能使用多少个索引 299
  • 17.7.9 在数据库中放置索引 300
  • 17.7.10 重建索引 300
  • 17.7.11 基于函数的索引 301
  • 17.8 群集 301
  • 17.9 序列 303
  • 第18章 分区 305
  • 18.1 创建分区表 306
  • 18.2 列表分区 308
  • 18.3 创建子分区 309
  • 18.4 创建范围和间隔分区 309
  • 18.5 索引分区 311
  • 18.6 管理分区表 311
  • 第19章 Oracle 基本安全 313
  • 19.1 用户、角色和权限 314
  • 19.1.1 创建用户 314
  • 19.1.2 密码管理 315
  • 19.1.3 标准角色 318
  • 19.1.4 grant 命令的格式 319
  • 19.1.5 撤消权限 320
  • 19.2 可以授予用户何种权限 320
  • 19.2.1 利用connect移动到另一个用...
  • 19.2.2 创建同义词 325
  • 19.2.3 使用未授权的权限 325
  • 19.2.4 权限的传递 325
  • 19.2.5 创建角色 327
  • 19.2.6 为角色授权 327
  • 19.2.7 将一个角色授予另一个角色 328
  • 19.2.8 为用户授予角色 328
  • 19.2.9 为角色添加密码 329
  • 19.2.10 删除角色的密码 329
  • 19.2.11 启用和禁用角色 330
  • 19.2.12 撤消角色的权限 331
  • 19.2.13 删除角色 331
  • 19.2.14 给指定的列授予UPDATE权限...
  • 19.2.15 撤消对象权限 331
  • 19.2.16 用户安全性 332
  • 19.2.17 给公众授予访问权 333
  • 19.3 有限资源的授权 334
  • 第Ⅲ部分 高 级 主 题 335
  • 第20章 高级安全性——虚拟专用数...
  • 20.1 初始配置 338
  • 20.2 创建应用程序上下文 339
  • 20.3 创建登录触发器 341
  • 20.4 创建安全策略 342
  • 20.5 将安全策略应用于表 343
  • 20.6 测试 VPD 343
  • 20.7 如何实现列级别的 VPD 345
  • 20.8 如何禁用 VPD 346
  • 20.9 如何使用策略组 347
  • 第21章 高级安全性:透明数据加密 349
  • 21.1 列的透明数据加密 349
  • 21.1.1 设置 350
  • 21.1.2 RAC 数据库的额外设置 351
  • 21.1.3 钱夹的打开和关闭 351
  • 21.1.4 列的加密和解密 352
  • 21.2 表空间的加密 353
  • 21.2.1 设置 353
  • 21.2.2 创建加密的表空间 354
  • 第22章 使用表空间 355
  • 22.1 表空间与数据库的结构 355
  • 22.1.1 表空间内容 356
  • 22.1.2 表空间中的RECYCLEBIN空间 358
  • 22.1.3 只读表空间 359
  • 22.1.4 无日志表空间 360
  • 22.1.5 临时表空间 360
  • 22.1.6 用于系统管理撤消的表空间 360
  • 22.1.7 大文件表空间 361
  • 22.1.8 加密的表空间 361
  • 22.1.9 支持闪回数据库 361
  • 22.1.10 移动表空间 362
  • 22.2 规划表空间的使用 362
  • 22.2.1 分离活动表与静态表 362
  • 22.2.2 分离索引与表 362
  • 22.2.3 分离大对象与小对象 363
  • 22.2.4 将应用程序表与核心对象分...
  • 第23章 用SQL*Loader 加载数据 365
  • 23.1 控制文件 366
  • 23.2 开始加载 367
  • 23.3 逻辑记录与物理记录 370
  • 23.4 控制文件语法注释 371
  • 23.5 管理数据加载 373
  • 23.6 重复数据加载 373
  • 23.7 调整数据加载 374
  • 23.8 直接路径加载 375
  • 23.9 附加功能 377
  • 第24章 使用Data Pump Export和Dat...
  • 24.1 创建目录 380
  • 24.2 Data Pump Export选项 380
  • 24.3 启动 Data Pump Export作业 383
  • 24.3.1 停止和重新启动运行的作业 384
  • 24.3.2 从另一个数据库中导出 385
  • 24.3.3 使用EXCLUDE 、INCLUDE和QU...
  • 24.4 Data Pump Import选项 387
  • 24.5 启动 Data Pump Import作业 389
  • 24.5.1 停止和重新启动运行的作业 391
  • 24.5.2 EXCLUDE、INCLUDE和QUERY 391
  • 24.5.3 转换导入的对象 391
  • 24.5.4 生成SQL 392
  • 第25章 访问远程数据 395
  • 25.1 数据库链接 395
  • 25.1.1 数据库链接是如何工作的 396
  • 25.1.2 利用数据库链接进行远程查...
  • 25.1.3 对同义词和视图使用数据库...
  • 25.1.4 利用数据库链接进行远程更...
  • 25.1.5 数据库链接的语法 399
  • 25.2 为位置透明性使用同义词 402
  • 25.3 在视图中使用 User 伪列 403
  • 第26章 使用物化视图 405
  • 26.1 功能 406
  • 26.2 必需的系统权限 406
  • 26.3 必需的表权限 407
  • 26.4 只读物化视图与可更新的物化...
  • 26.5 创建物化视图的语法 408
  • 26.5.1 物化视图的类型 411
  • 26.5.2 基于RowID 和基于主键的物...
  • 26.5.3 使用预建表 412
  • 26.5.4 为物化视图表创建索引 412
  • 26.6 用物化视图更改查询执行路径 412
  • 26.7 使用 DBMS_ADVISOR 414
  • 26.8 刷新物化视图 416
  • 26.8.1 可执行何种刷新 417
  • 26.8.2 用CONSIDER FRESH快速刷新 420
  • 26.8.3 自动刷新 420
  • 26.8.4 人工刷新 421
  • 26.9 创建物化视图日志的语法 422
  • 26.10 更改物化视图和日志 423
  • 26.11 删除物化视图和日志 423
  • 第27章 使用Oracle Text进行文本搜...
  • 27.1 将文本添加到数据库中 426
  • 27.2 文本查询和文本索引 427
  • 27.2.1 文本查询 427
  • 27.2.2 可使用的文本查询表达式 428
  • 27.2.3 一个单词精确匹配的搜索 429
  • 27.2.4 多个单词精确匹配的搜索 429
  • 27.2.5 短语精确匹配的搜索 433
  • 27.2.6 搜索互相接近的单词 434
  • 27.2.7 在搜索中使用通配符 434
  • 27.2.8 搜索具有相同词根的单词 435
  • 27.2.9 模糊匹配搜索 436
  • 27.2.10 搜索发音相似的单词 437
  • 27.2.11 使用 ABOUT运算符 438
  • 27.2.12 索引同步 439
  • 27.3 索引集 439
  • 第28章 使用外部表 441
  • 28.1 访问外部数据 442
  • 28.2 创建外部表 443
  • 28.2.1 外部表创建选项 446
  • 28.2.2 创建时加载外部表 451
  • 28.3 更改外部表 452
  • 28.3.1 Access Parameters 子句 452
  • 28.3.2 Add Column 子句 452
  • 28.3.3 Default Directory 子句 452
  • 28.3.4 Drop Column 子句 452
  • 28.3.5 Location 子句 452
  • 28.3.6 Modify Column 子句 452
  • 28.3.7 Parallel 子句 453
  • 28.3.8 Project Column 子句 453
  • 28.3.9 Reject Limit 子句 453
  • 28.3.10 Rename To 子句 453
  • 28.4 外部表的优缺点和潜在用途 453
  • 第29章 使用闪回查询 455
  • 29.1 基于时间的闪回示例 456
  • 29.2 保存数据 457
  • 29.3 基于 SCN 的闪回示例 458
  • 29.4 闪回查询失败的后果 459
  • 29.5 什么 SCN 与每一行关联 460
  • 29.6 闪回版本查询 461
  • 29.7 闪回计划 463
  • 第30章 闪回:表和数据库 465
  • 30.1 flashback table 命令 465
  • 30.1.1 必需的权限 466
  • 30.1.2 恢复删除的表 466
  • 30.1.3 启用和禁用回收站 468
  • 30.1.4 闪回 SCN 或者时间戳 468
  • 30.1.5 索引和统计信息 469
  • 30.2 flashback database 命令 469
  • 第31章 SQL 重放 473
  • 31.1 高级别配置 473
  • 31.1.1 分离和连接 474
  • 31.1.2 创建工作负载目录 474
  • 31.2 捕获工作负载 475
  • 31.2.1 定义过滤器 475
  • 31.2.2 启动捕获 476
  • 31.2.3 停止捕获 477
  • 31.2.4 导出 AW R数据 477
  • 31.3 处理工作负载 477
  • 31.4 重放工作负载 478
  • 31.4.1 控制和启动重放客户 478
  • 31.4.2 初始化和运行重放 479
  • 31.4.3 导出 AW R数据 480
  • 第Ⅳ部分 PL/SQL 481
  • 第32章 PL/SQL 简介 483
  • 32.1 PL/SQL概述 483
  • 32.2 声明部分 484
  • 32.3 可执行命令部分 487
  • 32.3.1 条件逻辑 489
  • 32.3.2 循环 490
  • 32.3.3 CASE 语句 499
  • 32.4 异常处理部分 500
  • 第33章 应用程序在线升级 503
  • 33.1 高可用数据库 503
  • 33.1.1 Oracle Data Guard( 数据卫...
  • 33.1.2 创建备用数据库配置 506
  • 33.1.3 管理角色——切换和故障转...
  • 33.2 最小化 DDL变更的影响 510
  • 33.2.1 创建虚拟列 510
  • 33.2.2 改变正在使用的表 511
  • 33.2.3 添加 NOT NULL 列 512
  • 33.2.4 在线对象重新组织 512
  • 33.2.5 删除列 515
  • 第34章 触发器 517
  • 34.1 必需的系统权限 518
  • 34.2 必需的表权限 518
  • 34.3 触发器类型 518
  • 34.3.1 行级触发器 518
  • 34.3.2 语句级触发器 519
  • 34.3.3 BEFORE和AFTER触发器 519
  • 34.3.4 INSTEAD OF触发器 519
  • 34.3.5 模式触发器 520
  • 34.3.6 数据库级触发器 520
  • 34.3.7 复合触发器 520
  • 34.4 触发器语法 520
  • 34.4.1 DML 触发器类型的组合 522
  • 34.4.2 设置插入值 523
  • 34.4.3 维护复制的数据 524
  • 34.4.4 定制错误条件 525
  • 34.4.5 在触发器中调用过程 527
  • 34.4.6 命名触发器 527
  • 34.4.7 创建 DDL事件触发器 528
  • 34.4.8 创建数据库事件触发器 531
  • 34.4.9 创建复合触发器 532
  • 34.5 启用和禁用触发器 533
  • 34.6 替换触发器 534
  • 34.7 删除触发器 534
  • 第35章 过程、函数与程序包 535
  • 35.1 必需的系统权限 536
  • 35.2 必需的表权限 537
  • 35.3 过程与函数 538
  • 35.4 过程与程序包 538
  • 35.5 create procedure 语法 538
  • 35.6 create function 语法 540
  • 35.6.1 在过程中引用远程表 542
  • 35.6.2 调试过程 543
  • 35.6.3 创建自己的函数 544
  • 35.6.4 定制错误条件 546
  • 35.6.5 命名过程和函数 547
  • 35.7 create package 语法 547
  • 35.8 查看过程对象的源代码 550
  • 35.9 编译过程、函数和程序包 551
  • 35.10 替换过程、函数和程序包 552
  • 35.11 删除过程、函数和程序包 552
  • 第36章 使用本地动态SQL和DBMS_SQL...
  • 36.1 使用EXECUTE IMMEDIATE 553
  • 36.2 使用绑定变量 555
  • 36.3 使用 DBMS_SQL 556
  • 36.3.1 OPEN_CURSOR 557
  • 36.3.2 PARSE 557
  • 36.3.3 BIND_VARIABLE和BIND_ARRAY...
  • 36.3.4 EXECUTE 558
  • 36.3.5 DEFINE_COLUMN 558
  • 36.3.6 FETCH_ROWS 、EXECUTE_AND_...
  • 36.3.7 CLOSE_CURSOR 559
  • 第37章 PL/SQL 调整 561
  • 37.1 调整 SQL 561
  • 37.2 调整 PL/SQL 的步骤 562
  • 37.3 使用DBMS_PROFILE识别问题 563
  • 37.4 将PL/SQL 特性用于批量操作 568
  • 37.4.1 forall 操作 568
  • 37.4.2 bulk collect操作 571
  • 第Ⅴ部分 对象关系数据库 573
  • 第38章 实现对象类型、对象视图和...
  • 38.1 使用对象类型 575
  • 38.1.1 对象类型的安全性 576
  • 38.1.2 索引对象类型属性 579
  • 38.2 实现对象视图 581
  • 38.2.1 通过对象视图操作数据 583
  • 38.2.2 使用INSTEAD OF 触发器 584
  • 38.3 方法 586
  • 38.3.1 创建方法的语法 586
  • 38.3.2 管理方法 588
  • 第39章 收集器(嵌套表和可变数组) 589
  • 39.1 可变数组 589
  • 39.1.1 创建可变数组 590
  • 39.1.2 描述可变数组 590
  • 39.1.3 向可变数组中插入记录 592
  • 39.1.4 从可变数组中选择数据 593
  • 39.2 嵌套表 596
  • 39.2.1 指定嵌套表的表空间 597
  • 39.2.2 向嵌套表中插入记录 597
  • 39.2.3 操作嵌套表 598
  • 39.3 嵌套表与可变数组的附加函数 600
  • 39.4 嵌套表和可变数组的管理问题 601
  • 39.4.1 收集器的可变性 601
  • 39.4.2 数据的位置 602
  • 第40章 使用大对象 603
  • 40.1 可用的数据类型 603
  • 40.2 为LOB 数据指定存储参数 605
  • 40.3 LOB 值的操作和选择 607
  • 40.3.1 初始化值 608
  • 40.3.2 用子查询插入数据 610
  • 40.3.3 更新LOB值 610
  • 40.3.4 使用串函数处理LOB 值 611
  • 40.3.5 使用DBMS_LOB操作LOB 值 612
  • 40.3.6 删除LOB 628
  • 第41章 面向对象的高级概念 629
  • 41.1 行对象和列对象 630
  • 41.2 对象表和 OID 630
  • 41.2.1 把行插入对象表 631
  • 41.2.2 从对象表中选择值 632
  • 41.2.3 从对象表中更新和删除数据 632
  • 41.2.4 REF 函数 633
  • 41.2.5 使用DEREF函数 633
  • 41.2.6 VALUE 函数 636
  • 41.2.7 无效引用 637
  • 41.3 具有 REF 的对象视图 637
  • 41.3.1 对象视图的简要回顾 637
  • 41.3.2 包含引用的对象视图 638
  • 41.4 对象 PL/SQL 641
  • 41.5 数据库中的对象 643
  • 第Ⅵ部分 Oracle 中的Java 645
  • 第42章 Java简介 647
  • 42.1 Java 与PL/SQL 概述 648
  • 42.2 开始 648
  • 42.3 声明 649
  • 42.4 可执行命令 649
  • 42.4.1 条件逻辑 651
  • 42.4.2 循环 654
  • 42.4.3 异常处理 656
  • 42.4.4 保留字 657
  • 42.5 类 657
  • 第43章 JDBC 程序设计 663
  • 43.1 使用 JDBC 类 664
  • 43.2 使用 JDBC 进行数据操作 667
  • 第44章 Java存储过程 671
  • 44.1 将类加载到数据库中 673
  • 44.2 如何访问类 677
  • 44.2.1 直接调用Java 存储过程 679
  • 44.2.2 在何处执行命令 680
  • 第Ⅶ部分 指 南 681
  • 第45章 Oracle 数据字典指南 683
  • 45.1 关于名称的说明 684
  • 45.2 Oracle Database 11g中引入的...
  • 45.3 路线图:DICTIONARY(DICT)和D...
  • 45.4 从表、列、视图、同义词和序...
  • 45.4.1 目录:USER_CATALOG(CAT) 689
  • 45.4.2 对象:USER_OBJECTS(OBJ) 690
  • 45.4.3 表:USER_TABLES(TABS) 691
  • 45.4.4 列:USER_TAB_COLUMNS(COLS...
  • 45.4.5 视图:USER_VIEWS 694
  • 45.4.6 同义词:USER_SYNONYMS(SYN...
  • 45.4.7 序列:USER_SEQUENCES(SEQ)...
  • 45.5 回收站:USER_RECYCLEBIN和DB...
  • 45.6 约束和注释 697
  • 45.6.1 约束:USER_CONSTRAINTS 698
  • 45.6.2 约束列:USER_CONS_COLUMNS...
  • 45.6.3 约束异常:EXCEPTIONS 700
  • 45.6.4 表注释:USER_TAB_COMMENTS...
  • 45.6.5 列注释:USER_COL_COMMENTS...
  • 45.7 索引和群集 702
  • 45.7.1 索引:USER_INDEXES(IND) 702
  • 45.7.2 索引列:USER_IND_COLUMNS 704
  • 45.7.3 群集:USER_CLUSTERS(CLU) 705
  • 45.7.4 群集列:USER_CLU_COLUMNS 705
  • 45.8 抽象数据类型和 LOB 706
  • 45.8.1 抽象数据类型:USER_TYPES 706
  • 45.8.2 LOB :USER_LOBS 708
  • 45.9 数据库链接和物化视图 709
  • 45.9.1 数据库链接:USER_DB_LINKS...
  • 45.9.2 物化视图 709
  • 45.9.3 物化视图日志:USER_MVIEW_...
  • 45.10 触发器、过程、函数和程序包...
  • 45.10.1 触发器:USER_TRIGGERS 712
  • 45.10.2 过程、函数和程序包:USER...
  • 45.11 维度 714
  • 45.12 包括分区和子分区的空间分配...
  • 45.12.1 表空间:USER_TABLESPACES...
  • 45.12.2 空间限额:USER_TS_ QUOTA...
  • 45.12.3 段和区:USER_SEGMENTS和U...
  • 45.12.4 分区和子分区 717
  • 45.12.5 可用空间:USER_FREE_SPAC...
  • 45.13 用户和权限 719
  • 45.13.1 用户:USER_USERS 719
  • 45.13.2 资源限制:USER_RESOURCE_...
  • 45.13.3 表的权限:USER_TAB_PRIVS...
  • 45.13.4 列权限:USER_COL_PRIVS 720
  • 45.13.5 系统权限:USER_SYS_PRIVS...
  • 45.14 角色 721
  • 45.15 审计 722
  • 45.16 其他视图 723
  • 45.17 监控:V$动态性能表 723
  • 45.17.1 CHAINED_ROWS 723
  • 45.17.2 PLAN_TABLE 724
  • 45.17.3 相互依赖性:USER_DEPENDE...
  • 45.17.4 只属于DBA的视图 724
  • 45.17.5 Oracle Label Security 724
  • 45.17.6 SQL*Loader直接加载视图 725
  • 45.17.7 全球支持视图 725
  • 45.17.8 库 725
  • 45.17.9 异构服务 725
  • 45.17.10 索引类型和运算符 725
  • 45.17.11 概要 726
  • 45.17.12 顾问程序 726
  • 45.17.13 调度程序 726
  • 第46章 应用程序和 SQL 调整指南 727
  • 46.1 Oracle Database 11g新增的调...
  • 46.2 Oracle 11g新增的调整特性 728
  • 46.3 调整——最优方法 729
  • 46.3.1 尽可能少做 730
  • 46.3.2 尽可能简单地完成 732
  • 46.3.3 告诉数据库需要知道什么 733
  • 46.3.4 最大化环境中的吞吐量 734
  • 46.3.5 分开处理数据 735
  • 46.3.6 正确测试 736
  • 46.4 生成并读取说明计划(explain ...
  • 46.4.1 使用set autotrace on 738
  • 46.4.2 使用explain plan 742
  • 46.5 Explain Plan 中的主要操作 743
  • 46.5.1 TABLE ACCESS FULL 743
  • 46.5.2 TABLE ACCESS BY INDEX ROW...
  • 46.5.3 相关提示 744
  • 46.5.4 使用索引的操作 744
  • 46.5.5 何时使用索引 746
  • 46.5.6 操纵数据集的操作 751
  • 46.5.7 执行连接的操作 757
  • 46.5.8 Oracle如何处理两个以上表...
  • 46.5.9 并行化和缓存问题 764
  • 46.6 实现存储概要 764
  • 46.7 小结 766
  • 第47章 SQL 结果缓存和客户端查询...
  • 47.1 SQL 结果缓存的数据库参数设...
  • 47.2 DBMS_RESULT_CACHE程序包 775
  • 47.3 SQL 结果缓存的字典视图 776
  • 47.4 SQL 结果缓存的更多细节 777
  • 47.5 Oracle 调用接口(OCI) 客户端...
  • 47.6 Oracle 调用接口(OCI) 客户端...
  • 第48章 关于调整的示例分析 779
  • 48.1 示例分析1 :等待、等待、再...
  • 48.2 示例分析2 :破坏应用程序的...
  • 48.3 示例分析3 :长期运行的批处...
  • 第49章 高级体系结构选项——DB保...
  • 49.1 Oracle 数据库保险库 790
  • 49.1.1 Oracle数据库保险库的新概...
  • 49.1.2 禁用Oracle 数据库保险库 791
  • 49.1.3 启用Oracle 数据库保险库 792
  • 49.1.4 数据库保险库安装的注意事...
  • 49.2 Oracle 内容数据库套件 796
  • 49.2.1 存储库 796
  • 49.2.2 文档管理 797
  • 49.2.3 用户安全性 797
  • 49.3 Oracle 记录数据库 798
  • 第50章 Oracle 实时应用群集 801
  • 50.1 安装前的准备 802
  • 50.2 安装 RAC 802
  • 50.2.1 存储 803
  • 50.2.2 初始化参数 803
  • 50.3 启动和停止 RAC实例 805
  • 50.4 透明应用程序故障切换 807
  • 50.5 为群集添加节点和实例 808
  • 第51章 数据库管理指南 811
  • 51.1 创建数据库 812
  • 51.2 启动和停止数据库 813
  • 51.3 设置和管理内存区域大小 814
  • 51.4 分配和管理对象的空间 816
  • 51.4.1 存储子句的含义 817
  • 51.4.2 表段 818
  • 51.4.3 索引段 819
  • 51.4.4 系统管理的撤消 819
  • 51.4.5 临时段 820
  • 51.4.6 可用空间 821
  • 51.4.7 设置数据库对象的大小 822
  • 51.5 监控撤消表空间 824
  • 51.6 自动存储管理 824
  • 51.7 段空间管理 825
  • 51.8 移动表空间 826
  • 51.8.1 生成可移动表空间集 826
  • 51.8.2 插入可移动表空间集 827
  • 51.9 进行备份 828
  • 51.9.1 Data Pump Export 和Data P...
  • 51.9.2 脱机备份 829
  • 51.9.3 联机备份 830
  • 51.9.4 Recovery Manager 833
  • 51.10 展望 834
  • 第52章 Oracle 中的 XML指南 835
  • 52.1 文档类型定义、元素及属性 836
  • 52.2 XML 模式 839
  • 52.3 使用XSU选择、插入、更新和删...
  • 52.3.1 使用XSU 进行插入、更新和...
  • 52.3.2 XSU 和Java 844
  • 52.3.3 定制查询过程 845
  • 52.4 使用 XMLType 846
  • 52.5 其他功能 848
  • 第Ⅷ部分 附 录 849
  • 附录A 命令和术语参考 851