CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 该资料是《Oracle Database 11g完全参考手册》的源代码 对应的书籍资料见: Oracle Database 11g完全参考手册:http://download.csdn.net/detail/fksec/5049822 特别说明:该版本是目前网络上最全的版本:修正了所有缺页和错页的问题。 基本信息 原书名: Oracle Database 11g The Complete Reference 原出版社: McGraw-Hill Osborne Media 作者: (美)Kevin Loney 译者: 刘伟琴 张格仙 出版社:清华大学出版社 ISBN:9787302221920 上架时间:2010-5-26 出版日期:2010 年6月 开本:16开 页码:1240 版次:1-1 内容简介 本书全面详细地介绍了Oracle Database 11g的强大功能,阐述了如何使用所有新增功能和工具,如何执行功能强大的SQL查询,如何编写PL/SQL和SQL*Plus语句,如何使用大对象和对象-关系数据库。通过学习本书,您可以了解如何实现最新的安全措施,如何调优数据库性能,如何部署网格计算技术。附录部分内容丰富、便于参照,包括Oracle命令、关键字、功能以及函数等。 作译者 作者 Kevin Loney是Oracle数据库设计、开发、管理和调整方面的国际知名专家。作为金融界的一名企业数据库架构师,2002年他被Oracle Magazine提名为年度顾问。他的畅销书包括《Oracle Database 11g DBA手册》、Oracle Advanced Tuning and Administration和Oracle SQL&PL;/SQL Annotated Archives。他也为业界的多种杂志撰写了很多技术文章。他经常以贵宾身份出席在北美和欧洲举办的Oracle用户大会。 目录 封面 -19 封底 -18 书名 -17 版权 -16 致谢 -15 目录 -13 第Ⅰ部分 关键的数据库概念 1 第1章 Oracle Database 11g 体系结构 3 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 和创建数据库 11 2.1 许可证和安装选项 13 2.2 使用 OUI 安装 Oracle 软件 13 第3章 升级到 Oracle Database 11g 19 3.1 选择升级方法 20 3.2 升级之前的准备 21 3.3 运行升级前信息工具(Pre-Upgrade Information Tool) 22 3.4 使用数据库升级助手(DBUA) 23 3.5 执行手动直接升级 23 3.6 使用 Export 与Import 24 3.6.1 使用哪个 Export 和Import 版本 24 3.6.2 进行升级 25 3.7 使用数据复制法 25 3.8 升级完成之后的工作 26 第4章 规划Oracle 应用程序——方法、风险和标准 27 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 by 67 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子句中使用串函数 127 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、TANH、ACOS、ATAN、ATAN2 和ASIN 153 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章 日期:过去、现在及日期的差 165 10.1 日期算法 165 10.1.1 SYSDATE 、CURRENT_DATE及SYSTIMESTAMP 166 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设置日期格式 173 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章 当一个查询依赖于另一个查询时 209 13.1 高级子查询 209 13.1.1 相关子查询 210 13.1.2 并列的逻辑测试 211 13.1.3 EXISTS 及其相关子查询的使用 213 13.2 外部连接 214 13.2.1 Oracle 9i以前版本中的外部连接的语法 215 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的限制 224 第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章 更改数据:插入﹑更新﹑合并和删除 239 15.1 插入 240 15.1.1 插入时间 240 15.1.2 用select 插入 241 15.1.3 使用APPEND 提示改善插入性能 242 15.2 rollback、commit和autocommit命令 243 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-then-else 259 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章 创建和管理表、视图、索引、群集和序列 275 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移动到另一个用户 322 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权限 331 19.2.15 撤消对象权限 331 19.2.16 用户安全性 332 19.2.17 给公众授予访问权 333 19.3 有限资源的授权 334 第Ⅲ部分 高 级 主 题 335 第20章 高级安全性——虚拟专用数据库 337 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 将应用程序表与核心对象分开 363 第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和Data Pump Import 379 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和QUERY 385 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 利用数据库链接进行远程查询 396 25.1.3 对同义词和视图使用数据库链接 397 25.1.4 利用数据库链接进行远程更新 398 25.1.5 数据库链接的语法 399 25.2 为位置透明性使用同义词 402 25.3 在视图中使用 User 伪列 403 第26章 使用物化视图 405 26.1 功能 406 26.2 必需的系统权限 406 26.3 必需的表权限 407 26.4 只读物化视图与可更新的物化视图 407 26.5 创建物化视图的语法 408 26.5.1 物化视图的类型 411 26.5.2 基于RowID 和基于主键的物化视图 411 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进行文本搜索 425 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( 数据卫士)体系结构 504 33.1.2 创建备用数据库配置 506 33.1.3 管理角色——切换和故障转移 507 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 553 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 558 36.3.4 EXECUTE 558 36.3.5 DEFINE_COLUMN 558 36.3.6 FETCH_ROWS 、EXECUTE_AND_FETCH和COLUMN_VALUE 559 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章 实现对象类型、对象视图和方法 575 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中引入的新视图 684 45.3 路线图:DICTIONARY(DICT)和DICT_COLUMNS 688 45.4 从表、列、视图、同义词和序列中选择 689 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) 693 45.4.5 视图:USER_VIEWS 694 45.4.6 同义词:USER_SYNONYMS(SYN) 696 45.4.7 序列:USER_SEQUENCES(SEQ) 697 45.5 回收站:USER_RECYCLEBIN和DBA_RECYCLEBIN 697 45.6 约束和注释 697 45.6.1 约束:USER_CONSTRAINTS 698 45.6.2 约束列:USER_CONS_COLUMNS 699 45.6.3 约束异常:EXCEPTIONS 700 45.6.4 表注释:USER_TAB_COMMENTS 700 45.6.5 列注释:USER_COL_COMMENTS 701 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 709 45.9.2 物化视图 709 45.9.3 物化视图日志:USER_MVIEW_LOGS 711 45.10 触发器、过程、函数和程序包 711 45.10.1 触发器:USER_TRIGGERS 712 45.10.2 过程、函数和程序包:USER_SOURCE 712 45.11 维度 714 45.12 包括分区和子分区的空间分配和使用情况 715 45.12.1 表空间:USER_TABLESPACES 715 45.12.2 空间限额:USER_TS_ QUOTAS 715 45.12.3 段和区:USER_SEGMENTS和USER_EXTENTS 716 45.12.4 分区和子分区 717 45.12.5 可用空间:USER_FREE_SPACE 719 45.13 用户和权限 719 45.13.1 用户:USER_USERS 719 45.13.2 资源限制:USER_RESOURCE_LIMITS 719 45.13.3 表的权限:USER_TAB_PRIVS 720 45.13.4 列权限:USER_COL_PRIVS 720 45.13.5 系统权限:USER_SYS_PRIVS 721 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_DEPENDENCIES和IDEPTREE 724 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新增的调整功能 728 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 plan) 738 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 ROWID 744 46.5.3 相关提示 744 46.5.4 使用索引的操作 744 46.5.5 何时使用索引 746 46.5.6 操纵数据集的操作 751 46.5.7 执行连接的操作 757 46.5.8 Oracle如何处理两个以上表的连接 758 46.5.9 并行化和缓存问题 764 46.6 实现存储概要 764 46.7 小结 766 第47章 SQL 结果缓存和客户端查询缓存 767 47.1 SQL 结果缓存的数据库参数设置 774 47.2 DBMS_RESULT_CACHE程序包 775 47.3 SQL 结果缓存的字典视图 776 47.4 SQL 结果缓存的更多细节 777 47.5 Oracle 调用接口(OCI) 客户端查询缓存 777 47.6 Oracle 调用接口(OCI) 客户端查询缓存的限制 778 第48章 关于调整的示例分析 779 48.1 示例分析1 :等待、等待、再等待 779 48.2 示例分析2 :破坏应用程序的查询 782 48.3 示例分析3 :长期运行的批处理作业 786 第49章 高级体系结构选项——DB保险库、内容DB和记录DB 789 49.1 Oracle 数据库保险库 790 49.1.1 Oracle数据库保险库的新概念 790 49.1.2 禁用Oracle 数据库保险库 791 49.1.3 启用Oracle 数据库保险库 792 49.1.4 数据库保险库安装的注意事项 793 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 Pump Import 828 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选择、插入、更新和删除XML值 841 52.3.1 使用XSU 进行插入、更新和删除 843 52.3.2 XSU 和Java 844 52.3.3 定制查询过程 845 52.4 使用 XMLType 846 52.5 其他功能 848 第Ⅷ部分 附 录 849 附录A 命令和术语参考 851
(Street VARCHAR2(50),
City VARCHAR2(25),
State CHAR(2),
Zip NUMBER);
/
create or replace type ANIMAL_TY as object
(Breed VARCHAR2(25),
Name VARCHAR2(25),
BirthDate DATE,
member function AGE (BirthDate IN DATE) return NUMBER);
/
create or replace type body ANIMAL_TY as
member function Age (BirthDate DATE) return NUMBER is
begin
RETURN ROUND(SysDate - BirthDate);
end;
end;
/
rem For the Nested Table examples:
create type ANIMALS_NT as table of ANIMAL_TY;
/
rem Requires that the ADDRESS_TY type already exist.
create type PERSON_TY as object
(Name VARCHAR2(25),
/
rem Creates a varying array datatype.
create or replace type TOOLS_VA as varray(5) of VARCHAR2(25);
/
drop table ADDRESS;
create table ADDRESS (
LastName VARCHAR2(25),
FirstName VARCHAR2(25),
Street VARCHAR2(50),
City VARCHAR2(25),
State CHAR(2),
Zip NUMBER,
Phone VARCHAR2(12),
Ext VARCHAR2(5)
);
insert into ADDRESS values ('BAILEY', 'WILLIAM',
null,null,null,null,'213-555-0223',null);
insert into ADDRESS values ('ADAMS', 'JACK',
null,null,null,null,'415-555-7530',null);
insert into ADDRESS values ('SEP', 'FELICIA',
null,null,null,null,'214-555-8383',null);
insert into ADDRESS values ('DE MEDICI', 'LEFTY',
null,null,null,null,'312-555-1166',null);
insert into ADDRESS values ('DEMIURGE', 'FRANK',
null,null,null,null,'707-555-8900',null);
剩余34页未读,继续阅读
- 粉丝: 156
- 资源: 104
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
- 1
- 2
- 3
前往页