《Oracle8i数据库开发技术与技巧》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)(D.谢勒)Douglas Scherer等著;京京工作室译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2000
  • ISBN:7111080068
  • 页数:337 页
图书介绍:

第一部分 综述 1

第1章 Oracle ORDBMS概览 1

1.1 实例 1

1.1.1 内存区域 2

1.1.2 后台进程 2

1.2 数据库 3

1.2.1 数据文件 4

1.2.2 重做日志文件 4

1.2.3 控制文件 5

1.2.4 归档重做日志 5

1.2.5 配置文件 5

1.3 数据库系统的使用 6

1.3.1 数据库的启动 6

1.4 数据库对象 8

1.3.2 数据库的关闭 8

1.5 表空间 9

1.6 分段 9

1.6.1 存储参数 11

1.6.2 回滚段 13

1.7 数据库连接 13

1.8 备份和恢复 15

1.9 安全性 16

1.10 优化 16

第2章 提供Java功能的基本架构 17

2.1 JVM 17

2.1.1 编译器 18

2.1.2 库管理器 19

2.1.3 Java类装载器 20

2.1.4 内存管理器和垃圾收集器 20

2.2.2 SQLJ的优点 21

2.2.1 SQLJ翻译器和SQL运行时间 21

2.2 支持SQLJ 21

2.2.3 SQLJ的展开 22

2.3 Java存储过程 23

2.4 CORBA ORB 23

2.5 分布式组件 24

2.5.1 支持CORBA 25

2.5.2 支持EJB 25

2.5.3 EJB的实施 26

2.5.4 EJB的优点 28

2.6 挑选合适的编程模型 28

2.7 挑选合适的JDBC驱动程序 30

2.8 采用Oracle8i的展开环境 31

第二部分 服务器管理 37

第3章 安装 37

3.1 安装Oracle8i和创建数据库 37

3.1.1 实现最佳灵活结构 38

3.1.2 利用以前在NT上安装的Oracle版本,将非OFA的Oracle安装转换成OF A 40

3.1.3 在UNIXI上将非OFA的Oracle8i安装转换成OFA 44

3.1.4 在DB_BLOCK_SIZE大于2KB的前提下,创建Oracle Starter数据库 44

3.1.5 利用Oracle数据库配置助理,生成数据库创建脚本 46

3.1.6 验证:一些简单的数据库创建后处理 47

3.2 回滚段 49

3.2.1 在系统表空间内,创建一个额外的回滚段 50

3.2.2 判断Oracle8i用户回滚段的数量 51

3.3 Java虚拟机 53

3.3.1 Java虚拟机的安装 53

3.3.2 Java虚拟机的优化:共享和Java池 55

3.4 多线程服务器 58

3.4.1 启用多线程服务器选项 58

3.4.2 在多线程服务器上设置LARGE_POOL_SIZET和SHARED_POOL_SIZE 62

3.4.3 缓解MTS调试员和服务器进程的冲突 63

3.5 多宿主连接 65

3.6 小结 67

第4章 系统管理 69

4.1 管理能力的增强 69

4.1.1 在线索引的创建 69

4.1.2 使用本地管理的表空间 70

4.1.3 丢弃数据列 70

4.1.4 将LONG数据类型转换成LOB 71

4.1.5 用LogMiner察看重做日志文件的内容 71

4.2 小结 73

第5章 性能 74

5.1 DBMS_STATS封装 74

5.1.1 用DBMS_STATS封装生成统计数据 75

5.1.2 通过并行执行改善统计生成的性能 76

5.1.4 统计数据的备份和恢复 77

5.1.5 用统计集进行优化 77

5.1.3 通过指定统计粒度改善分区对象的性能 77

5.1.6 在一个测试数据库中,为正式的应用进行优化 78

5.1.7 统计收集的自动进行 78

5.2 计划的稳定性 79

5.2.1 使用计划稳定性保存执行计划 80

5.2.2 自动创建存储提纲 80

5.2.3 存储提纲的使用 80

5.2.4 存储提纲的管理 81

5.2.5 移动提纲表 82

5.2.6 用存储提纲迁移至基于成本的优化器 82

5.2.7 升级ORDBMS时保留执行计划 83

5.2.8 在测试环境下模拟实际统计 83

5.3 可改进性能的其他特性 83

5.3.1 通过以函数基础的索引改进性能 84

5.3.2 使用单表散列簇实现快速的行访问 86

5.4 小结 87

第6章 数据仓库 88

6.1 利用分区管理大数据表 89

6.1.1 使用范围分区 90

