Oracle开发艺术的目 录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle开发艺术的目 录相关的知识,希望对你有一定的参考价值。

参考技术A

第1章 大话数据库编程规范 1
1.1 编程规范概述 1
1.2 书写规范 2
1.2.1 大小写风格 2
1.2.2 缩进风格 2
1.2.3 空格及换行 3
1.2.4 其他 4
1.3 命名规范 4
1.3.1 表和字段命名规范 4
1.3.2 其他对象命名 5
1.4 变量命名 7
1.5 注释规范 8
1.6 语法规范 9
1.7 脚本规范 12
规则1.7.1 13
规则1.7.2 13
规则1.7.3 13
第2章 Oracle开发常用工具及使用 14
2.1 AWR工具与性能优化 14
2.1.1 AWR介绍 14
2.1.2 AWR的安装与配置 15
2.1.3 AWR报表使用 15
2.1.4 分析AWR报表基本思路 17
2.1.5 案例 17
2.2 SQL_TRACE事件 24
2.2.1 SQL_TRACE/事件是什么 24
2.2.2 总体流程介绍 24
2.2.3 SQL_TRACE事件具体使用方法 24
2.2.4 案例分析 28
2.2.5 小结 32
2.3 计时和剖析工具 32
2.3.1 PLSQL_PROFILER概述 34
2.3.2 剖析举例 37
2.3.3 安全性 45
第3章 探索MERGE方法 46
3.1 MERGE是什么 46
3.2 Oracle 10g中MERGE的完善 48
3.2.1 UPDATE和INSERT动作可只出现其一 48
3.2.2 可对MERGE语句加条件 48
3.2.3 可用DELETE子句清除行 49
3.2.4 可采用无条件方式INSERT 49
3.3 MERGE误区探索 49
3.3.1 无法在源表中获得一组稳定的行 49
3.3.2 DELETE子句的WHERE顺序必须在最后 51
3.3.3 DELETE 子句只可以删除目标表,而无法删除源表 52
3.3.4 更新同一张表的数据,需担心USING的空值 53
3.4 MERGE的巧妙运用 54
第4章 神秘的NULL和令人讨厌的CHAR 58
4.1 神秘的NULL 59
4.1.1 NULL概述 59
4.1.2 NULL与函数 64
4.1.3 NULL与索引 79
4.1.4 NULL与SQL 87
4.1.5 NULL与PL/SQL 97
4.1.6 再谈NULL和空字符串区别 101
4.1.7 NULL总结 101
4.2 令人讨厌的CHAR 102
4.2.1 CHAR与VARCHAR2基础 102
4.2.2 CHAR与SQL 105
4.2.3 CHAR与绑定变量 109
4.2.4 CHAR与PL/SQL 111
4.2.5 CHAR总结 112
第5章 报表开发之扩展GROUP BY 113
5.1 扩展GROUP BY概述 113
5.2 ROLLUP 114
5.2.1 UNION ALL实现ROLLUP功能 114
5.2.2 ROLLUP分组 116
5.2.3 部分ROLLUP分组 120
5.2.4 ROLLUP总结 121
5.3 CUBE 121
5.3.1 CUBE分组 121
5.3.2 部分CUBE分组 123
5.3.3 CUBE总结 124
5.4 GROUPING SETS实现小计 124
5.4.1 GROUPING SETS分组 124
5.4.2 部分GROUPING SETS分组 126
5.4.3 CUBE、ROLLUP作为GROUPING SETS的参数 126
5.4.4 GROUPING SETS总结 128
5.5 组合列分组、连接分组、重复列分组 128
5.5.1 组合列分组 130
5.5.2 连接分组 132
5.5.3 重复列分组 134
5.5.4 组合列分组、连接分组、重复列分组总结 134
5.6 3个扩展分组函数:GROUPING、GROUPING_ID、GROUP_ID 135
5.6.1 GROUPING函数 135
5.6.2 GROUPING_ID函数 138
5.6.3 GROUP_ID函数 142
5.6.4 扩展GROUP BY函数总结 144
5.7 扩展分组综合实例 144
第6章 探索Oracle自动类型转换 149
6.1 为什么不建议使用自动类型转换 150
6.2 自动类型转换规则 156
6.3 自动类型转换常见错误 166
第7章 Where in list问题解析 169
7.1 问题引入:动态SQL构造 170
7.2 使用正则表达式解决 172
7.3 使用常规字符串函数及动态视图 173
7.4 使用集合构造伪表 176
7.5 Where in list性能问题 178
7.6 Where in list问题总结 188
第8章 例说数据库表设计和大量数据处理方法 189
8.1 根据业务需求规划表结构 189
8.2 主键的确定 195
8.3 表的拆分、合并及数据的规范和反规范化 199
8.4 数据类型的选择 199
8.5 表的分区 203
8.6 表的压缩 203
8.7 抽取数据 205
8.7.1 利用SQL*PLUS的SPOOL功能 205
8.7.2 利用UTL_FILE 207
8.7.3 利用第三方工具 207
8.8 转换数据 207
8.8.1 数据的增删改 208
8.8.2 数据汇总 211
8.9 加载数据 227
8.9.1 利用SQLLDR加载 227
8.9.2 利用外部表加载 229
8.9.3 利用数据库链接加载 233
8.9.4 利用分区交换技术加载 234
8.10 逻辑导入/导出数据 240
第9章 数据审核 242
9.1 审核的分类 242
9.2 列审核设计 243
9.2.1 直接使用SQL语句 245
9.2.2 提高审核效率 248
9.2.3 管理审核关系 254
9.2.4 单个列的复杂审核 257
9.3 行审核设计 258
9.3.1 重码的审核 259
9.3.2 直接使用SQL语句 260
9.3.3 管理审核关系 261
9.3.4 行间包含四则运算的审核思路 266
9.3.5 更复杂的行间审核思路 267
9.4 小结 267
第10章 趣谈Oracle分析函数 269
10.1 概述 269
10.2 函数语法 270
10.3 函数列表 276
10.4 函数用法 277
10.4.1 最常见的分析函数应用场景 279
10.4.2 ROWS的具体用法 280
10.4.3 RANGE的具体用法 281
10.4.4 KEEP的用法 283
10.5 函数功能详解 284
10.5.1 统计函数 284
10.5.2 排序函数 285
10.5.3 数据分布函数 287
10.5.4 统计分析函数 289
10.6 分析函数在BI及统计上的应用 290
10.6.1 现状分析 290
10.6.2 发展分析 297
10.7 自定义聚集函数 298
10.7.1 自定义聚集函数接口简介 298
10.7.2 应用场景一:字符串聚集 299
10.7.3 应用场景二:指数移动平均线 301
第11章 Oracle层次查询 305
11.1 概述 305
11.2 样例数据 306
11.3 CONNECT BY和START WITH查询 306
11.3.1 概述 306
11.3.2 基本语法 306
11.3.3 样例 308
11.4 SYS_CONNECT_BY_PATH函数 313
11.5 WMSYS.WM_CONCAT非公开函数 314
第12章 号段选取应用 316
12.1 问题的提出 316
12.2 相关基础知识 317
12.2.1 伪列rownum和level 317
12.2.2 利用层次查询构造连续的数 317
12.2.3 用lead和lag获得相邻行的字段值 318
12.3 解决问题 320
12.3.1 已知号码求号段 320
12.3.2 根据号段求出包含的数 324
12.3.3 求缺失的号 326
12.3.4 求尚未使用的号段 330
12.4 小结 334
第13章 分析SQL执行计划的关注点 335
13.1 返回行与逻辑读的比率 335
13.2 聚合查询 338
13.3 返回行的数量 341
13.4 Oracle预测行准确与否 342
13.5 Predicate Information 346
13.6 动态采样 348
13.7 谁是主要矛盾 349
第14章 Oracle开发误区探索 352
14.1 避免对列运算 352
14.2 消除隐式转换 354
14.3 关注空格 354
14.4 存储过程与权限 355
14.5 提防DDL提交事务 357
14.6 Insert into 错误 359
14.7 关于or 360
14.8 sequence中的cache 361
14.9 树形查询易错处 364
14.10 小心保留字 367
14.11 函数索引陷阱 371
14.12 外连接陷阱 374
14.13 标量子查询 375
第15章 提升PL/SQL开发性能漫谈 378
15.1 重视解析 378
15.1.1 触发器尽量考虑内部代码过程封装 378
15.1.2 避免动态SQL 380
15.1.3 OLTP系统中尽量使用绑定变量 382
15.2 关注调用 384
15.2.1 减少对sysdate的调用 384
15.2.2 避免对mod函数的调用 385
15.2.3 设法减少表扫描次数 386
15.2.4 避免SQL中的函数调用 391
15.3 简洁为王 395
15.3.1 尽量用简单SQL替代PL/SQL逻辑 395
15.3.2 避免不必要的排序 397
15.3.3 利用Oracle现有功能 399
15.4 细致入微 400
15.4.1 使用pls_integer类型 400
15.4.2 避免数据类型转换 400
15.4.3 IF的顺序有讲究 402
15.4.4 设计开发对列是否为空慎重决定 404
15.4.5 分布式应用开发不可不知的HINT(driving_site) 407
第16章 管道函数的学习与实战应用 410
16.1 管道函数编写要点 410
16.2 功能描述及案例 411
16.2.1 可直接用TABLE()操作符方式输出结果集 411
16.2.2 结果集可作为表来使用,直接和其他表相关联 411
16.2.3 实现实时跟踪 412
16.3 管道函数注意点 414
16.3.1 清楚管道函数只是表函数的一种 414
16.3.2 管道函数与DML 415
16.3.3 管道函数集合的限制 416
16.3.4 与管道函数相关的异常NO_DATA_NEEDED 417
第17章 巧用锁特性避免重复启动同一程序 420
17.1 基本技巧介绍 420
17.2 原理介绍 422
17.3 程序代码 423
17.4 测试 426
17.5 需要注意的点 427
第18章 11g R2 新特性之递归with编程精粹 428
18.1 上下级关系 429
18.2 构造数列 435
18.3 排列组合问题 441
18.4 沿路径计算 457
18.5 国际SQL挑战赛 473
第19章 不可能的任务?超越Oracle 479
19.1 为何选择cube 480
19.1.1 cube简介 480
19.1.2 cube优势 480
19.1.3 测试环境 481
19.2 newkid的设计思路和优化步骤 482
19.2.1 一次扫描求出16种分组 482
19.2.2 一次扫描求出1种分组,并基于此再一次扫描求出其余分组 484
19.2.3 一次扫描求出1种分组,并基于此再多次分层累计求出其余分组 485
19.2.4 变量长度和类型的优化 487
19.3 为何选择OCI 488
19.3.1 汇总算法的翻译和改进 488
19.3.2 输入和输出的实现和改进 489
19.3.3 不要忽视物理存储对数据库操作的影响 490
19.3.4 不成功的优化教训 490
19.4 总结 493
第20章 动态SQL扩展 494
20.1 动态SQL用途和应用场景 494
20.2 EXECUTE IMMEDIATE语法 495
20.2.1 执行DDL、DCL语句 495
20.2.2 构造通用SQL处理 496
20.2.3 执行复杂业务逻辑查询 498
20.2.4 绑定变量 502
20.2.5 BULK COLLECT动态SQL 505
20.3 使用DBMS_SQL包 507
20.3.1 DBMS_SQL函数和过程说明 507
20.3.2 DBMS_SQL执行步骤 508
20.3.3 DBMS_SQL应用场景 509
20.3.4 DBMS_SQL与EXECUTE IMMEDIATE比较 509
后记 511

