当前位置:首页 > 工业技术
Oracle 专家高级编程
Oracle 专家高级编程

Oracle 专家高级编程PDF电子书下载

工业技术

  • 电子书积分:30 积分如何计算积分?
  • 作 者:(美)Thomas Kyte著;袁勤勇,张玉魁等译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2002
  • ISBN:7302053340
  • 页数:1239 页
图书介绍:本书内容包括Oracle数据库的基本概念:Oracle数据库结构和实用程序;Oracle数据库性能优化;高级SQL特性;用interMedia、基于C的外部过程等。
《Oracle 专家高级编程》目录
标签:编程 专家

第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.1 事物隔离等级 96

3.4 什么是并行控制 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.1 重做 125

第5章 重做和回滚 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.6 索引聚簇表 194

6.5 索引组织表总结 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.1 Oracle 索引概述 239

第7章 索引 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.10 关于索引的常见问题解答 268

7.9 应用程序域索引总结 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.4 传输表空间 288

8.2.3 克隆模式 288

8.2.2 抽取DDL 288

8.2.1 检测冲突 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.4.1 克隆 315

8.3.9 直接路径导出 315

8.4 警告和错误 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.4 小结 400

9.3.4 命令行取代控制文件 400

9.3.3 SQLLDR默认为CHAR(255) 400

9.3.2 TRUNCATE的不同作用 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.8 说明 447

10.7 DBMS_PROFILER 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.13 V$SQL, V$SQLAREA 474

10.10.12 V$SESS_IO 474

10.10.11 V$SESSTAT 474

10.10.10 V$SESSION_WAIT 474

10.10.8 V$SESSION_EVENT 474

10.10.9 V$SESSION_LONGOPS 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.4 查看应用程序执行的是什么SQL语句 486

11.3 优化器方案稳定性是如何工作的 486

11.2.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.4 “CURSOR-SHARING=FORCE”与大纲 503

11.9.2 ALTER SESSION的问题 503

11.9.3 Drop User不删除大纲 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.3 例子 563

13.2 运行范例需要什么 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.1 物化视图不是为OLTP系统设计的 594

13.8 警告 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

15.2.2 避免出现变异表的方法 621

14.3 小结 625

第15章 自治事务 626

15.1 范例 626

15.2.1 不能回滚的审计 628

15.2 为什么使用自治事务 628

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.5 小结 709

16.4.3 更难以优化 709

16.4.2 代码更脆弱 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.1 ORA-29549 Java会话状态被清除 837

19.3 错误信息 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.2 O-R视图 874

20.7.1 数据类型 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.1 参照完整性 918

21.4 警告 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.1 范例 955

第23章 调用者权限和定义者权限 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

相关图书
作者其它书籍
返回顶部