自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(0)
  • 资源 (21)
  • 收藏
  • 关注

空空如也

IDM_6.3x_Crack_v16.3(IDM) 破解版

Internet Download Manager,简称 IDM,是国外的一款优秀下载工具。目前凭借着下载计算的速度优势在外媒网站中均受好评,现在已被多数国人熟知。Internet Download Manager 提升你的下载速度最多达5倍,安排下载时程,带有续传功能,可以恢复因为断线、网络问题、计算机当机甚至无预警的停电导致下传到一半的资料。

2019-02-28

Java语言程序设计--清华大学出版社--郑莉

Java语言程序设计--清华大学出版社--郑莉

2017-02-20

百分百ddos源码

百分百ddos就是用这款软件改版的了,源码附上 禁止商用

2017-02-07

Oracle专家高级编程--详细书签版

带有详细书签的电子书籍目录 Oracle专家高级编程 基本信息 原书名: expert one-on-one Oracle 原出版社: Wrox Press 作者: (美)Thomas Kyte 译者: 袁勤勇 张玉魁等 丛书名: 清华版WROX公司.NET和Oracle编程经典系列 出版社:清华大学出版社 ISBN:7302053340 上架时间:2002-5-20 出版日期:2002 年4月 页码:1276 版次:1-1 所属分类: 计算机 > 数据库 > Oracle 内容简介    本书是一本关于使用Oracle成功开发应用程序的工具手册,由Oracle公司的资深开发人员Thomas Kyte集自己多年开发经验编写。学习本书能帮助读者彻底理解Oracle的工作原理,并将Oracle作为一个强大的计算环境来使用,书中内容可以迅速解决大多数信息管理问题。书中选择了最重要的特性和技术,并结合实际范例进行讲解,不仅阐述了这些特性,而且还讨论了如何使用它们开发软件,并指出了潜在的缺陷。    本书内容包括Oracle数据库的基本概念;Oracle数据库结构和实用程序;Oracle数据库性能优化;高级SQL特性;用interMedia、基于C的外部过程、Java存储过程和对象关系特性实现Oracle数据库功能的扩展;Oracle数据库安全管理的实现方式等。    本书适用于使用Oracle进行数据库开发的人员,包括有经验的Oracle开发人员、DBA、Oracle项目管理人员等。    作译者 本书提供作译者介绍    我是Tom Kyte。从Oracle 7.0.9版,即1993年起,我一直为Oracle公司工作。实际上从Oracle 5.1.5c版(在360KB软盘的单用户DOS版,价值99$)起,我一直使用Oracle。在进入Oracle公司之前,我已经做了6年的系统集成员,主要工作是构建大型的异构数据库和应用程序,大量的客户来自军事和政府部门。现在,我把大量的时间花费在Oracle数据库上,更明确地说,就是帮助使用Oracle数据库的人们。我直接与客户打交道,描述并构建他们的系统,更频繁的是帮助他们重建或优化数据库(“优化”经常是“重建”的同义词).此外,我是Oracle杂志的“AskTom”栏目背后的Tom,回答用户有关Oracle数据库和工具的问题.通常在一天内,我在http//asktom.0Oacle.0com上回答30到40个问题.每两个月,我在杂志上发表“最佳问题”.当然,所有问题都存储在Oacle数据库中,在Oracle站点上都能得到.我把时间主要都花费在帮助用户成功地使用Oracle数据库上.在我的空闲时间里,我在Oracle公司内部构建应用程序,开发软件.    本书是我每天工作的结晶.本书的内容涵盖了我所见的人们每天都可能遇到的主题和问题,并从“当我使用它时,我将以下面的方式进行”的角度讨论这些问题.本书是多年来在无数不同的情况下使用Oracle产品的经验的结晶. Thomas Kyte是Oracle公司核心技术集团的副总裁,从Oracle 7.0.9版本开始就一直任职于Oracle公司,不过,其实他从5.1.5c版本就开始使用Oracle了。 在Oracle公司,Kyte专门负责Oracle数据库,他的任务是帮助使用Oracle数据库的客户,并与他们共同设计和构建系统,或者对系统进行重构和调优。在进入Oracle公司之前,Kyte是一名系统集成人员,主要为美国军方和政府部门的客户构建大规模、异构数据库。 Thomas Kyte就是主持Oracle Magazine Ask Tom专栏和Oracle公司同名在线论坛的那个Tom,他通过这一方式热心地回答困扰着Oracle开发人员和DBA的各种问题。 目录 封面 -31 封底 -30 书名 -29 版权 -28 出版者的话 -27 前言 -26 序言 -19 目录 -13 第1章 开发成功的Oracle应用程序 1 1.1 我的方法 2 1.2 黑盒子方法 3 1.3 如何开发(如何妨碍开发)数据库应用程序 5 1.3.1 理解Oracle的体系结构 6 1.3.2 理解并行控制 10 1.3.3 与数据库无关 17 1.3.4 如何使它运行更快 27 1.3.5 数据库管理员与开发人员之间的关系 28 1.4 小结 29 第2章 体系结构 30 2.1 服务器 30 2.2 文件 36 2.2.1 参数文件 37 2.2.2 数据文件 39 2.2.3 临时文件 41 2.2.4 控制文件 42 2.2.5 重做日志文件 42 2.2.6 文件总结 46 2.3 内存结构 46 2.3.1 PGA和UGA 46 2.3.2 SGA 51 2.3.3 内存结构总结 60 2.4 进程 61 2.4.1 服务器进程 61 2.4.2 后台进程 65 2.4.3 从属进程 72 2.5 小结 73 第3章 封锁和并行性 74 3.1 锁定 74 3.2 封锁问题 76 3.2.1 丢失更新 76 3.2.2 阻塞 79 3.2.3 死锁 80 3.2.4 锁定扩大 84 3.3 锁定类型 84 3.3.1 DML锁定 85 3.3.2 DDL锁定 91 3.3.3 锁存器和内部锁定(入队) 94 3.3.4 手动封锁和用户自定义锁定 95 3.4 什么是并行控制 96 3.4.1 事务隔离等级 96 3.4.2 READ UNCOMMITTED隔离等级 97 3.4.3 READ COMMITTED隔离等级 99 3.4.4 REPEATABLE READ隔离等级 100 3.4.5 SERIALIZABLE隔离等级 103 3.4.6 只读事务 104 3.5 小结 105 第4章 事务 106 4.1 事务控制语句 106 4.2 完整性约束和事务 111 4.3 处理事务的不良习惯 114 4.4 分布式事务 119 4.5 重做和回滚 121 4.6 小结 124 第5章 重做和回滚 125 5.1 重做 125 5.1.1 COMMIT 126 5.1.2 回滚 131 5.1.3 产生多少重做 132 5.1.4 能够不让重做日志产生吗 142 5.1.5 不能分配一个新日志 145 5.1.6 块清除 146 5.1.7 日志竞争 149 5.1.8 临时表和重做/回滚 151 5.1.9 分析重做 153 5.2 回滚 154 5.2.1 什么产生最多/最少的撤消 154 5.2.2 SET TRANSACTION 154 5.2.3 “ORA-01555:Snapshot too old” 155 5.3 小结 164 第6章 数据库表 166 6.1 表的类型 166 6.2 术语 167 6.2.1 高水标记 167 6.2.2 自由列表 168 6.2.3 PCTFREE 和PCTUSED 170 6.2.4 INITIAL, NEXT和PCTINCREASE 176 6.2.5 MINEXTENTS 和 MAXEXTENTS 177 6.2.6 LOGGING 和 NOLOGGING 177 6.2.7 INITRANS 和MAXTRANS 177 6.3 堆组织表 177 6.4 索引组织表 181 6.5 索引组织表总结 194 6.6 索引聚簇表 194 6.7 索引聚簇表总结 201 6.8 散列聚簇表 201 6.9 散列聚簇总结 210 6.10 嵌套表 211 6.10.1 嵌套表语法 211 6.10.2 嵌套表存储 219 6.11 嵌套表总结 222 6.12 临时表 222 6.13 对象表 230 6.14 对象表总结 238 6.15 小结 238 第7章 索引 239 7.1 Oracle索引概述 239 7.2 B*Tree 索引 240 7.2.1 反向码索引 244 7.2.2 降序索引 245 7.2.3 应该在何时使用 B*Tree 索引 247 7.3 B*Trees 总结 254 7.4 位图索引 254 7.5 位图索引总结 257 7.6 基于函数的索引 257 7.6.1 重要的实现细节 257 7.6.2 基于函数索引的例子 258 7.6.3 警告 266 7.7 基于函数的索引总结 267 7.8 应用程序域索引 267 7.9 应用程序域索引总结 268 7.10 关于索引常见问题解答 268 7.10.1 索引能在视图中使用吗 269 7.10.2 索引和空 269 7.10.3 外码上的索引 272 7.10.4 为什么索引没有使用 273 7.10.5 索引使用了吗 278 7.10.6 神话:在索引中空间从来不会重用 278 7.10.7 神话:大部分有差别的元素应该在前边 281 7.11 小结 285 第8章 导入和导出 286 8.1 例子 286 8.2 为什么可以使用IMP 和EXP 287 8.2.1 检测冲突 288 8.2.2 抽取 DDL 288 8.2.3 克隆模式 288 8.2.4 传输表空间 288 8.2.5 重构实例 289 8.2.6 在平台之间复制数据 289 8.3 IMP/EXP的工作原理 289 8.3.1 选项 289 8.3.2 大量导出 293 8.3.3 数据子集 297 8.3.4 数据传输 297 8.3.5 获得DDL 303 8.3.6 备份和恢复 309 8.3.7 IMP/EXP不(再)是一个重新组织工具 310 8.3.8 导入到不同结构 310 8.3.9 直接路径导出 315 8.4 警告和错误 315 8.4.1 克隆 315 8.4.2 跨版本使用IMP/EXP 323 8.4.3 索引哪里去了 324 8.4.4 命名与默认名的约束 326 8.4.5 NLS问题 330 8.4.6 表跨越多个表空间 332 8.5 小结 336 第9章 数据装载 337 9.1 SQL*LOADER简介 337 9.2 如何装载 343 9.2.1 装载定界数据 343 9.2.2 装载固定格式的数据 346 9.2.3 装载日期 348 9.2.4 利用序列和其他函数装载数据 349 9.2.5 更新现有的行和插入新的行 355 9.2.6 装载报表类型的输入数据 357 9.2.7 装载一个文件到一个长RAW或长字段中 360 9.2.8 装载嵌入换行符的数据 361 9.2.9 卸载数据 371 9.2.10 装载LOB 382 9.2.11 用SQLLDR装载VARRAYS/嵌套表 392 9.2.12 在存储过程中调用SQLLDR 395 9.3 警告 399 9.3.1 不能选择欲使用的回滚段 399 9.3.2 TRUNCATE的不同作用 400 9.3.3 SQLLDR 默认为 CHAR(255) 400 9.3.4 命令行取代控制文件 400 9.4 小结 400 第10章 优化策略与工具 401 10.1 标识问题 401 10.2 我的方法 402 10.3 绑定变量与分析 407 10.4 绑定变量与分析总结 423 10.5 SQL_TRACE、TIMED_STATISTICS与TKPROF 423 10.5.1 设置跟踪 424 10.5.2 使用并解释TKPROF输出 426 10.5.3 使用并说明原始跟踪文件 435 10.6 SQL_TRACE、TIMED_STATISTICS与TKPROF总结 446 10.7 DBMS_PROFILER 447 10.8 说明 447 10.9 StatsPack 449 10.9.1 安装StatsPack 449 10.9.2 StatsPack 总结 467 10.10 V$ 表 467 10.10.1 V$EVENT_NAME 467 10.10.2 V$FILESTAT和V$TEMPSTAT 468 10.10.3 V$LOCK 468 10.10.4 V$MYSTAT 468 10.10.5 V$OPEN_CURSOR 469 10.10.6 V$PARAMETER 471 10.10.7 V$SESSION 471 10.10.8 V$SESSION_EVENT 474 10.10.9 V$SESSION_LONGOPS 474 10.10.10 V$SESSION_WAIT 474 10.10.11 V$SESSTAT 474 10.10.12 V$SESS_IO 474 10.10.13 V$SQL, V$SQLAREA 474 10.10.14 V$STATNAME 475 10.10.15 V$SYSSTAT 475 10.10.16 V$SYSTEM_EVENT 475 10.11 小结 475 第11章 优化器方案稳定性 476 11.1 概述 476 11.2 优化器方案稳定性的使用 479 11.2.1 实现优化的方法 480 11.2.2 开发工具 484 11.2.3 查看所使用的索引 486 11.2.4 查看应用程序执行的是什么SQL语句 486 11.3 优化器方案稳定性是如何工作的 486 11.4 创建存储大纲 489 11.4.1 存储大纲需要具备的权限 489 11.4.2 使用DDL 489 11.4.3 使用ALTER SESSION 490 11.5 OUTLN用户 491 11.6 在数据库之间移动大纲 492 11.7 得到正确的大纲 492 11.8 管理大纲 495 11.8.1 通过DDL管理大纲 495 11.8.2 OUTLN_PKG程序包 498 11.9 警告 501 11.9.1 大纲表的命名和使用场合 501 11.9.2 ALTER SESSION的问题 503 11.9.3 Drop User不删除大纲 503 11.9.4 “CURSOR_SHARING = FORCE”与大纲 503 11.9.5 大纲使用简单的文本匹配 504 11.9.6 默认情况下大纲在SYSTEM 表空间中 505 11.9.7 OR扩展 505 11.9.8 性能 506 11.9.9 大纲的名称空间是全局变量 510 11.10 可能遇到的错误 511 11.11 小结 512 第12章 分析函数 513 12.1 范例 513 12.2 分析函数是如何工作的 517 12.2.1 语法 517 12.2.2 分析函数 531 12.3 范例 533 12.3.1 前N个记录的查询 534 12.3.2 Pivot(行列转换)查询 544 12.3.3 访问当前行周围的行 552 12.4 警告 556 12.4.1 PL/SQL与分析函数 556 12.4.2 Where子句中的分析函数 558 12.4.3 NULL与排序 559 12.4.4 性能 561 12.5 小结 561 第13章 物化视图 562 13.1 简短历史 562 13.2 运行范例需要什么 563 13.3 例子 563 13.4 物化视图的使用 570 13.5 物化视图如何工作 571 13.5.1 设置 571 13.5.2 内部机制 572 13.6 确保视图可以使用 574 13.6.1 约束 574 13.6.2 维数 579 13.7 DBMS_OLAP 588 13.7.1 估计大小 589 13.7.2 维的验证 590 13.7.3 推荐物化视图 592 13.8 警告 594 13.8.1 物化视图不是为OLTP系统设计的 594 13.8.2 查询重写的完整性 595 13.9 小结 595 第14章 分区 596 14.1 分区的使用 596 14.1.1 提高可用性 596 14.1.2 减轻管理负担 598 14.1.3 增强DML和查询的性能 599 14.2 分区如何工作 601 14.2.1 表分区模式 601 14.2.2 分区索引 606 14.3 小结 625 第15章 自治事务 626 15.1 范例 626 15.2 为什么使用自治事务 628 15.2.1 不能回滚的审计 628 15.2.2 避免出现变异表的方法 631 15.2.3 在触发器中执行DDL语句 633 15.2.4 写入数据库 638 15.2.5 开发更多的模块化代码 647 15.3 它自治事务如何工作 648 15.3.1 事务控制 648 15.3.2 作用范围 650 15.3.3 结束自治事务 656 15.3.4 保存点 657 15.4 警告 659 15.4.1 非分布式事务 659 15.4.2 只有PL/SQL 659 15.4.3 整个事务回滚 659 15.4.4 事务级临时表 662 15.4.5 变异表 663 15.5 可能遇到的错误 665 15.6 小结 666 第16章 动态SQL 668 16.1 动态SQL与静态SQL 668 16.2 为什么使用动态SQL 670 16.3 如何使用动态SQL 672 16.3.1 DBMS_SQL 672 16.3.2 本地动态SQL 679 16.3.3 DBMS_SQL与本地动态SQL 683 16.4 警告 707 16.4.1 依赖链中断 708 16.4.2 代码更脆弱 709 16.4.3 更难以优化 709 16.5 小结 709 第17章 interMedia 710 17.1 简要历史 710 17.2 interMedia Text的用途 711 17.2.1 搜索文本 711 17.2.2 管理多种文档 714 17.2.3 从多种数据源中对文本建立索引 714 17.2.4 它毕竟是一个Oracle数据库 717 17.2.5 生成主题 718 17.2.6 搜索XML应用程序 720 17.3 interMedia Text如何工作 720 17.3.1 interMedia Text索引 724 17.3.2 关于ABOUT操作符 727 17.3.3 节搜索 728 17.4 警告 734 17.4.1 inter Media Text不是文档管理解决方案 734 17.4.2 索引同步 734 17.4.3 在数据库外部索引信息 735 17.4.4 文档服务 736 17.4.5 目录索引 736 17.5 可能遇到的错误 738 17.5.1 过期索引 738 17.5.2 外部过程错误 739 17.6 展望 739 17.7 小结 740 第18章 基于C的外部过程 741 18.1 何时使用外部过程 741 18.2 如何实现外部过程 742 18.3 配置服务器 744 18.3.1 验证外部过程程序 746 18.3.2 验证数据库环境 747 18.3.3 验证监听器 748 18.4 第一个测试 748 18.4.1 编译extproc.c代码 749 18.4.2 建立SCOTT/TIGER账户 750 18.4.3 创建demolib库 750 18.4.4 安装和运行 751 18.5 第一个外部过程 752 18.5.1 封装函数 753 18.5.2 C程序代码 763 18.5.3 建立外部过程 788 18.5.4 安装和运行 791 18.6 LOB到文件的外部过程 (LOB_IO) 793 18.6.1 LOB_IO调用规范 793 18.6.2 LOB_IO的Pro*C程序代码 795 18.6.3 建立外部过程 799 18.6.4 LOB_IO的安装和使用 802 18.7 错误信息 807 18.8 小结 814 第19章 Java存储过程 815 19.1 为什么使用Java存储过程 815 19.2 Java存储过程如何工作 816 19.2.1 传递数据 820 19.2.2 范例 830 19.3 错误信息 837 19.3.1 ORA-29549 Java会话状态被清除 837 19.3.2 权限错误 838 19.3.3 ORA-29531 类Y中没有方法X 838 19.4 小结 839 第20章 使用对象关系特性 840 20.1 使用对象关系特性的原因 840 20.2 对象关系特性如何工作 841 20.3 在系统中增加数据类型 841 20.4 增加数据类型总结 856 20.5 利用类型扩展PL/SQL 856 20.5.1 创建新的PL/SQL数据类型 856 20.5.2 集合的独特应用 868 20.6 利用数据类型扩展PL/SQL总结 873 20.7 对象关系视图 873 20.7.1 数据类型 874 20.7.2 O-R视图 874 20.8 小结 887 第21章 精细存取控制 889 21.1 范例 889 21.2 为什么使用这一特性 890 21.2.1 易于维护 890 21.2.2 在服务器上执行 891 21.2.3 避免共享用户账户 892 21.2.4 支持共享用户账户 892 21.2.5 在ASP中放置应用程序 892 21.3 该特性是如何工作的 893 21.3.1 范例1:实施安全策略 894 21.3.2 范例2:使用应用程序上下文 899 21.4 警告 918 21.4.1 参照完整性 918 21.4.2 游标隐藏 923 21.4.3 导出/导入 929 21.4.4 调试 933 21.5 错误信息 934 21.6 小结 938 第22章 多层身份验证 939 22.1 为什么使用多层身份验证 939 22.2 多层身份验证机制 941 22.3 审计代理账户 951 22.4 警告 953 22.5 小结 954 第23章 调用者权限和定义者权限 955 23.1 范例 955 23.2 何时使用调用者权限 958 23.2.1 开发通用实用程序 958 23.2.2 数据字典应用程序 963 23.2.3 通用对象类型 965 23.2.4 实现您自己的访问控制 966 23.3 何时使用定义者权限 969 23.3.1 性能和可伸缩性 969 23.3.2 安全性 969 23.4 调用者权限和定义者权限如何工作 970 23.4.1 定义者权限 970 23.4.2 调用者权限 975 23.5 警告 985 23.5.1 调用者权限和共享池利用率 985 23.5.2 性能 989 23.5.3 程序必须在错误处理上更健壮 991 23.5.4 使用SELECT *的副作用 993 23.5.5 注意“隐藏”列 994 23.5.6 Java和调用者权限 996 23.6 错误信息 1002 23.7 小结 1002 附录A 必须提供的程序包 1004 A.1 DBMS_ALERT 和DBMS_PIPE 1007 A.2 DBMS_APPLICATION_INFO 1017 A.3 DBMS_JAVA 1025 A.4 DBMS_JOB 1033 A.5 DBMS_LOB 1047 A.6 DBMS_LOCK 1066 A.7 DBMS_LOGMNR 1071 A.8 DBMS_OBFUSCATION_TOOLKIT 1097 A.9 DBMS_OUTPUT 1119 A.10 DBMS_PROFILER 1136 A.11 DBMS_UTILITY 1148 A.12 UTL_FILE 1177 A.13 UTL_HTTP 1185 A.14 UTL_RAW 1206 A.15 UTL_SMTP和发送邮件 1208 A.16 UTL_TCP 1221 附录B 技术支持、勘误表和p2p.wrox.com网站 1236 B.1 p2p.wrox.com网站的在线论坛 1236 B.2 在www.wrox.com网站在线检查勘误表 1237 B.3 如何确切地告诉我们您的想法 1239 前言    本书中材料的灵感来自于我开发Oracle软件的经验,以及与Oracle开发人员一起工作,帮助他们构建可靠的、健壮的、基于Oracle数据库应用程序的经验。本书的内容反映了我每天的工作内容和人们每天所遇到的问题。    本书包括了我认为最相关的内容,也就是Oracle数据库及其体系结构。我可以写一本类似主题的书,来解释如何使用特定语言和体系结构来开发应用程序。例如,一个使用Java Server Pages与Enterprise Java Beans通信的应用程序,该应用程序使用JDBC与Oracle进行通信。但是,为了成功地构建此类应用程序,您真正需要的是理解本书的主题。本书介绍我认为对使用Oracle进行成功开发所应该普遍了解的内容,而不管您是使用ODBC的Visual Basic程序员,还是使用EJB和JDBC的Java程序员,或者是使用DBI Perl的Perl程序员。本书不支持特定的应用程序体系结构;它不会比较3层结构和客户—服务器结构。相反,本书介绍数据库可以完成的工作,以及您必须了解的数据库工作方式。由于数据库是应用程序体系结构的核心,因此本书应该拥有广泛的读者群。    本书内容    拥有许多开发选项的一个问题是指出哪一个选项是满足特定需要的最佳选择。每个人都希望拥有尽可能多的灵活性(拥有尽可能多的选项),但是他们也希望事情简洁明了,换句话说就是容易。Oracle为开发人员提供了几乎无限的选择。不曾有人说过:“您不能在Oracle中做这个工作。”他们说:“在Oracle中有多少种不同方式供您选择来完成这个工作”。我希望本书将帮助您作出正确的选择。    本书写给这样的读者,他欣赏选择,但也喜欢关于Oracle特性和功能的一些指南和实际的实现细节。例如,Oracle拥有一个高效的特性,称为虚拟专用数据库(virtual private database)。Oracle文档告诉您如何使用该特性,以及该特性能够做什么。Oracle文档没有指出什么时候应该使用该特性,以及什么时候不能使用该特性,后考也许更为重要。它不会总告诉您其实现细节,如果您不清楚这些实现细节,就会被迷惑(我不是在谈bug,而是指此特性的工作方式,及其真正的用途)。    本书读者对象    本书的读者对象是使用Oracle作为数据库后端开发应用程序的任何人。本书写给需要了解如何使用数据库进行工作的专业Oracle开发人员。本书特点决定了本书的很多部分也是DBA(数据库管理员)所感兴趣的。本书的大多数范例使用SQL*PLUS来演示关键特性,因此您不会找到如何开发真正“酷”的GUI,但您会学习Oracle数据库工作原理,其关键特性的作用,什么时候应该(不应该)使用它们。    本书写给希望事半功倍地使用Oracle的人,写给希望使用新方法使用现有特性的人,写给希望如何把这些特性应用到现实世界(不仅仅是如何使用特性的例子,而且还有为什么这些特性首先是相关的)的人。对本书感兴趣的另一类人,是负责管理Oracle项目开发人员的技术经理,从某种角度讲,他们理解为什么懂得数据库对于成功是至关重要的,这一点也相当重要。本书能够为要以正确的技术培训员工的经理提供必备的参考。    为了充分利用本书,您必须具有下列知识:    ●SQL的知识。您不必是最好的SQL编程员,但良好的使用SQL的知识对您是有帮助的。    ●对PL/SQL的理解。这不是前提条件,但将帮助您“理解”范例。例如,本书将不会讲授如何编写一个for循环或声明一个记录类型,这些内容在Oracle文档和很多书籍中都有介绍。但是这并不是说,通过阅读本书您不会学到有关PL/SQL的知识。实际上,您将熟悉PL/SQL的很多特性,了解以前不知道的现有的程序包和特性。    ●熟悉第三代语言,例如C或Java。能够读写第三代语言代码的人将能够成功地阅读并理解本书中的范例。    ●熟悉Oracle服务器概念手册。    关于上述最后一点的说明:内于Oracle文档集的篇幅庞大,很多人发现Oracle文档在某种程度令人生畏。如果您刚刚起步,或根本没有阅读过Oracle文档,那么最好先从Oracle 8i Concept手册学起。该书大约有800页,涵盖了您需要知道的很多主要的Oracle概念。它可能没有给出每一个技术细节(这要用10 000—20000页文档介绍),但是它介绍了所有重要的概念。    该手册涵盖下列主题:    ●数据库结构,如何组织、存储数据。    ●分布式处理技术。    ●Oracle的内存体系结构。    ●Oracle的进程体系结构。    ●将使用的模式对象(表、索引、聚簇等等)。 .   ●内嵌的数据类型和用户定义的数据类型。    ●SQL存储过程。    ●事务工作原理。    ●优化器。    ●数据完整性。    ●并行性控制。    本书在需要的时候,会对这些主题进行反复讲解。它们是基础,如果没有这些知识,您的Oracle应用程序很容易失败。这里建议您通读该书,并理解这些主题。    本书结构    为了帮助您阅读本书,本书组织为6个相对独立的部分(参见下面的描述)。这不是严格的划分,它们将帮助您迅速找到最需要的内容。本书共有23章,每一章实质上都是一本微型书,即一个独立部分。有时候,我会在其他章中引用范例或特性(尤其是“安全性”部分,它更多地依赖在以前章节中建立的范例和概念),但是您可以从本书中选择任何一章,并单独阅读。例如,读者不必为了阅读或使用第14章而首先阅读第10章。    每一章的格式和风格实际上是相同的:    ●对特性或功能的简单描述。    ●为什么(或为什么不)要使用它。概括介绍考虑使用该特性的时间,以及什么时候不要使用该特性。    ●如何使用该特性。这不仅仅是SQL参考的简单副本,而且是分步骤详细描述该特性。这些内容正是读者所需要掌握的,这些内容也是您必须完成的操作,这些内容又是您必须掌握的关键知识。这部分的内容包括:    ●如何实现它    ●范例    ●调试特性    ●使用该特性的警告    ●事先处理错误    ●小结    本书有很多范例和大量的代码,所有这些都可以在http://www.wrox.com上下载。下面是对每一部分内容的详细介绍。    理解数据库    ●第1章“开发成功的Oracle应用程序”。本章陈述了数据库编程的基本方法。所有的数据库都不会相同,为了成功地、按时地开发数据库驱动的应用程序,您必须确切地理解特定的数据库能够完成的工作,它是如何做的。如果您不知道数据库的功能,那么就有可能做那些重复性的工作,即开发数据库已经提供的功能。如果您不知道数据库如何工作,就可能开发性能拙劣、不能按预订方式操作的应用程序。    本章介绍了一些由于缺乏对数据库的基本理解而导致项目失败的实际例子。使用这种举例方法,本章讨论了开发人员需要理解的基本特性和功能。最低要求是您不能把数据库视为简单地返回答案的黑盒子,由数据库自身维护伸缩性和性能。    ●第2章“体系结构”。Oracle数据库是高度复杂的工具。每次您连接到数据库,或发出一个UPDATE命令时,在后台发生许多进程,以保证应用程序运行平稳,数据的完整性得到维护。例如,如果需要,数据库保证拥有足够的信息以便能够把数据恢复到其本来的初始状态。它将高速缓存程序数据,并自动地在合适时重用数据,等等。在大多数时间里,所有这些操作都是透明的(至少对于开发人员来说),但是发生故障时,一半的工作是知道在何处找到问题。    本章介绍oracle体系结构的3个主要部件——内存结构(尤其是系统全局区域(System Global Area)、物理进程及其文件集(参数文件、重做日志文件等等)。理解Oracle体系结构是理解Oracle实现特定特性的独特方式及其如何影响应用程序的独特方式的基础。    ●第3章“封锁和并行性”。不同数据库具有不同的运行方式(在SQL Server中运行良好,在Oracle中不一定能运行),理解Oracle实现锁定和并行控制的方式,对于应用程序的成功是绝对至关重要的。    本章讨论了Oracle解决这些问题的基本方法、能够应用的锁定类型(DML、DDL、锁存器(latches)……)以及没有注意实现封锁时产生的问题(死锁、阻塞、锁定扩大(escalation))。并行性控制部分讨论了Oracle提供的控制用户访问并修改数据库的功能。    ●第4章“事务”。事务是所有数据库的基本特性,这是数据库区别于文件系统的特点之一。但是,事务常常被错误理解,许多开发人员甚至不知道他们竟然没有使用事务。本章解释了在Oracle中应该如何使用事务,也揭示了在用其他数据库进行开发时的一些“坏习惯”。特别是,强调原于性(atomicity)的含意,及其如何影响Oracle语句。接着讨论事务控制语句(COMMIT、SAVEPOINT、ROLLBACK)、完整性约束和分布式事务(两阶段提交)。最后,探讨有关使用事务的一些实际问题:如何记录事务以及重做(redo)和撤消(undo)的作用。    数据库结构和实用程序    ●第5章“重做和回滚”。可以说,与DBA相比,一般开发人员没有必要理解同样多的重做和回滚(rollback)的细节,但开发人员也需要理解重做和回滚在数据库中的作用。在第一次定义重做以后,考查了COMMIT命令的确切功能。同时也考虑了诸如产生多少重做、日志的关闭、重做的分析等等问题。    在本章有关回滚的部分,在介绍Set transaction SQL语句之前,首先介绍是什么毫无例外地产生撤消操作。这一般用于选取一个大回滚段进行一些大型操作。然后,详细介绍臭名昭著的“ORA—01555 snapshot too old”错误,探讨其原因及其解决方案。    ●第6章“数据库表”。Oracle支持很多类型的表。本章介绍各种类型的表:堆组织表(heap organized)(默认情况下的普通表)、索引组织(index organized)表、索引聚簇(index clustered)表、散列聚簇(hash clustered)表、嵌套(nested)表、临时(temporary)表和对象(object)表,并讨论了什么时候、如何、为什么使用它们。在大多数时候,堆组织表就足够使用了,但是您必须能够意识到什么时候使用其他类型的表更为合适。    ●第7章“索引”。索引是应用程序的一个至关重要的方面。数据库程序的正确实现需要深入了解数据及其如何分布、如何使用的知识。索引常常被视为应用程序开发中事后规划的内容,从而使性能受到损害。    本章详细介绍不同类型的索引,其中包括B*Tree、位图、基于函数和应用程序域索引,并讨论什么地方应该或不应该使用它们。还将回答在“常见问题”部分中的问题,例如“索引在视图上能运行吗?”、 “为什么没用使用索引?”。    ●第8章“导入和导出”。导入和导出是Oracle提供的两个最老的工具,它们用于从一个Oracle实例中抽取表、模式(schema)或整个数据库定义,并导入到另一个实例或模式中,但是很多开发人员并不知道如何使用这两种工具。这里介绍诸如大型导出、构建子集和传输数据并使用它们作为备份或重组工具等主题。本章最后介绍使用这些工具时潜在的缺陷和问题。    ●第9章“数据装载”。本章重点介绍SQLLDR, 并介绍使用该工具装载并修改数据库中数据的各种方法。 本章内容包括如何装载定界的数据,如何更新现有行、插入新行,如何卸载数据,如何在存储过程中调用SQLLDR。SQLLDR是一个已建立的关键工具,但就实际使用而言,它还会导致许多问题。    性能    ●第10章“优化策略和工具”。在本章中将详细介绍优化Oracle应用程序的方法,然后提供了使用优化工具的高度实用的指南和技巧。 开放部分集中介绍应用程序优化,包括下列专题:绑定变量(bind variable)和分析、 SQL_TRACE TIMED_STATISTICS和TKPROF、DBMS PROFILER,以及对应用程序进行日志操作的重要性。在应用程序完成彻底的优化以后,注意力应该转向数据库,尤其是在优化中使用的StatsPack实用程序组和V$表。    ●第11章“优化器方案稳定性”。使用Oracle 8i(及其更高版本)的开发人员现在可以存储一组“服务器提示”,它称为优化器方案,详细描述如何在数据库中执行特定的SQL语句。显然,这有利于性能的提高,本章详细介绍如何生成大纲,如何管理大纲。    高级SQL特性    ●第12章“分析函数”。有时候,针对数据库可以非常有规律地提出某些问题,但是直接使用SQL难于编写回答它们的查询,该查询也无法总能迅速地执行。Oracle 8.1.6引入了分析函数。这些函数扩展了SQL语言,容易编码此类查询,并通过功能类似的直接SQL查询显著提高性能。本章阐述了分析函数运行方式、完整的语法(包括函数、分区、窗口子句),然后给出了一个使用这些函数的完整的实际例子。    ●第13章“物化视图”。某些“聚集”查询为了产生答案,必须处理数以千兆的数据。性能的含意很清晰,尤其是进行常见查询的时候,就是每当询问该问题时,将处理大量的数据。利用这个特性,我们简单地预先做一些工作。即在物化视图中汇总回答特定查询所需的数据,后续的查询重定向到该汇总数据。此外,数据库能够识别使用汇总数据的类似查询,并自动地重写查询。本章讨论了它的工作原理,建立物化视图的方法,包括约束、维数和DBMS_OLAP软件包的使用。    ●第14章“分区”。分区自在简化大型表和索引的管理。它是通过“分割。占据”逻辑实现的,也就是把表和索引分成更小更易管理的小片。这是DBA和开发人员必须合作,以使应用程序的可用性和性能最大化的领域。本章介绍表分区和索引分区。还将介绍使用局部索引和全局索引的分区。前者常见于数据仓库,后者常见于OLTP系统。    ●第15章“自治事务”。利用该特性,可以创建子事务,于事务可以独立于父事务提交或回滚变化。还将介绍自治事务适用的场合, 例如审核修改安全信息的“非法”企图,以避免使表发生突变,或作为在触发器中执行DDL的方法。本章还将讨论诸如事务控制、作用域、结束自治事务和存储点等。    ●第16章“动态SQL”。在本章中,对在程序中使用SQL语句的两种方法进行了比较:“标准”的静态SQL方法和动态SQL方法。动态SQL是在运行时执行的SQL语句,而在编译时并不知道它们。还将介绍在程序中使用动态SQL的两种方法,也就是使用所提供的内置程序包DBMS_SQL和本机动态SQL。本机动态SQL是在PL/SQL中使用的声明方法。选择其中一种的理由很多,例如,在编译时是否知道绑定变量,是否知道结果,给定语句是否在会话中执行一次或多次,等等。本章将详细讨论这些问题。    可扩展性    ●第17章“interMedia”。本章重点介绍interMedia Text。本章没有详细介绍如何使用interMedia Text,而是介绍什么是interMedia Text,它提供的功能,启用该功能的数据库特性。本章介绍如何搜索文本,管理各种文档,索引来自多种数据源的文本,搜索XML‘应用程序。本章最后给出了interMedia的说明,包括索引和数据库外的索引信息的同步化。    ●第18章“基于C的外部过程”。Oracle 8.0中引入了在数据库服务器上实现过程的能力,这种过程可以用不同于PL/SQL的语言,例如C或Java编写。它们被称为外部过程。在本章中,将从体系结构的角度介绍基于C的过程。还将演示如何配置服务器以使用这些过程,测试安装,并建立一个传递、处理各种类型变量的范例过程。同时研究了LOB to File(LOB_IO)外部过程,该过程把CLOB、BLOB和BFILE写到硬盘上。    ●第19章“Java存储过程”。通过明智地应用少量Java,可以获得大量的有用功能,而这些功能超出了PL/SQL所能实现的功能。在本章中,将介绍一个实际例子,该例子说明了该功能有用的场合,如获得目录列表或运行一个操作系统命令。最后,还将提供在试图使用该特性时可能遇到的问题以及一些解决方案。    ●第20章“使用对象关系特性”。在数据库中,对象关系特性可用性极大地扩充了开发人员可以使用的数据类型集。但是,什么时候应该使用它?同样,什么时候不应该使用它?在本章中,将说明在系统中加入新数据类型(这里创建了一个新的PL/SQL数据类型)的方法,并介绍集合的独特用法。最后,将介绍对象关系视图,该部分内容适用于想使用对象关系特性,但仍然为应用程序提供关系视图的读者。    安全性    ●第21章“精细存取控制”(Fine Grained Access Control)。该特性允许您在运行时把谓词附加到发给数据库的所有查询。该特性在服务器上实现,意味着能够访问数据库的任何应用程序都可以使用该特性。使用该特性的深层理由包括易维护和以ASP方式宿主应用程序的能力。通过测试一对范例您会弄清它的工作原理。其中一个范例基于安全策略的实现,另一个范例使用应用程序上下文。本章的最后是警告信息,其中包括参照完整性、导入导出问题,以及错误信息。    ●第22章“多层身份验证”。在本章中,将讨论Web的作用, 它导致了客户在真正访问数据库之前向中间层应用程序服务器提供证书。将解释这个特性是如何实现的,以及如何工作的。还将介绍如何授权,如何审核代理账户。    ●第23章“调用者和定义者权限”。从Oracle 8i开始,可以为一个存储过程的不同用户,授予不同的权限。利用调用者权限,可以开发存储过程,使存储过程能够在运行时以调用者特权执行。还将探讨为什么该特性很有用,例如开发通用的实用程序和数据字典应用程序时很有用;也将探讨为什么在大多数情况下,定义者权限仍然是正确的选择。在“如何工作”部分,将介绍在编译定义者和调用者权限过程时实际发生的操作。    附录    ●附录A“必须提供的软件包”。开发过程中可能会忽略其中的很多软件包,或者说它们的目的没有真正被理解。在此,这里将讲解如何使用并扩展它们,帮助您搞清这些疑惑。    客户技术支持    我们努力使本书尽可能地难确并令读者便于阅读,但是本书的实际效果取决于您的心得体会。读者意见可通过email:feedback@wrox.com与我们联系,把您的批评、建议告诉我们。    源代码和更新代码    在使用本书中的例子时,您可能决定宁愿手工输入所有代码。许多读者这样做的理由是,这是熟悉所使用的编码技巧的好方法。    不管您是否输入代码,我们都把源代码放在我们的web站点:    http://www.wrox.com/    如果您要输入代码,也可以使用我们的文件来检查应该得到的结果,如果您认为输入有错误,您可以与站点代码进行比较。如果您不想输入代码,那就从我们的站点下载源代码吧。    无论使用哪种方法,它们都有助于您更新和调试。    勘误表    我们努力使文本和代码没有错误。但是,人难免犯错误,一旦错误被指出并更正,我们就反馈给读者。在http://www.wrox.com上有本书的勘误表。如果您发现了尚未报告的错误,请告诉我们。    我们的web站点也提供其他信息和支持,其中包括所有书中的源代码、范例章节、即将出版的书、文章、相关主题意见的预览。