100天精通Oracle-实战系列 - 总目录

总目录

欢迎大家来到 Lucifer三思而后行 的《100天精通Oracle-实战系列》,开始前博主先列出 Oracle 实战学习的大纲,同时这也可以作为大家学习 Oracle 的参考。下面 蓝字 都是传送门,点击进入即可:

一、Oracle 入门安装

100天精通Oracle-实战系列(第1天)保姆级 VirtualBox 虚拟机安装 Linux 系统
100天精通Oracle-实战系列(第2天)Linux 6 安装单机 Oracle 11GR2 数据库
100天精通Oracle-实战系列(第3天)Linux 7 安装单机 Oracle 11GR2 数据库
100天精通Oracle-实战系列(第4天)Linux 7 安装单机 Oracle 19C 数据库
100天精通Oracle-实战系列(第5天)Linux 8 安装单机 Oracle 19C 数据库
100天精通Oracle-实战系列(第6天)PL/SQL Developer 安装与配置
100天精通Oracle-实战系列(第7天)Toad 安装与配置
100天精通Oracle-实战系列(第8天)SQL Developer 安装与配置
100天精通Oracle-实战系列(第9天)SQLPlus 基础使用和进阶玩法
100天精通Oracle-实战系列(第10天)ADRCI 基础使用和进阶玩法

