内容简介
第一篇 Oracle SQL*Plus基础
第1章 Oracle数据库基础
1.3.1 SQL和SQL*Plus的差别
1.3 SQL、SQL*Plus及PL/SQL
1.1 理解关系数据库管理系统
1.2 关系数据库管理系统的组成
1.4.1 UNIX环境
1.4 登录到SQL*Plus
1.3.2 PL/SQL语言
1.4.2 Windows NT和Windows/2000环境
1.5 常用SQL*Plus附加命令简介
1.6 常用数据字典简介
1.7 Oracle数据类型
1.8 SQL语句基础
1.10 使用SQL Worksheet工作
1.9 伪列及伪表
2.2.1 单记录字符函数
2.2 SQL中的单记录函数
第2章 查询基础
2.1 SELECT语句
2.2.2 单记录数字函数
2.2.3 单记录日期函数
2.2.4 单记录转换函数
2.2.5 其他的单记录函数
2.3 SQL中的组函数
2.4 控制和格式化输出
2.5 配置会话环境
2.6 格式化输出
2.8 建立简单报告
2.7 加标题
2.9 输入变量
3.1 建立表结构
第3章 表及索引的定义操作
3.2 修改表结构
3.3 主键
3.4 外部键
3.5 索引
3.6 新索引类型
3.8.1 可用的数据类型
3.8 大数据类型的使用
3.7 抽象数据类型的使用
3.8.2 为LOB数据类型指定存储空间
3.8.3 操作和检索LOB数据
3.9 与表和索引有关的数据字典
4.1 视图
第4章 视图、同义词和序列
4.2.1 创建实体视图
4.2 实体视图
4.2.2 创建实体视图日志
4.2.3 修改实体视图
4.3 序列
4.2.4 修改实体视图日志
4.4 同义词
4.5 视图、同义词和序列有关的数据字典
5.1.1 簇概念
5.1 簇
第5章 簇与分区
5.1.2 建立簇
5.1.3 改变簇
5.1.6 收集簇信息
5.1.5 删除簇索引
5.1.4 删除簇
5.2.1 分区的优点
5.2 分区
5.2.3 创建表的分区
5.2.2 分区的方法
5.2.4 创建索引的分区
5.2.5 维护表分区和索引分区
5.3 簇与分区有关的数据字典
6.1 INSERT
第6章 使用SQL进行数据操作
6.2 UPDATE
6.3 DELETE
6.4 insert、delete及update的提交和撤消
7.1 查询语句的使用
第7章 复杂查询语句的使用
7.2 创建复杂的视图
7.3 家族树
7.4 在from中使用视图
8.1 DECODE
第8章 一些高级的用法
8.2 关于访问远程数据库
8.3 关于上下文的使用
8.4 关于维
9.1 CREATE USER命令
第9章 安全管理
9.3 DROP USER命令
9.2 ALTER USER命令
9.4 GRANT与REVOKE命令
9.5 权限和角色
9.6 有关的数据字典
10.1 常见问题的解释
第10章 其他常见问题及技巧
10.2 常用技巧
11.1 SQL与PL/SQL
第11章 PL/SQL程序设计
第二篇 Oracle PL/SQL基础
11.2 运行PL/SQL程序
11.3 PL/SQL内置包
12.2 PL/SQL块
12.1 PL/SQL块结构
第12章 PL/SQL块结构和组成元素
12.4 PL/SQL变量类型
12.3 标识符
12.5 运算符和表达式(数据定义)
12.6 变量赋值
12.9 举例
12.8 注释
12.7 变量作用范围可见性
13.2 循环语句
13.1 条件语句
第13章 PL/SQL处理流程
13.4 NULL语句
13.3 GOTO语句
14.1 光标概念
第14章 光标的使用
14.2 光标循环
14.3 光标变量
14.4 光标变量举例
15.1 异常处理概念
第15章 错误处理
15.2 异常情态传播
15.3 异常处理编程
15.4 在PL/SQL中使用sqlcode,sqlerrm
16.1 存储过程
第16章 存储过程和函数
16.2 创建函数
16.3 过程和函数中的例外处理
17.1 包的建立
第17章 创建包和使用包
17.4 包体的说明
17.3 包的头部说明
17.2 包的开发步骤
17.6 包的管理
17.5 删除过程、函数和包
18.2 创建触发器
18.1 触发器类型
第18章 触发器
18.3 删除和使能触发器
18.5 变异表
18.4 创建触发器的限制
18.6 触发器数据字典与管理
19.2.1 调用步骤
19.2 C语言外部例程
第19章 外部存储过程
19.1 什么是外部例程
19.2.2 参数映射(转换)
20.1.2 接收消息
20.1.1 发送消息
第20章 会话间通信
20.1 DBMS_PIPE
20.1.3 BBMS_PIPE应用实例
20.2 DBMS_ALERT
20.2.2 警告所用的各个过程
20.2.1 使用警告
20.2.3 警告实例
20.3 DBMS_PIPE和DBMS_ALERT比较
21.1.2 运行作业
21.1.1 后台进程
第21章 数据库作业和文件I/O
21.1 数据库作业
21.1.3 失效作业
21.1.5 修改作业参数
21.1.4 删除作业
21.2.2 打开和关闭文件
21.2.1 安全性
21.1.6 与作业参数有关的数据字典
21.2 文件I/O
21.2.3 文件输出
21.2.4 文件输入
21.2.5 文件操作举例
22.1 在PL/SQL中使用DML语句
第22章 在PL/SQL中使用SQL语句
22.3 GRANT、REVOKE和权限
22.2 伪列
22.4 事务控制
22.5 在PL/SQL中使用SQL函数
23.3 DBMS_OUTPUT的使用
23.2 插入测试表
第23章 PL/SQL程序的调试
23.1 问题诊断
23.4 PL/SQL调试器
23.5 程序设计方法
24.1.2 估计共享池大小
24.1.1 共享池工作原理
第24章 性能及其他问题
24.1 共享池
24.1.3 将PL/SQL驻留在共享池中
24.2 SQL语句调整
24.4 PL/SQL wrap(转换器)
24.3 网络问题
25.1 对象类型定义
第25章 对象类型
25.2 对象类型修改
25.3 对象类型删除
26.1 概述
第26章 动态PL/SQL
26.2 使用DBMS_SQL进行动态编程
26.3 本地动态SQL
27.1 LOB类型一般使用
第27章 LOB和DBMS_LOB包
27.2 一般LOB表与数据加载
27.3 内部LOB和DBMS_LOB的使用
27.4 临时LOB
27.5 外部LOB(BFILE)
27.6 使用SQL*loader加载LOB
28.1 用触发器实现日期格式的自动设置
第28章 PL/SQL编程技巧
28.2 如何避免TOO_MANY_ROWS错误
28.3 如何解决TOO_MANY_ROWS问题
28.5 如何使用触发器完成数据复制
28.4 如何在PL/SQL中使用数组
28.6 在PL/SQL中实现Truncate
28.7 如何导出存储过程及触发器的代码
29.2 Oracle 8特点
29.1 Oracle 7和Oracle 8
第三篇 Oracle 8i基本管理
第29章 Oracle介绍
29.4 Oracle 8i和Oracle 9i
29.3 Oracle 8和Oracle 8i
29.5 Oracle OAS和Oracle iAS
29.7 Oracle服务器组件
29.6 Oracle Application R11i
29.8 目前Oracle的主要产品
30.1 术语
第30章 Oracle数据库系统结构
30.2.1 Oracle数据字典
30.2 Oracle数据库结构
30.2.2 表空间与数据文件
30.3 Oracle数据库文件
30.2.3 Oracle实例
30.4 重做日志和重做日志工作模式
30.5 数据块、区间和段
30.6 Oracle数据库进程
30.7 Oracle内存结构
30.8 Oracle实例
30.10 Oracle事务处理流程
30.9 多线程服务器(MTS)
30.14 其他数据对象
30.13 Oracle系统数据字典
30.11 Oracle系统的SYS和SYSTEM模式
30.12 Oracle系统跟踪文件
31.1 硬件要求
第31章 Oracle 8i系统的安装
31.2 Oracle 8i Relase 8.1.7安装前的工作
31.3 Oracle 8i 8.1.7安装具体操作
31.4 安装后的工作
31.5 升级或移植Oracle应用系统方案建议
31.6 Oracle 8i的重新安装问题
32.1 启动Oracle数据库
第32章 管理数据库
32.2 启动例程STARTUP
32.3 关闭例程SHUTDOWN
32.6 规划数据库
32.5 建立数据库
32.4 关闭SQL*NET
32.7 在NT环境创建第二个实例和数据库
32.8 在UNIX环境下创建第二个数据库
33.1 导出/导入概念
第33章 导出与导入
33.2 导出EXP实用程序
33.3 导入IMP实用程序
33.4 Oracle 8i的导出和导入新特性
33.5 导入(IMP)后的整理工作
34.1 用户身份验证方法
第34章 用户、权限及角色
34.2 建立内部用户
34.5 使用密码文件验证用户
34.4 建立全局验证用户
34.3 建立外部验证用户
34.6 修改与删除用户
34.7 资源管理
34.8 系统权限的授予与撤消
34.9 对象权限的授予与撤消
34.10.1 角色概念
34.10 角色与授权
34.10.2 识别用户权限
34.10.3 管理用户角色
34.11 有关的数据字典
35.2 配置数据库资源管理器
35.1 资源管理概述
第35章 数据库资源管理
35.3 建立和管理资源规划
35.3.1 为创建规划模式使用挂起区域
35.3.2 创建资源规划
35.3.3 创建用户组
35.3.4 指定资源规划指令
35.4 管理资源用户组
35.6 数据库资源管理器视图
35.5 启动数据库资源管理器
35.7 数据库资源管理器实例
36.1 审计的建立
第36章 审计数据库
36.3 对象审计
36.2 登录审计
36.6 控制审计数据的增涨
36.5 保护审计跟踪信息
36.4 数据活动审计
36.7 列出审计数据
37.1 基本概念
第37章 SQL*Loader的使用
37.2.1 控制文件语法
37.2 控制文件
37.3 数据文件(被装载对象)
37.2.2 写控制文件CTL
37.4.1 SQL*Loader命令SQLLDR
37.4 SQL*Loader操作
37.4.2 实例
37.5 从SQL产生SQL*Loader能使用的数据
37.4.3 加载后的数据检查与调整
37.6 加载图像和文本文件
37.7 SQL*Loader案例研究
37.7.1 案例1(加载变长数据)
37.7.2 案例2(加载定长格式数据)
37.7.4 案例4(加载组合的物理记录)
37.7.3 案例3(限定符的自由格式数据)
37.7.5 案例5(加载数据到多个表)
37.7.7 案例7(从格式报告中抽取加载数据)
37.7.6 案例6(使用目录路径加载数据)
37.7.8 案例8(加载数据到分区的表)
37.7.9 案例9(加载LOBFILE(CLOB)数据)
37.7.10 案例10(加载REF字段和VARRAY)
38.1.1 使用多个控制文件
38.1 管理控制文件
第38章 控制文件及日志文件的管理
38.1.2 建立新的控制文件
38.1.4 查询控制文件信息
38.1.3 给控制文件的增长留出空间
38.2.1 日志切换
38.2 管理日志文件
38.2.2 建立多个日志文件
38.2.4 删除重做日志文件
38.2.3 重新命名日志成员名字
39.1 表空间与数据文件
第39章 表空间与数据文件管理
39.2 创建表空间
39.3 表空间日常管理
39.4 查询表空间
39.5 删除表空间
39.6 使用DBMS_SPACE_ADMIN包维护表空间
39.7 数据文件管理
第40章 回滚段管理与调整
40.1 基本概念
40.2 创建和使用回滚段
40.2.1 创建回滚段
40.2.3 回滚段创建示例
40.2.2 设置OPTIMAL参数
40.2.4 在事务中指定使用回滚段
40.2.5 回滚段使用量的估算
40.3 调整回滚段
40.4 改变回滚段
41.1.1 设计表结构
41.1 管理应用系统表的管理
第41章 表和索引及簇的管理
41.1.2 理解存储参数和PCTFREE与PCTUSED
41.1.3 将表移动到新的数据段或新的表空间
41.1.4 手工分配表的存储空间
41.1.6 标记不使用的列
41.1.5 校正过度增长的表
41.1.7 删除不使用的列
41.2 索引的管理
41.1.9 关于表的数据字典
41.1.8 删除不需要的表
41.3 簇的管理
41.4 表、索引和簇分析与优化
41.5 完整性管理
42.2 分区的创建方法
42.1 表分区和索引分区概念
第42章 表分区和索引分区的管理
42.3 维护分区
43.1 管理视图
第43章 视图、序列、同义词的管理
43.2 管理实体视图
43.3 管理序列
43.4 管理同义词
44.3 触发器、存储过程等的导出
44.2 存储过程的管理
第44章 触发器、存储过程及包的管理
44.1 禁止和启用触发器
44.4 无效对象的编译
45.1 Oracle系统安装
第45章 一些疑难技术与解决技巧
45.3 导出与导入问题
45.2 升级、降级、移植和重组
45.4 关于字符集
46.1 多线程的配置
第46章 多线程服务器配置
46.2 配置多线程注意事项
47.1 数据库作业
第47章 数据库作业与管理
47.2.1 启动SNP进程
47.2 管理作业队列
47.2.2 从作业队列中删除作业
47.2.3 更改对队中的作业
47.2.4 损坏的作业处理
47.3 查看作业信息
47.2.5 结束作业运行
48.1.2 熟悉警告日志的事件或消息
48.1.1 经常查看警告日志文件内容
第48章 警告日志与跟踪日志
48.1 警告与日志文件
48.1.3 分析警告日志错误
48.2 对警告日志进行归档
48.3.2 分析跟踪文件的信息
48.3.1 跟踪文件的产生
48.3 跟踪文件
48.3.3 跟踪文件的内容
48.4 关于NET8的日志与跟踪
48.4.1 日志文件(LOG File)
48.4.2 跟踪文件(Trace File)
49.2 在参数文件中指定参数值
49.1 初始化参数文件
第49章 初始化参数、SQL脚本文件
49.4 DBA常用参数说明
49.3 参数说明
49.5 SQL脚本文件
50.3 字段类型及长度的选择
50.2 正确的主键字段的选择
第四篇 Oracle 8i优化基础
第50章 数据库结构设计要点
50.1 分析阶段对表的理解
50.6 建立公共字典表
50.5 采用具有编码的设计方法
50.4 将LOB类型的字段与其他的类型分开
50.11 确定数据库对象存储大小
50.10 表和索引的空间预分配
50.7 哪种类型的表设为cache方式
50.8 数据表和索引分开的原则
50.9 是否采用簇和分区
50.13 应用系统性能优化原则
50.12 应用类型设计考虑要点
51.1 项目分析要点考虑
第51章 项目分析、设计与管理
51.2.2 数据表空间和索引空间分开
51.2.1 系统表空间
51.2 数据库逻辑设计
51.2.4 临时表空间设计规划
51.2.3 回滚段设置
51.3 数据库物理设计
51.2.5 数据文件和日志文件在不同磁盘上
51.4 开发过程管理
51.5 确定应用程序类型
51.7 Oracle配置
51.6 注册应用程序
51.8 Oracle数据库增长的规划
52.1.2 重新构造语句
52.1.1 重新构造索引
第52章 优化SQL语句
52.1 SQL语句的优化方法
52.1.4 重组数据
52.1.3 调整或使触发器无效
52.2 优化目标
52.3 实际优化实例
52.4 SQL语句优化技巧
52.5 使用EXISTS和IN
52.6 分离事务
52.7 测试SQL语句性能
52.8.2 启用SQL_Trace实用工具
52.8.1 设置跟踪初始化参数
52.8 使用SQL_Trace和TKPROF
52.8.3 用TKPROF格式化跟踪文件
52.8.4 解释TKPROF输出文件
52.8.5 解释计划策略
52.8.6 AUTOTRACE实用程序
53.2 SQL处理体系结构
53.1 Oracle优化器
第53章 优化器
53.3 EXPLAIN PLAN
53.4 选择优化器路径及目标
53.5 基于代价优化器(CBO)
53.6 基于规则(RBO)的优化程序
53.7 优化器操作
54.1 警告日志文件
第54章 调整信息的来源
54.2 后台、事件及用户跟踪文件
54.3 性能调整视图
54.4 Oracle支持的调整脚本
54.5 图形性能调整工具
55.2 调整用的会话级或暂时视图
55.1 调整用的实例级视图
第55章 动态性能视图与性能诊断
55.4 有计划地调整系统的因子
55.3 当前统计值与变化比率
55.7 I/O限制
55.6 不足的内存
55.5 不足的CPU
55.9 软件限制
55.8 网络限制
56.3 调整操作系统内存需求
56.2 监测内存分配问题
第56章 调整内存分配
56.1 理解内存分配要求
56.4.1 观察Redo Log Buffer是否有竞争
56.4 调整Redo Log Buffer
56.4.2 调整Redo Log Buffer性能
56.5.3 Shared Pool部件
56.5.2 缓存语句的好处
56.5 调整Shared Pool
56.5.1 理解Shared Pool的用途
56.5.4 测试Shared Pool的性能
56.5.5 改善Shared Pool的性能
56.6.1 理解数据库缓冲区
56.6 调整Buffer Cache
56.6.2 测试数据库缓冲区
56.6.3 改善数据库缓冲区性能
57.1 理解I/O问题
第57章 调整物理I/O
57.2 调整数据文件I/O性能
57.3 调整DBWR0性能
57.4 调整SEGMENG块的I/O
57.5 调整checkpoint和CKPT的I/O
57.6 调整归档及ARCO的I/O
57.7 调整排序的I/O
58.3.1 调整回滚段的竞争
58.3 解决资源竞争
第58章 调整资源竞争
58.1 理解资源竞争
58.2 检测竞争问题
58.3.2 减少对MTS的竞争
58.3.4 减少重做日志缓冲区锁存器的竞争
58.3.3 减少对并行服务器的竞争
58.3.5 减少对LRU锁存器的竞争
58.3.6 减少对自由列表的竞争
58.4 管理锁的竞争
59.1 应用类型
第59章 内存和CPU的优化
59.3 影响命中率的因素
59.2 如何计算命中率
59.5 为应用选择目标命中率
59.4 内存和CPU的优化调整问题
59.6 内存和CPU的要求
参考文献