6.1.2 使用散列分区 91

6.1.3 使用混合分区 92

6.1.4 访问单独分区和子分区 93

6.1.5 分区索引的使用 93

6.1.6 对分区进行描述的数据字典视图 95

6.1.7 分区的维护 95

6.2 使用可传输的表空间实现数据在数据库间的移动 98

6.2.1 利用可传输表空间复制一个表空间集 99

6.2.2 利用可传输表空间移动一个表空间集 101

6.2.3 利用可传输表空间在多个数据库之间,共享一个只读表空间 101

6.2.4 利用可传输表空间和分区填充数据仓库 101

6.3 星形模式的使用 101

6.4 总结管理 102

6.4.1 用容积定义数据仓库内的关系 103

6.4.2 对容积进行校验 105

6.4.3 查看容积 105

6.4.4 决定创建哪些实体化视图 106

6.4.5 利用实体化视图,保存预先计算好的总结和连接 107

6.4.6 为实体化视图挑选一种更新模式 108

6.4.7 为实体化视图挑选一个更新选项 108

6.4.8 为实体化视图挑选一种构建方法 109

6.4.9 改变实体化视图的大小 109

6.4.10 创建实体化视图 109

6.4.11 允许对实体化视图进行查询改写 111

6.4.12 利用DBMS_MVIEW封装更新实体化视图 111

6.4.13 判断一个实体化视图是否正在使用 114

6.4.14 设置总结管理的参数 114

6.4.15 对数据仓库中的限制进行管理 115

6.4.16 更改约束状态,使数据装载更加容易 115

6.5 小结 116

第7章 安全性 118

7.1 数据库事件触发器 118

7.2 虚拟私人数据库特性 120

7.2.1 利用SYS_CONTEXT扩展USERENV函数 121

7.2.2 利用SYS_CONTEXT保护数据访问的安全 122

7.2.3 使用SYS_CONTEXT在检查约束中揭示出USERENV属性 122

7.2.4 利用DBMS_RLS提供行级和面向应用程序的安全保护 122

7.2.5 提供由具体应用程序决定的安全保护 129

7.3 小结 134

第三部分 应用程序开发 135

第8章 PL/SQL 135

8.1 利用动态SQL的新型编码技术、调用者权限、独立事务处理以及临时表 135

8.1.1 在PL/SQL中执行本机动态SQL 136

8.1.2 通过调用者权限共享代码以及多种模式的定址 144

8.1.3 创建独立事务处理,进行审计和跟踪 148

8.1.4 用临时表来维护用户状态、加速子查询处理并增强分布式处理 156

8.2 使用批量联编和NOCOPY提高性能 158

8.2.1 批量联编数据收集改进性能 158

8.2.2 在本机动态SQL中的批量联编 165

8.2.3 在有和没有批量联编传递收集器的前提下,用NOCOPY改进性能 166

8.3 新增的PL/SQL内建封装:DBMS_PRO FILE R和DBMS_TRACE 183

8.3.1 用DBMS_PROFILER监视命名例程的执行次数 183

8.3.2 用DBMS_TRACE监视运行时间PL/SQL例程调用和违例 190

8.4 小结 193

第9章 SQLJ和JDBC 194

9.1 预备知识 194

9.1.1 造型成Oracle专用类型 197

9.1.2 记录JDBC调用 197

9.1.3 SQLException 197

9.2.1 禁止自动提交模式,防止每条DML语句后都进行提交 198

9.2 JDBC和SQLJ性能 198

9.1.4 对SQL NULL的控制 198

9.2.2 用oracle.sql提高效率和精度 199

9.2.3 利用ROWID在SQL语句中加快数据行的访问速度 202

9.2.4 使用预备语句避免不必要的编译开销 204

9.2.5 将数据行预读至客户端缓冲,减少数据库遍历次数 206

9.2.6 成批更新缓解频繁的网络活动 207

9.2.7 定义列类型缓解频繁的网络活动 208

9.2.8 关闭连接、语句和结果集对象、释放宝贵资源 209

9.2.9 利用JDBC连接池,避免频繁地创建连接 209

9.2.10 在客户端的Java程序中,使用Java多线程技术,改进并发处理能力 209

9.3 通过Java使用Oracle集合及对象类型 211

9.3.1 获取Oracle VARRAY和嵌套表 211

9.3.2 获取Oracle对象类型 213

9.4.1 LONG和LONG RAW列的流式处理 216

9.4 JDBC的流式数据处理 216

9.4.2 LOB的流式处理 219

9.5 通过Java调用存储过程 225