二、Oracle RMAN 备份恢复

100天精通Oracle-实战系列(第11天)配置 RMAN 脚本定时备份 Oracle 数据库
100天精通Oracle-实战系列(第12天)挂载 NFS 远程目录备份 Oracle 数据库
100天精通Oracle-实战系列(第13天)NBU/Networker 配合 RMAN 脚本备份 Oracle 数据库
100天精通Oracle-实战系列(第14天)使用 RMAN 备份异机恢复 Oracle 数据库
100天精通Oracle-实战系列(第15天)使用 NBU/Networker 备份异机恢复 Oracle 数据库
100天精通Oracle-实战系列(第16天)使用 RMAN 恢复单个表空间
100天精通Oracle-实战系列(第17天)使用 RMAN 恢复单个表
100天精通Oracle-实战系列(第18天)RMAN 冷备异机恢复 Oracle 数据库
100天精通Oracle-实战系列(第19天)使用 RMAN 跨系统恢复 Oracle 数据库
100天精通Oracle-实战系列(第20天)使用 RMAN 检查和恢复数据坏块

三、Oracle 数据泵系列

100天精通Oracle-实战系列(第21天)配置数据泵脚本定时备份 Oracle 用户数据
100天精通Oracle-实战系列(第22天)使用数据库进行 Oracle 迁移升级
100天精通Oracle-实战系列(第23天)数据泵异机恢复 Oracle 用户数据
100天精通Oracle-实战系列(第24天)数据泵恢复单个表
100天精通Oracle-实战系列(第25天)
100天精通Oracle-实战系列(第26天)
100天精通Oracle-实战系列(第27天)
100天精通Oracle-实战系列(第28天)
100天精通Oracle-实战系列(第29天)
100天精通Oracle-实战系列(第30天)