2016-11-29

深入理解Oracle RAC 12c(完整书签)分卷1

深入理解Oracle RAC 12c(完整书签)深入理解Oracle RAC 12c(完整书签)深入理解Oracle RAC 12c(完整书签)

2016-08-12

VC编写的系统进程查看工具

源码对EnumProcess,Toolhelp32,NtQuerySystemInformation这三种方式分别作了3个函数;通过查看函数;很容易读懂源码

2016-07-20

Oracle_Database_11g_RAC手册_原书第2版

Oracle_Database_11g_RAC手册_原书第2版_完整版 自己整理的目录

2016-06-15

Android应用开发详解清晰版(书签).pdf

Android应用开发详解清晰版带书签 pdf

2015-11-17

安卓订餐app源码

安卓app订餐源码 数据库为mysql。

2015-11-04

Android,IOS支付宝接口实例源码

完美运行的支付宝测试接口,包含IOS,安卓的源码,亲测实用!

2015-11-04

c++多核高级编程中文版(含完整清晰目录)

完整目录的版本,上传给大家。书还不错。设计多核、多线程编程,时下比较流行的技术。 《C++多核高级编程》主要内容:并发编程和同步带来的各种缺陷、陷阱和挑战,调试和测试多核编程的方法与技术,如何使川跨下台技术米利用处理器的特定特性,操作系统在多核编程中的任务,将框架类作为并发构建块加以利用的方法,如何通过使用接口类宋降低任务同步和通信的复杂性。 《C++多核高级编程》适合于希望从事多核编程和多核应用程序开发的开发人员

2015-09-30

深入实践Boost:Boost程序库开发的94个秘笈完整版

深入实践Boost:Boost程序库开发的94个秘笈完整版

2015-09-12

《深入应用C++11:代码优化与工程级应用》

C++11特性可以使程序更简洁易读,也更现代。通过这些新特性,可以更 方便和高效地撰写代码,并提高开发效率。

2015-09-12

sqlyou注册码

sqlyou注册码 5.0一个很好的管理MYSQL的工具

2011-12-08

一个热门网络游戏客户端源码 c++

某游戏客户端源码. 一个热门网络游戏客户端源码 c++

2010-03-15

flash播放器flash播放器

flash播放器flash播放器flash播放器flash播放器

2009-02-28

php168商城系统

php168商城系统代码。支持各种论坛。免费发布

2009-02-11

HA_LeapFTP2.7.6.613

HA_LeapFTP2.7.6.613

2008-08-01

ftp文件

ftp文件汉化版本。大家快

2008-07-10

MYSQL管理程序

MYSQL程序迷你版本,共大家研究

2008-07-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除