第一部分 Oracle简介\r\n第1章 数据库简介1\r\n1.1 什么是数据库1\r\n1.1.1 计算机产生之前1\r\n1.1.2 计算机发明之后1\r\n1.2 数据库的类型2\r\n1.2.1 层次数据库2\r\n1.2.2 网状数据库2\r\n1.2.3 关系数据库3\r\n1.3 关系数据库的特性4\r\n1.3.1 表4\r\n1.3.2 非硬编码的联系5\r\n1.3.3 隐藏物理实现5\r\n1.3.4 系统表5\r\n1.3.5 SQL5\r\n1.3.6 空(NULL)值5\r\n1.4 Oracle的优点6\r\n1.4.1 大型数据库6\r\n1.4.2 多用户6\r\n1.4.3 大量的工具6\r\n1.4.4 移植性6\r\n1.4.5 备份与恢复6\r\n1.4.6 分布式数据库6\r\n1.4.7 安全性7\r\n1.4.8 数据库数据处理7\r\n1.4.9 支持客户机/服务器方式7\r\n1.5 客户机/服务器系统7\r\n1.6 小结9\r\n第2章 Oracle数据库的体系结构10\r\n2.1 Oracle体系结构概述10\r\n2.2 内存10\r\n2.2.1 共享内存11\r\n2.2.2 用户进程内存14\r\n2.2.3 多线程服务器(MTS)15\r\n2.2.4 运行程序的内存15\r\n2.2.5 内存映像和交换15\r\n2.3 进程16\r\n2.3.1 系统进程16\r\n2.3.2 用户进程18\r\n2.4 物理文件18\r\n2.4.1 数据库文件18\r\n2.4.2 控制文件19\r\n2.4.3 redo日志19\r\n2.4.4 脱机redo日志19\r\n2.5 CPU19\r\n2.6 网络20\r\n2.7 系统表20\r\n2.7.1 USER-视图20\r\n2.7.2 ALL-视图20\r\n2.7.3 DBA-视图20\r\n2.7.4 V$视图21\r\n2.7.5 其他视图21\r\n2.8 Oracle 用户21\r\n2.9 逻辑结构22\r\n2.9.1 表22\r\n2.9.2 索引22\r\n2.9.3 序列23\r\n2.9.4 聚簇23\r\n2.9.5 视图23\r\n2.9.6 同义词24\r\n2.9.7 数据库链接24\r\n2.9.8 快照24\r\n2.10 小结24\r\n第二部分 Oracle基础\r\n第3章 SQL语言的组成25\r\n3.1 数据库对象25\r\n3.1.1 表空间(Tables pace)25\r\n3.1.2 模式(Schema) 29\r\n3.1.3 表(Table) 29\r\n3.1.4 索引(Index) 35\r\n3.1.5 序列(Sequence) 37\r\n3.1.6 聚簇(Cluster) 38\r\n3.1.7 视图(View) 39\r\n3.1.8 快照(Snap short) 40\r\n3.2 数据访问 SQL命令41\r\n3.2.1 同义词(Synonyms)41\r\n3.2.3 授权41\r\n3.3 数据操纵语言命令(DML) 42\r\n3.4 Oracle的过程化扩展42\r\n3.5 小结42\r\n第4章 Oracle查询43\r\n4.1 基本查询43\r\n4.2 使用表达式45\r\n4.3 使用特殊的伪列46\r\n4.3.1 sequence.NEXTVAL和seqrence.CURRVAL47\r\n4.3.2 ROWID47\r\n4.3.3 ROWNUM48\r\n4.3.4 UID和USER48\r\n4.4 非等值查询条件49\r\n4.5 使用空值50\r\n4.6 基于值集的查询51\r\n4.7 组合逻辑51\r\n4.8 使用列和表的别名53\r\n4.9 选择不同值53\r\n4.10 查询中的多表连接54\r\n4.11 使用子查询57\r\n4.12 Union和其他多步查询58\r\n4.13 完整的查询59\r\n4.14 小结61\r\n第5章 使用日期、数值和字符函数62\r\n5.1 转换函数62\r\n5.1.1 CHARTOROWID(string) 62\r\n5.1.2 CONVERT(string,dest-character-set[,source-characyer-set] 62\r\n5.1.3 HEXTORAW(string) 62\r\n5.1.4 RAWTOHEX(raw-value) 63\r\n5.1.5 TOWIDTOCHAR(rowid) 63\r\n5.1.6 TO-CHAR(number[,format] 63\r\n5.1.7 TO-CHAR(date,format) 65\r\n5.1.8 TO-DATE(string,format) 66\r\n5.1.9 TO-LABEL(string,format) 67\r\n5.1.10 TO-MULTI-BYTE(string) 67\r\n5.1.11 TO-NUMBER(number[,format]) 67\r\n5.1.12 TO-SINGLE-BYTE(string) 67\r\n5.2 Oracle的日期函数67\r\n5.2.1 ADD-MONTHS(date,number) 67\r\n5.2.2 LAST-DAY(date) 68\r\n5.2.3 MONTHS-BETWEEN(date1,date2) 68\r\n5.2.4 NEW-TIME (date,zone1,zome2) 68\r\n5.2.5 NDXT-TIME(date,day) 69\r\n5.2.6 ROUND(date,format) 69\r\n5.2.7 TRUND(date,format) 70\r\n5.3 Oracle数值函数70\r\n5.3.1 ABS(number) 70\r\n5.3.2 CEIL(number) 71\r\n5.3.3 COS(number) 71\r\n5.3.4 COSH(number) 71\r\n5.3.5 EXP(number) 71\r\n5.3.6 FLOOR(number) 71\r\n5.3.7 LN(number) 72\r\n5.3.8 LOG(base,mumber) 72\r\n5.3.9 MOD(n,m) 72\r\n5.3.10 POWER(x,y) 72\r\n5.3.11 ROUND(number,decimal-digits) 72\r\n5.3.12 SIGN(number) 73\r\n5.3.13 SIN(number) 73\r\n5.3.14 SINH(number) 73\r\n5.3.15 SQRT(number) 73\r\n5.3.16 TAN(number) 73\r\n5.3.17 TANH(number) 74\r\n5.3.18 TRUNC(number[,decimal-pluces]) 74\r\n5.4 Oracle字符函数74\r\n5.4.1 ASCII(character) 74\r\n5.4.2 CHR(number) 74\r\n5.4.3 CONCAT(string1,string2) 75\r\n5.4.4 INITCAP(string) 75\r\n5.4.5 INSTR(input-string,search-string[,n[,m]]) 75\r\n5.4.6 INSTRB(input-string,search-string[,n[,m]])76\r\n5.4.7 LENGTH(string) 76\r\n5.4.8 LENGTHB(string) 76\r\n5.4.9 LOWER(string) 76\r\n5.4.10 LPAD(string,n[,pad-chars]) 76\r\n5.4.11 LTRIM(string,[,set-of-chars]) 77\r\n5.4.12 NLSORT(string[,nlsparms]) 77\r\n5.4.13 NLS-INITCAP(string[,nlsparms]) 77\r\n5.4.14 NLS-LOWER(string[,nlsparms])77\r\n5.4.15 NLS-UPPER(string[,nlsparms])77\r\n5.4.16 REPLACE(string,search-string[,replace-string])78\r\n5.4.17 RPAD(string,n,[,pad-string])78\r\n5.4.18 RTRIM(string[,char-set])78\r\n5.4.19 RTRIM(string) 79\r\n5.4.20 SUBSTR(string,start[,length]) 79\r\n5.4.21 SUBSTRB(string,start[,length])79\r\n5.4.22 TRANSLATE(string,search-set,replace-set)79\r\n5.4.23 UPPER(string) 80\r\n5.5 其他Oracle单行函数80\r\n5.5.1 DUMP(expression[,format[,start[,length]]])80\r\n5.5.2 GREATEST(list of values) 80\r\n5.5.3 GREATEST-LB(label[,label[,label…]]) 81\r\n5.5.4 LEAST(list of values) 81\r\n5.5.5 LEAST-UB(label[,label[,label…]])81\r\n5.5.6 NVL(expression,replacement-value)81\r\n5.5.7 USERENV(parameter)82\r\n5.5.8 VSIZE(expression) 82\r\n5.6 Oracle多行函数82\r\n5.6.1 AVGC(expression) 83\r\n5.6.2 COUNT(expression) 83\r\n5.6.3 GLB 83\r\n5.6.4 LUB83\r\n5.6.5 MAX(expression) 83\r\n5.6.6 MIN(expression) 84\r\n5.6.7 STDDEV(expression) 84\r\n5.6.8 SUM(expression) 84\r\n5.6.9 VARIANCE(expression) 84\r\n5.7 小结85\r\n第6章 复杂查询86\r\n6.1 递归查询86\r\n6.1.1 构造树查询86\r\n6.1.2 在树查询中嵌入结构87\r\n6.1.3 向上浏览88\r\n6.1.4 删除分支88\r\n6.1.5 连接树查询与其他表89\r\n6.2 外连接90\r\n6.2.1 执行数据完整检查92\r\n6.2.2 在外连接表上应用其他条件92\r\n6.3 相关子查询93\r\n6.3.1 单行条件的相关子查询93\r\n6.3.2 EXISTS93\r\n6.3.3 NOT EXISTS95\r\n6.4 小结95\r\n第7章 使用Oracle函数的创新技术96\r\n7.1 使用DECODE96\r\n7.1.1 使用DECODE排序97\r\n7.1.2 使用DECODE定义范围97\r\n7.2 使用GROUP BY98\r\n7.2.1 使用GAVING筛选值99\r\n7.2.2 检索数据的直方图99\r\n7.2.3 在动态视图中使用GRORP BY100\r\n7.3 检索数据的矩阵100\r\n7.4 自身表连接101\r\n7.5 用SQL产生SQL103\r\n7.6 小结105\r\n第8章 创建表107\r\n8.1 基本CREATE TABLE语句107\r\n8.1.1 表名 107\r\n8.1.2 列名 107\r\n8.1.3 数据类型107\r\n8.2 权限要求112\r\n8.3 表的存储空间113\r\n8.3.1 STORAGE子句113\r\n8.3.2 其他存储参数114\r\n8.3.3 估算表的存储空间115\r\n8.3.4 表的位置116\r\n8.3.5 表的重组116\r\n8.4 描述表定义117\r\n8.4.1 DESC117\r\n8.4.2 系统表118\r\n8.5 修改表118\r\n8.5.1 修改列定义118\r\n8.5.2 修改存储参数119\r\n8.5.3 修改约束119\r\n8.5.4 分配区间119\r\n8.6 改变表名 120\r\n8.7 拷贝表120\r\n8.8.1 简单拷贝120\r\n8.8.2 解决表存储空间问题120\r\n8.9 删除表120\r\n8.9.1 简单删除121\r\n8.9.2 删除带约束的表121\r\n8.10 小结121\r\n第9章 修改数据122\r\n9.1 修改数据简介122\r\n9.2 INSERT语句122\r\n9.2.1 插入单行122\r\n9.2.2 插入多行124\r\n9.2.3 从其他表拷贝数据125\r\n9.3 UPDATE语句125\r\n9.4 DELETE语句126\r\n9.5 在语句中使用函数127\r\n9.6 封锁127\r\n9.7 TRUNCATE语句128\r\n9.7.1 截断表128\r\n9.8 修改数据和权限128\r\n9.8.1 系统权限129\r\n9.8.2 对象级权限129\r\n9.8.3 角色131\r\n9.9 使用过程对象修改数据132\r\n9.10 索引、约束、数据库触发器和修改数据133\r\n9.10.1 索引133\r\n9.10.2 约束133\r\n9.10.3 数据库触发器134\r\n9.11 Oracle工具和修改数据134\r\n9.12 小结135\r\n第10章 其他数据库对象136\r\n10.1 为什么要用其他数据库对象136\r\n10.1.1 性能136\r\n10.1.2 灵活性136\r\n10.1.3 简化数据访问136\r\n10.2 索引137\r\n10.2.1 索引的存储和使用137\r\n10.2.2 索引类型137\r\n10.2.3 索引列142\r\n10.2.4 平衡143\r\n10.2.5 关于性能和索引143\r\n10.3 聚簇10.4 145\r\n10.4.1 索引聚簇 145\r\n10.4.2 散列聚簇 147\r\n10.4.3 单表聚簇 148\r\n10.4.4 删除聚簇中的表149\r\n10.4.5 创建聚簇的权限149\r\n10.4.6 聚簇的优缺点149\r\n10.5 序列149\r\n10.5.1 创建序列的其他选项152\r\n10.5.2 序列的缺点152\r\n10.6 视图154\r\n10.7 数据库链接158\r\n10.8 同义词159\r\n10.8.1 私有同义词159\r\n10.8.2 公共同义词161\r\n10.10 小结162\r\n第11章 事务163\r\n11.1 事务是什么163\r\n11.2 事务的开始与结束163\r\n11.3 语句级回滚164\r\n11.4 什么时候行封锁166\r\n11.4.1 缺省数据封锁166\r\n11.4.2 SELECT FOR UPDATE166\r\n11.4.3 LOCK TABLE命令167\r\n11.4.4 封锁后能干什么168\r\n11.4.5 什么时候释放锁169\r\n11.5 死锁169\r\n11.5.1 什么是死锁169\r\n11.5.2 死锁处理169\r\n11.5.3 避免死锁170\r\n11.6 保存点170\r\n11.7 PL/SQL和事务171\r\n11.8 DDL语句和事务172\r\n11.9 分布式事务172\r\n11.10 小结173\r\n第12章 PL/SQL174\r\n12.1 设置PL/SQL175\r\n12.2 使用PL/SQL175\r\n12.2.1 SQL脚本文件175\r\n12.2.2 存储过程176\r\n12.2.3 软件包177\r\n12.2.4 函数179\r\n12.2.5 触发器179\r\n12.2.6 存储过程、函数和触发器的优点180\r\n12.2.7 使用PL/SQL的要点180\r\n12.3 PL/SQL语法简介182\r\n12.4 块结构182\r\n12.5 参数传递184\r\n12.5.1 参数的考虑184\r\n12.6 PL/SQL的变量185\r\n12.6.1 定义数据类型185\r\n12.6.2 变量范围187\r\n12.6.3 变量和操作符187\r\n12.7 控制程序流189\r\n12.7.1 IF...THEN...ELSE189\r\n12.7.2 LOOP190\r\n12.7.3 WHILE循环190\r\n12.7.4 FOR循环191\r\n12.7.5 CURSOR FOR循环191\r\n12.8 处理错误191\r\n12.9 游标 194\r\n12.10 注释语句195\r\n12.11 PL/SQL测试197\r\n12.12 小结198\r\n第13章 嵌入苷SQL和Oracle预编译器199\r\n13.1 Oracle预编译器支持的语言199\r\n13.2 Oracle预编译器概述200\r\n13.3 使用Oracle预编译器的原因200\r\n13.4 本章的组织结构201\r\n13.5 变量声明、数据类型和可声明嵌入式SQL语句201\r\n13.5.1 宿主变量201\r\n13.5.2 指示变量201\r\n13.5.3 DECLARE SECTION202\r\n13.5.4 数据类型203\r\n13.6 连接数据库205\r\n13.6.1 外部登录205\r\n13.6.2 内部登录206\r\n13.6.3 并发登录207\r\n13.7 用嵌入式SQL访问和操纵数据207\r\n13.7.1 事务处理207\r\n13.7.2 动态SQL209\r\n13.8 错误与通信处理214\r\n13.8.1 SQLCA214\r\n13.8.2 SQLCODE216\r\n13.8.3 ORACA216\r\n13.9 预编译源代码217\r\n13.9.1 条件预编译218\r\n13.9.2 预编译选项219\r\n13.10 性能优化221\r\n13.11 小结222\r\n第14章 数据库约束、触发器的过程223\r\n14.1 软件存储在数据库中的原因223\r\n14.2 约束基础225\r\n14.3 创建与修改约束226\r\n14.4 主码229\r\n14.5 外码229\r\n14.6 其他约束231\r\n14.7 存储过程232\r\n14.8 软件包234\r\n14.9 函数235\r\n14.10 触发器237\r\n14.11 创建存储过程、函数和触发器238\r\n14.12 访问存储过程和函数240\r\n14.13 小结242\r\n第15章 Oracle环境的安全性243\r\n15.1 Oracle用户243\r\n15.1.1 创建、修改和删除用户243\r\n15.1.2 外部标识用户248\r\n15.2 不同类型的权限249\r\n15.2.1 系统级权限249\r\n15.2.2 对象级权限251\r\n15.3 角色258\r\n15.3.1 角色的作用258\r\n15.3.2 创建、修改和删除角色259\r\n15.3.3 授予角色系统级和对象级权限260\r\n15.3.4 授予和收回角色261\r\n15.3.5 允许和禁止角色262\r\n15.3.6 操作系统允许的角色263\r\n15.3.7 用户的缺省角色263\r\n15.3.8 预定义角色264\r\n15.3.9 角色的数据字典视图264\r\n15.3.10 角色的缺陷267\r\n15.4 配置文件(Profile)268\r\n15.4.1 缺省配置文件268\r\n15.4.2 创建配置文件268\r\n15.4.3 可限制的资源269\r\n15.4.4 赋予配置文件270\r\n15.4.5 激活资源检查271\r\n15.5 小结271\r\n第三部分 Oracle工具\r\n第16章 SQL*DBA和Server Manager272\r\n16.1 使用SQL*DBA的用户272\r\n16.1.1 Internal用户273\r\n16.2 运行模式273\r\n16.2.1 行模式273\r\n16.2.2 屏幕模式273\r\n16.3 使用SQL*DBA274\r\n16.3.1 键盘功能键275\r\n16.3.2 菜单276\r\n16.3.3 SQL*DBA中可用的命令277\r\n16.3.4 SQL*DBA命令277\r\n16.3.5 SQL*DBA中的帮助277\r\n16.3.6 COMMAND=278\r\n16.4 小结278\r\n第17章 SQL*Plus279\r\n17.1 什么是SQL*Plus279\r\n17.2 输入和编辑279\r\n17.2.1 输入和编辑280\r\n17.3 设置SQL*Plus282\r\n17.3.1 SET命令参数282\r\n17.3.2 SHOW命令288\r\n17.3.3 Windows版本289\r\n17.3.4 快速重置290\r\n17.3.5 其他命令290\r\n17.4 格式化列291\r\n17.5 Break和Compute292\r\n17.5.1 BTEAK命令292\r\n17.5.2 COMPUTE命令294\r\n17.6 命令的参数295\r\n17.6.1 &变量295\r\n17.6.2 SQL*Plus变量299\r\n17.7 完整的报表300\r\n17.7.1 一个总结报表300\r\n17.7.2 动态SQL302\r\n17.8 切换用户ID303\r\n17.9 GLOGIN.SQL和LOGIN.SQL304\r\n17.10 与Server Manager 的比较305\r\n17.11 小结305\r\n第18章 SQL*Loader306\r\n18.1 SQL*Loader的文件306\r\n18.1.1 控制文件306\r\n18.1.2 日志文件307\r\n18.1.3 数据文件307\r\n18.1.4 坏文件307\r\n18.1.5 废弃文件307\r\n18.2 SQL* Loader可装入的数据308\r\n18.3 命令行参数308\r\n18.3.1 运行程序308\r\n18.4 控制文件程序309\r\n18.4.1 控制文件选项310\r\n18.4.2 示例程序311\r\n18.5 约束和数据库触发器318\r\n18.6 直接装入方式318\r\n18.7 装入数据的其他方法319\r\n18.8 将数据卸出到平面文件320\r\n18.9 小结321\r\n第19章 Export/Import322\r\n19.1 Export和Import的作用322\r\n19.1.1 备份和恢复 322\r\n19.1.2 在数据库间传送数据322\r\n19.1.3 升级Oracle软件323\r\n19.1.4 整理数据库323\r\n19.2 Export和Import 的用户323\r\n19.3 运行这些程序的不同方式324\r\n19.3.1 交互方式324\r\n19.3.2 GUI方式325\r\n19.3.3 命令行方式325\r\n19.3.4 参数文件方式325\r\n19.4 Export的不同层次325\r\n19.4.1 整个数据库325\r\n19.4.2 用户级326\r\n19.4.3 单个表326\r\n19.4.4 导出和导入的内容326\r\n19.5 Export参数据327\r\n19.5.1 Help327\r\n19.5.2 USERID327\r\n19.5.3 BUFFER327\r\n19.5.4 FILE327\r\n19.5.5 COMPRESS327\r\n19.5.6 GRANTS328\r\n19.5.7 INDEXES328\r\n19.5.8 ROWS328\r\n19.5.9 CONSTRAINTS328\r\n19.5.10 LOG328\r\n19.5.11 FULL328\r\n19.5.12 OWNER329\r\n19.5.13 TABLES329\r\n19.5.14 RECORD LENGTH329\r\n19.5.15 INCTYPE329\r\n19.5.16 RECORD329\r\n19.5.17 PARFILE329\r\n19.5.18 CONSISTENT329\r\n19.5.19 STATISTICS330\r\n19.6 Import参数330\r\n19.6.1 SHOW330\r\n19.6.2 IGNORE330\r\n19.6.3 DESTROY331\r\n19.6.4 INDEXFILE331\r\n19.6.5 CHARSET331\r\n19.6.6 FROMUSER331\r\n19.6.7 TOUSER331\r\n19.6.8 COMMIT332\r\n19.11 使用Export和Import清理数据库332\r\n19.12 增量导出332\r\n19.13 权限要求333\r\n19.14 小结333\r\n第四部分 Oracle数据库的设计与构造\r\n第20章 定义和创建初始数据库334\r\n20.1 确定所需资源334\r\n20.1.1 初始数据库规模(DBS)文档334\r\n20.1.2 信息需求(RFI)文档335\r\n20.1.3 初始系统建议(ISP)文档336\r\n20.1.4 硬件/软件(H/S)文档336\r\n20.1.5 服务级别协定(SLA)文档342\r\n20.2 逻辑分析与设计342\r\n20.2.1 规范化342\r\n20.2.2 数据建模342\r\n20.2.3 实体联系(ER)图344\r\n20.2.4 非规范化349\r\n20.2.5 物理设计350\r\n20.2.6 创建数据库352\r\n20.3 小结365\r\n第21章 创建初始数据库对象366\r\n21.1 创建物理对象366\r\n21.1.1 Oracle表空间366\r\n21.1.2 表373\r\n21.1.3 索引376\r\n21.2 小结378\r\n第22章 从DB2/MVS给Oracle加载数据379\r\n22.1 加载引用表379\r\n22.1.1 转储DB2/MVS上的源表379\r\n22.1.2 将源数据从MVS转换到UNIX平台(数据转换)393\r\n22.1.3 加载数据到Oracle 7.3数据库(初始加载)393\r\n22.2 小结394\r\n第五部分 开发 Oracle应用程序\r\n第23章 测试数据库的可用性395\r\n23.1 执行查询395\r\n23.2 使用分析工具395\r\n23.3 检查功能可靠性和性能398\r\n23.4 检查多线程服务器401\r\n23.5 测试表的列完整性约束402\r\n23.6.1 UNIQUE约束402\r\n23.6.2 VALIDQTION或CHECK约束402\r\n23.6.3 FOREIGN KEY约束403\r\n23.7 检查国际语言支持403\r\n23.8 测试复制数据库404\r\n23.8.1 使用多个只读快照节点的单个主数据库404\r\n23.8.2 多个主拷贝405\r\n23.8.3 使用多个可更新快照节点的单个主数据库405\r\n23.8.4 所有复制环境的混合405\r\n23.8.5 同步或异步更新405\r\n23.9 测试分布式数据库406\r\n23.10 测试使用基于代价的优化器应用程序:ANALYZE语句407\r\n23.11 测试使用并行查询的应用程序409\r\n23.12 检查数据库锁410\r\n23.13 测试备份和恢复过程 410\r\n23.14 测试灾难恢复过程411\r\n23.15 保证高可用性411\r\n23.16 检查安全性413\r\n23.17 小结413\r\n第24章 项目开发方法414\r\n24.1 开发方法的演变414\r\n24.1.1 早期方法415\r\n24.1.2 方法演变416\r\n24.2 基于数据还是基于应用程序417\r\n24.3 计算机辅助软件项目417\r\n24.3.1 数据流图418\r\n24.3.2 实体联系图419\r\n24.3.3 状态转换图419\r\n24.3.4 伪码421\r\n24.3.5 类层次图421\r\n24.3.6 其他CASE功能421\r\n24.4 瀑布法423\r\n24.5 重复方法424\r\n24.5.1 添加子系统424\r\n24.5.2 添加功能425\r\n24.6 快速应用开发426\r\n24.7 原型法427\r\n24.8 整体系统集成427\r\n24.9 选择自己的方法429\r\n24.10 小结429\r\n第25章 Oracle项目的质量保证430\r\n25.1 质量的重要性430\r\n25.2 什么是质量430\r\n25.2.1 性能431\r\n25.2.2 可靠性431\r\n25.2.3 功能431\r\n25.2.4 一致性431\r\n25.2.5 耐用性431\r\n25.2.6 可服务性431\r\n25.2.7 美观性432\r\n25.2.8 感觉质量432\r\n25.3 获得质量432\r\n25.4 Oracle环境的质量432\r\n25.4.1 策略阶段433\r\n25.4.2 分析阶段434\r\n25.4.3 设计阶段434\r\n25.4.4 建立阶段435\r\n25.4.5 用户文档阶段436\r\n25.4.6 过渡阶段437\r\n25.4.7 产品阶段437\r\n25.5 质量行动438\r\n25.5.1 企业数据仓库438\r\n25.5.2 销售和市场数据库439\r\n25.6 小结439\r\n第六部分 Oracle产品的系统维护\r\n第26章 监控重要的数据库统计信息440\r\n26.1 查看数据库内部440\r\n26.2 重要的统计数字443\r\n26.3 SQL*DBA,Server Manager和SQL*Plus445\r\n26.4 使用统计数字446\r\n26.5 优化统计数字450\r\n26.6 小结453\r\n第27章 定义可行的维护计划454\r\n27.1 计划升级454\r\n27.2 整体系统透视456\r\n27.3 健康的数据库应用程序458\r\n27.4 监控461\r\n27.5 审计462\r\n27.6 容量计划463\r\n27.7 小结464\r\n第28章 改进已有产品系统465\r\n28.1 代码适用性465\r\n28.1.1 标准465\r\n28.1.2 创建可重用代码468\r\n28.2 改进系统的适当途径469\r\n28.2.1 分析470\r\n28.2.2 设计470\r\n28.2.3 开发476\r\n28.2.4 实现476\r\n28.2.5 测试476\r\n28.3 小结484\r\n第29章 制订数据备份和恢复计划485\r\n29.1 什么是备份和恢复计划485\r\n29.2.1 风险管理485\r\n29.2.2 运行策略485\r\n29.2.3 备份方法485\r\n29.2.4 恢复类型486\r\n29.3 第Ⅰ部分:风险管理486\r\n29.3.1 信息搜集486\r\n29.3.2 自然灾害/气候/供电487\r\n29.3.3 用户的风险487\r\n29.3.4 操作系统(OS)/软件故障489\r\n29.3.5 硬件错误或失败490\r\n29.3.6 配置490\r\n29.4 第Ⅱ部分:Oracle 7运行策略490\r\n29.4.1 转储日志491\r\n29.4.2 自动转储日志与手工转储日志492\r\n29.4.3 非转储日志493\r\n29.5 第Ⅲ部分:备份方法494\r\n29.5.1 数据库文件494\r\n29.5.2 控制文件494\r\n29.5.3 BACKUP TO TRACE命令494\r\n29.5.4 控制文件复制495\r\n29.5.6 日志文件495\r\n29.5.7 操作系统495\r\n29.5.6 冷备份496\r\n29.5.7 热备份497\r\n29.5.8 Export497\r\n29.5.9 备份的频率和自动经化497\r\n29.6 第Ⅳ部分:恢复 498\r\n29.6.1 情形#1(用户错误)498\r\n29.6.2 情形#2(介质错误)500\r\n29.6.3 恢复情形#3(SQL命令失败)501\r\n29.6.4 备份情形#4(进程中断)501\r\n29.6.5 恢复情形#5(分布式处理错误)502\r\n29.10 小结502\r\n第七部分 疑难解答\r\n第30章 性能优化503\r\n30.1 简介503\r\n30.1.1 系统管理员的作用504\r\n30.1.2 数据库管理员的作用504\r\n30.1.3 应用程序开发员的作用504\r\n30.1.4 网络管理员的作用504\r\n30.2 明确性能瓶颈505\r\n30.2.1 系统优化505\r\n30.2.2 数据库优化506\r\n30.2.3 网络优化507\r\n30.3 数据库优化508\r\n30.3.1 优化数据库磁盘I/O508\r\n30.3.2 优化回滚段509\r\n30.3.3 优化Redo日志511\r\n30.3.4 系统全局区(SGA)513\r\n30.4 优化数据库对象517\r\n30.4.1 优化表存储参数518\r\n30.4.2 允许并行查询519\r\n30.4.3 管理表的动态存储分配519\r\n30.4.4 避免链式行519\r\n30.4.5 优化索引存储参数520\r\n30.5 优化SQL520\r\n30.5.1 利用可用的索引520\r\n30.5.2 使用SQL提示520\r\n30.5.3 SQL语句标准化521\r\n30.5.4 覆盖优化器目标 521\r\n30.5.5 使用EXPLAIN PLAN521\r\n30.5.6 使用TKPROF522\r\n30.6 优化应用程序523\r\n30.6.1 应用程序登记523\r\n30.6.2 使用触发器、PL/SQL和约束525\r\n30.6.3 优化Client/Server应用525\r\n30.7 小结526\r\n第31章 Oracle’s查询优化器527\r\n31.1 优化模式527\r\n31.1.1 基于规则的查询优化527\r\n31.1.2 基于代价的查询优化528\r\n31.1.3 选择模式531\r\n31.2 查询优化器如何工作531\r\n31.2.1 优化查询步骤531\r\n31.2.2 查看执行计划534\r\n31.3 变更优化模式535\r\n31.3.1 SQL提示536\r\n31.3.2 ALTER SESSION命令536\r\n31.3.3 INIT.ORA文件537\r\n31.4 使用ANALYZE命令537\r\n31.4.1 ANALYZE命令修改的数据537\r\n31.5 小结538\r\n第32章 调试工具539\r\n32.1 常见的问题539\r\n32.2 为什么产生问题539\r\n32.3 识别问题540\r\n32.3.1 增加的数据容量540\r\n32.3.2 INIT.ORA参数540\r\n32.3.3 OPTIMIZER-GOAL540\r\n32.3.4 未做分析的表540\r\n32.3.5 存储分配541\r\n32.3.6 锁争用542\r\n32.4 发现问题542\r\n32.4.1 数据字典性能视图543\r\n32.4.2 EXPLAIN PLAN547\r\n32.4.3 使用SQL跟踪550\r\n32.4.4 使用TKPROF552\r\n32.5 SVRMGR556\r\n32.6 小结556\r\n第八部分 其他Oracle概念\r\n第33章 并行处理557\r\n33.1 处理模型557\r\n33.1.1 响应时间557\r\n33.1.2 顺序处理模型557\r\n33.1.3 并行处理模型558\r\n33.2 并行处理的目的558\r\n33.2.1 加速倍数558\r\n33.2.2 增长比例559\r\n33.3 并行处理的障碍559\r\n33.3.1 任务分解559\r\n33.3.2 同步560\r\n33.3.3 锁定560\r\n33.3.4 消息传递561\r\n33.4 并行处理体系结构561\r\n33.4.1 硬件平台561\r\n33.4.2 软件562\r\n33.5 并行服务器配置562\r\n33.5.1 无共享系统562\r\n33.5.2 共享内存系统563\r\n33.5.3 共享磁盘系统564\r\n33.6 实现Oracle并行服务器565\r\n33.6.1 Oracle并行数据库566\r\n33.6.2 并行服务器操作方式566\r\n33.6.4 处理封锁问题567\r\n33.6.5 LCKX进程567\r\n33.7 分布式封锁管理程序568\r\n33.7.1 封锁队列569\r\n33.7.2 封锁方式569\r\n33.7.3 跟踪锁569\r\n33.10 小结570\r\n第34章 分布式处理571\r\n34.1 分布式数据库571\r\n34.1.1 客户/服务器体系结构571\r\n34.1.2 分布式数据库的优点572\r\n34.2 数据库链接574\r\n34.3 数据复制575\r\n34.3.1 快照575\r\n34.3.2 可更新快照576\r\n34.3.3 被复制的环境576\r\n34.5 分布式与远程事务578\r\n34.5.1 本地事务579\r\n34.5.2 远程事务579\r\n34.5.3 分布式事务580\r\n34.5.4 会话树580\r\n34.5.5 两阶段提交582\r\n34.6 小结 585\r\n第35章 Trusted Oracle586\r\n35.1 存取控制方法586\r\n35.1.1 自由存取控制586\r\n35.1.2 强制存取控制587\r\n35.2 Trusted Oracle操作方式590\r\n35.2.1 DBMS MAC方式590\r\n35.2.2 OSMAC方式594\r\n35.2.3 两种方式间的选择595\r\n35.2.4 创建安全策略595\r\n35.3 移植到Trusted Oracle596\r\n35.4.1 移植到DBMS MAC方式596\r\n35.4.3 移植到OS MAC方式598\r\n35.5 Trusted Oracle数据字典参考599\r\n35.5.1 Trusted Oracle所特有的视图/表600\r\n35.5.2 Trusted Oracle修改的视图600\r\n35.6 Trusted Oracle INIT.ORA参数参考600\r\n35.7 小结601\r\n第36章 国际语言支持602\r\n36.1 EBCDIC和ASCII字符集602\r\n36.2 国际语言支持功能607\r\n36.2.1 显示和存储字符集608\r\n36.2.2 变更日期格式609\r\n36.2.3 变更数字格式609\r\n36.2.4 变更Oracle消息显示所用语言609\r\n36.2.5 变更排序顺序609\r\n36.2.6 变更缺省日历610\r\n36.3 使NLS功能生效610\r\n36.3.1 INIT.ORA参数文件610\r\n36.3.2 环境变量设置610\r\n36.3.3 ALTER SESSION命令611\r\n36.4 NLS参数参考611\r\n36.4.1 NLS-CALENDAR612\r\n36.4.2 NLS-CREDIT612\r\n36.4.3 NLS-CURRENCY612\r\n36.4.4 NLS-DATE-FORMAT612\r\n36.4.5 NLS-DATE-LANGUAGE613\r\n36.4.6 NLS-DEBIT613\r\n36.4.7 NLS-DISPLAY613\r\n36.4.8 NLS-ISO-CURRENCY613\r\n36.4.9 NLS-LANG614\r\n36.4.10 NLS-LANGUAGE614\r\n36.4.11 NLS-MONETARATOR614\r\n36.4.12 NLS-MONETARY-CHARAC-TERS615\r\n36.4.13 NLS-NUMERIC-CHARACTERS615\r\n36.4.14 NLS-SORT615\r\n36.4.15 NLS-TERRITORY616\r\n36.5 支持的语言和地区616\r\n36.6 小结617\r\n第九部分 附录\r\n附录A 语句注解618\r\n附录B 其他信息源638\r\n附录C 词汇表 643
无封面