四、Oracle RAC 高可用

100天精通Oracle-实战系列(第31天)Linux 6 安装 Oracle 11GR2 RAC 数据库
100天精通Oracle-实战系列(第32天)Linux 7 安装 Oracle 11GR2 RAC 数据库
100天精通Oracle-实战系列(第33天)Linux 7 安装 Oracle 19C RAC 数据库
100天精通Oracle-实战系列(第34天)Linux 8 安装 Oracle 19C RAC 数据库
100天精通Oracle-实战系列(第35天)SUSE 15 SP3 安装 Oracle 19C RAC 数据库
100天精通Oracle-实战系列(第36天)
100天精通Oracle-实战系列(第37天)
100天精通Oracle-实战系列(第38天)
100天精通Oracle-实战系列(第39天)
100天精通Oracle-实战系列(第30天)

五、Active DataGuard 容灾

100天精通Oracle-实战系列(第41天)RMAN 备份恢复搭建 Oracle 11GR2 ADG
100天精通Oracle-实战系列(第42天)RMAN Duplicate 搭建 Oracle 11GR2 ADG
100天精通Oracle-实战系列(第43天)DBCA 搭建 Oracle 19C ADG
100天精通Oracle-实战系列(第44天)Data Guard Broker 配置 ADG 故障切换
100天精通Oracle-实战系列(第45天)RMAN Duplicate 搭建 RAC 到单机 Oracle 11GR2 ADG
100天精通Oracle-实战系列(第46天)DBCA 搭建 RAC 到单机 Oracle 19C ADG
100天精通Oracle-实战系列(第47天)ADG SwitchOver 主备切换
100天精通Oracle-实战系列(第48天)ADG FailOver 主备切换
100天精通Oracle-实战系列(第49天)ADG 配置闪回以及监控脚本
100天精通Oracle-实战系列(第50天)