9.5.1 使用服务器端的JDBC驱动程序 225

9.5.2 利用loadjava,将Java程序载入数据库 225

9.5.3 编写调用规范,在Oracle数据字典中发布Java过程 227

9.5.4 调用Java存储过程SQL、PL/SQL和数据库触发器 234

9.5.5 从JDBC调用存储过程 238

9.6 小结 242

第10章企业JavaBeans 244

10.1 预备知识 244

10.1.1 EJB类、接口和封装采用的命名规范 244

10.1.2 EJB编程限制 245

10.1.3 向跟踪文件发送结果输出 245

IO.1.4 解决Load Java的内存问题 245

10.1.5 复查IIOP连接 245

10.2.1 定义宿上接口、远程接口和Bean类 246

10.2 Oracle8i基本的EJB技术 246

10.2.2 定义分配描述符 251

10.2.3 EJB的编译及封装 253

10.2.4 为Oracle8i分配EJB 253

10.2.5 编写EJB客户机程序 254

10.3 EJB事务管理 257

10.3.1 为容器管理的事务处理挑选恰当的声明属性 258

10.3.2 购物车:使用容器管理事务处理定界的一个正式会话Bean 259

10.3.3 保存会话对象句柄,以便日后重新激活 264

10.3.4 使用Bean管理事务处理定界,便于进行精密的事务控制 269

10.4 与设计有关的技巧 271

10.4.1 区分实体及会话Bean 271

10.4.2 在缺乏实体Bean支持的前提下,设计EJB组件 272

10.4.3 如何在按值传递对象与实体Bean之间进行取舍 274

10.5 小结 275

10.4.4 让远程客户机主要与会话Bean打交道,而不是与实体Bean打交道,从而缓解网络开销 275

第11章 interMedia文本 276

11.1 interMedia文本简介 276

11.2 装载和保存文本信息 278

11.2.1 作出LOB存储决策 278

11.2.2 使用SQL Loader批量载入文档 280

11.2.3 使用DBMS_LOB批量载入文档 281

11.2.4 INSERT期间载入一个外部文档 283

11.3 文本信息的索引 286

11.3.1 使用USER_DATASTORE参数,在文本索引中增加额外的行数据 288

11.3.2 为索引文本增加XML标记,自定义WITHIN搜索 290

11.3.3 使用CTX_OUTPUT记录跟踪文本索引的创建 292

11.3.4 使用CTX_USER_INDEX_ERRORS检查文本索引构建错误 293

11.3.5 面向多个ORACLE_HOME,在NT安装中使用INSO_FILTER 294

11.4 查询文本信息 296

11.4.2 创建同义词,提高关联度 297

11.4.1 概念或方案查询 297

11.4.3 使用TR运算符查找外来词 299

11.4.4 使用TRSYN运算符查找外来词及其向义词 300

11.4.5 利用同义词进行历史改造 301

11.5 其他技巧 301

11.5.1 使用ctxhx在数据库外部预过滤Adobe PDF和Word文件 301

11.5.2 将数据库内存储的二进制文档转换成HTML 302

11.5.3 使用SELECT语句,将存储的二进制文档转换成HTML 304

11.5.4 通过PL/SQL访问转换过后的HTML文档 305

11.6 小结 309

第12章 interMedia:多媒体 310

12.1 interMedia多媒体类型入门 310

12.1.1 为interMedia多媒体对象类型定义存储 313

12.1.2 为interMedia类型列增添默认值 314

12.1.3 如何在多媒体类型中插入 314

12.1.4 如何在多媒体类型中选择 314

12.1.5 在标准数据列上,定义多媒体对象视图 315

12.2 interMedia Web代理 316

12.2.1 interMedia Web代理和URL 316

12.2.2 所有interMedia Web代理请求常用的处理概述 317

12.2.3 Mediaget和~mediaget请求概述 318

12.2.4 Mediaput和Appmediaput请求概述 319

12.2.5 Mediaget和Mediaput请求中常用的投递执行处理 321

12.3 运用了PL/SQL部件和interMedia Web代理的一个HTML应用 322

12.3.1 创建一个Put过程,执件interMedia Web代理事务 322

12.3.2 创建一个Set过程,管理interMedia Web代理事务 323

12.3.3 创建一个Get过程,对多媒体数据的取得进行处理 324

12.3.4 创建一个应用程序,通过PL/SQL部件来使用interMedia Web代理 325

12.3.5 针对非interMedia类型使用interMedia Web代理 330

12.4 小结 332

第四部分 附录 333

附录A 各章之间的关系 333

附录B 术语表 334