六、Oracle 分区表系列

100天精通Oracle-实战系列(第51天)通过 CTAS 方式普通表转分区表
100天精通Oracle-实战系列(第52天)在线重定义短时间停机转分区表
100天精通Oracle-实战系列(第53天)分区表的在线扩展和维护
100天精通Oracle-实战系列(第54天)配置分区表的自动扩展
100天精通Oracle-实战系列(第55天)
100天精通Oracle-实战系列(第56天)
100天精通Oracle-实战系列(第57天)
100天精通Oracle-实战系列(第58天)
100天精通Oracle-实战系列(第59天)
100天精通Oracle-实战系列(第60天)

七、Oracle 多租户

100天精通Oracle-实战系列(第61天)PDB 创建和使用
100天精通Oracle-实战系列(第62天)PDB 通过 DBLink 远程克隆
100天精通Oracle-实战系列(第63天)PDB 冷克隆
100天精通Oracle-实战系列(第64天)PDB 热克隆
100天精通Oracle-实战系列(第65天)PDB 快照克隆
100天精通Oracle-实战系列(第66天)可刷新 PDB
100天精通Oracle-实战系列(第67天)应用容器的创建和使用
100天精通Oracle-实战系列(第68天)
100天精通Oracle-实战系列(第69天)
100天精通Oracle-实战系列(第70天)

八、Oracle 升级

100天精通Oracle-实战系列(第71天)DBUA 升级 Oracle 数据库
100天精通Oracle-实战系列(第72天)数据泵升级 Oracle 数据库
100天精通Oracle-实战系列(第73天)AutoUpgrade 升级 Oracle 数据库
100天精通Oracle-实战系列(第74天)XTTS 升级 Oracle 数据库
100天精通Oracle-实战系列(第75天)
100天精通Oracle-实战系列(第76天)
100天精通Oracle-实战系列(第77天)
100天精通Oracle-实战系列(第78天)
100天精通Oracle-实战系列(第79天)
100天精通Oracle-实战系列(第80天)

九、Oracle 故障排查

100天精通Oracle-实战系列(第81天)
100天精通Oracle-实战系列(第82天)
100天精通Oracle-实战系列(第83天)
100天精通Oracle-实战系列(第84天)
100天精通Oracle-实战系列(第85天)
100天精通Oracle-实战系列(第86天)
100天精通Oracle-实战系列(第87天)
100天精通Oracle-实战系列(第88天)
100天精通Oracle-实战系列(第89天)
100天精通Oracle-实战系列(第90天)

十、Oracle GoldenGate 系列

100天精通Oracle-实战系列(第91天)
100天精通Oracle-实战系列(第92天)
100天精通Oracle-实战系列(第93天)
100天精通Oracle-实战系列(第94天)
100天精通Oracle-实战系列(第95天)
100天精通Oracle-实战系列(第96天)
100天精通Oracle-实战系列(第97天)
100天精通Oracle-实战系列(第98天)
100天精通Oracle-实战系列(第99天)
100天精通Oracle-实战系列(第100天)

以上是关于Oracle开发艺术的目 录的主要内容,如果未能解决你的问题,请参考以下文章

PHP学习手册的目 录

Java学习手册的目 录

区块链艺术品溯源产品的开发实现

B2B2C网上商城开发指南——基于SaaS和淘宝API开放平台的目 录

Android开发艺术探索

.NET程序员面试指南的目 录