没有合适的资源?快使用搜索试试~ 我知道了~
oracle笔记
资源推荐
资源详情
资源评论
Tianlesoftware 学习 Oracle Blog: http://blog.csdn.net/tianlesoftware
DBA1 群:62697716(满); DBA2 群:62697977(满); DBA3 群:62697850(满); DBA 超级群:63306533
DBA4 群:83829929(满); DBA5 群:142216823 DBA6 群:158654907
TianleSoftware Oracle 学习手册
版本: v1.0
2011 年 5 月 6 日
说明:
在 Oracle 几年的学习中,做了很多的实验,也遇到了很多的问题, 在这个
过程中,积累了一些学习文档。也更新到了 blog 上。 因为太多,不便于查阅。
根据自己对 Oracle 的理解,把这些 blog 进行了分类,并进行了一些整理,
方便自己的查看。 这些文档中有很多内引用借鉴了前辈们的资料和 google 上的
一些信息。 如:
eygle,君三思,谭怀远,陈吉平等前辈们的书籍和 blog。
感谢这些前辈们对中国 DB 事业做出的贡献。 在这里引用的内容也是完全
出于学习。 没有其他用途,如有侵犯到版权的问题,请联系我。 我将删除这些
信息。
对数据库这块也是在不断的学习,对 oracle 的理解也是在不断的变化。在这
个过程中,难免有理解错误的地方,或者内容上遗漏的,如果发现了问题,烦邮
件给我,我会虚心的学习。并更新该文档。
PS: 有些内容在排版上不太合适,因为很多也是在后期的整理中加上去的。
以后有空在调整这些内容的排版了。
2012 年 3 月 9 日 在序
今天又想起了这个文档,时隔已经快一年,这一年中我在 Blog 上又更新了
很多的文档,加上整理文档也是一件很费时间的事,所以这本学习手册,一直没
有更新,而且以前的内容,很多也有失误,做技术是一件很严谨的事,但是这本
手册,或多或少对刚入门的人来说,还是有一定的帮助,所以暂且转成转成 PDF
Tianlesoftware 学习 Oracle Blog: http://blog.csdn.net/tianlesoftware
DBA1 群:62697716(满); DBA2 群:62697977(满); DBA3 群:62697850(满); DBA 超级群:63306533
DBA4 群:83829929(满); DBA5 群:142216823 DBA6 群:158654907
版本,作为 Dave 学习手册的第一版本发布。
如果其中内容有误,也麻烦给我发封 email,我会及时更改这些内容。 Dave
希望能和大家在 Oracle 的路上一起进步。
Email: tianlesoftware@gmail.com
Skype: tianlesoftware
Blog: http://www.tianlesoftware.com
http://blog.csdn.net/tianlesoftware
Weibo: http://weibo.com/tianlesoftware
Twitter: http://twitter.com/tianlesoftware
Facebook: http://www.facebook.com/tianlesoftware
Linkedin: http://cn.linkedin.com/in/tianlesoftware
目 录
TIANLESOFTWARE ORACLE 学习手册 ............................................................................................. 1
一. ORACLE 基础知识 ..................................................................................................................... 24
1.1 ORACLE OLAP 与 OLTP 介绍 ........................................................................................................ 24
1.1.1
什么是
OLTP ....................................................................................................................... 25
1.1.2
什么是
OLAP ....................................................................................................................... 26
1.1.3
在
OLAP
系统中,常使用分区技术、并行技术
.............................................................. 26
1.1.4
分开设计与优化
................................................................................................................ 27
1.2 索引详解 ..................................................................................................................................... 28
1.2.1
索引介绍
............................................................................................................................ 28
1.2.1.1 索引的创建语法 ......................................................................................................................... 28
1.2.1.2 索引特点..................................................................................................................................... 28
1.2.1.3 索引不足..................................................................................................................................... 29
1.2.1.4 应该建索引列的特点 ................................................................................................................. 29
1.2.1.5 不应该建索引列的特点 ............................................................................................................. 29
1.2.1.6 限制索引..................................................................................................................................... 29
1.2.1.6.1 使用不等于操作符(<>、!=) ......................................................................................... 29
1.2.1.6.2 使用 IS NULL 或 IS NOT NULL ............................................................................................ 30
1.2.1.6.3 使用函数 ............................................................................................................................ 30
1.2.1.6.4 比较不匹配的数据类型 ..................................................................................................... 30
1.2.1.7 查询索引..................................................................................................................................... 30
1.2.1.8 组合索引..................................................................................................................................... 30
Tianlesoftware 学习 Oracle Blog: http://blog.csdn.net/tianlesoftware
DBA1 群:62697716(满); DBA2 群:62697977(满); DBA3 群:62697850(满); DBA 超级群:63306533
DBA4 群:83829929(满); DBA5 群:142216823 DBA6 群:158654907
1.2.1.9 ORACLE ROWID ............................................................................................................................ 31
1.2.1.10 选择性 ...................................................................................................................................... 31
1.2.1.11 群集因子(Clustering Factor) ..................................................................................................... 31
1.2.1.12 二元高度(Binary height) ........................................................................................................... 31
1.2.1.13 快速全局扫描 ........................................................................................................................... 31
1.2.1.14 跳跃式扫描 ............................................................................................................................... 31
1.2.2
索引分类
............................................................................................................................ 32
1.2.2.1 B 树索引 (默认类型) .................................................................................................................. 32
1.2.2.2 位图索引..................................................................................................................................... 33
1.2.2.3 HASH 索引.................................................................................................................................... 35
1.2.2.4 索引组织表 ................................................................................................................................. 36
1.2.2.5 反转键索引 ................................................................................................................................. 37
1.2.2.6 基于函数的索引 ......................................................................................................................... 37
1.2.2.7 分区索引..................................................................................................................................... 38
1.2.2.7.1.本地分区索引(通常使用的索引) ....................................................................................... 38
1.2.2.7.2.全局分区索引 ..................................................................................................................... 40
1.2.2.8 位图连接索引 ............................................................................................................................. 40
1.3 分区表总结 ................................................................................................................................. 41
1.3.1.
分区表理论知识
............................................................................................................... 41
1.3.2
普通表转分区表方法
......................................................................................................... 45
1.3.2.1 插入: Insert with a subquery method ..................................................................................... 46
1.3.2.1.1 Oracle 11g 的 Interval ....................................................................................................... 46
1.3.2.1.2 Oracle 10g 版本 ............................................................................................................... 47
1.3.2.2 交换分区:Partition exchange method ..................................................................................... 48
1.3.2.3 使用在线重定义:DBMS_REDEFINITION ................................................................................... 50
1.3.2.4 使用导出导入 ............................................................................................................................. 54
1.3.2.4.1 迁移分区表的步骤 ............................................................................................................ 55
1.3.2.4.2 示例 1:使用 exp/imp ....................................................................................................... 55
1.3.2.4.3 示例 2:使用 expdp/impdp ............................................................................................... 59
1.3.3
分区表的其他操作
............................................................................................................. 62
1.3.3.1 添加新的分区 ............................................................................................................................. 62
1.3.3.2 split 分区拆分 ............................................................................................................................. 64
1.3.3.3 合并分区 Merge ......................................................................................................................... 64
1.3.3.4 移动分区..................................................................................................................................... 65
1.3.3.5 Truncate 分区 ............................................................................................................................... 65
1.3.3.6 Drop 分区 ..................................................................................................................................... 66
1.3.4
分区表的索引
.................................................................................................................... 66
1.3.4.4.1 Local 本地索引 ................................................................................................................... 67
1.3.4.4.2 Global 索引 .......................................................................................................................... 68
1.3.4.4.3 索引重建问题 .................................................................................................................... 71
1.3.5 Oracle 11g
中的分区表
...................................................................................................... 74
1.3.5.1 11g 中的分区表新特性 ............................................................................................................... 74
1.3.5.1.1 Interval Partitioning ............................................................................................................. 74
1.3.5.1.2 System Partitioning .............................................................................................................. 74
Tianlesoftware 学习 Oracle Blog: http://blog.csdn.net/tianlesoftware
DBA1 群:62697716(满); DBA2 群:62697977(满); DBA3 群:62697850(满); DBA 超级群:63306533
DBA4 群:83829929(满); DBA5 群:142216823 DBA6 群:158654907
1.3.5.1.3 More Composite Partitioning ............................................................................................... 75
1.3.5.1.4 Virtual Column-Based Partitioning....................................................................................... 75
1.3.5.2 11g 虚拟列实现 按星期分区表 ............................................................................................. 76
1.3.5.3 Interval 分区 示例 ................................................................................................................... 78
1.3.5.3.1 创建按月分区的分区表 ..................................................................................................... 78
1.3.5.3.2 创建一个以天为间隔的分区表 .......................................................................................... 80
1.4 ORACLE 锁 ..................................................................................................................................... 82
1.4.1
锁(
Lock
)
......................................................................................................................... 82
1.4.1.1 锁的概念..................................................................................................................................... 82
1.4.1.2 锁的分类..................................................................................................................................... 83
1.4.1.2.1. 按用户与系统划分,可以分为自动锁与显示锁 ............................................................ 83
1.4.1.2.2. 按锁级别划分,可分为: 排它锁(Exclusive Locks,即 X 锁)和共享锁(Share Locks,
即 S 锁) ............................................................................................................................................ 84
1.4.1.2.3 按操作划分,可分为 DML 锁(data locks,数据锁)、DDL 锁(data dictionary lock)
和 System Locks。 ............................................................................................................................. 84
1.4.1.2.4 DML 锁 .............................................................................................................................. 84
1.4.1.2.5 DDL 锁(dictionary locks) .............................................................................................. 87
1.4.1.2.6 System Locks ..................................................................................................................... 89
1.4.2
死锁
.................................................................................................................................... 91
1.4.3
锁
和
阻塞
........................................................................................................................ 94
1.4.3.1 相关概念..................................................................................................................................... 94
1.4.3.2 引起阻塞的几种常见情况 ......................................................................................................... 97
1.4.3.2.1 DML 语句 ......................................................................................................................... 97
1.4.3.2.2 外键没有创建索引 .......................................................................................................... 98
1.4.4 Latch
说明
........................................................................................................................... 98
1.4.4.1 Latch ......................................................................................................................................... 98
1.4.4.2 有关 SPin 的说明 ..................................................................................................................... 99
1.4.4.3 进程获取 Latch 的过程 ............................................................................................................ 99
1.4.4.4 Latch 和 Lock ......................................................................................................................... 100
1.4.4.5 Latch 争用 ............................................................................................................................. 100
1.4.4.5.1 共享池中的 Latch 争用 .................................................................................................... 101
1.4.4.5.2 数据缓冲池 Latch 争用 .................................................................................................... 102
1.4.4.6 热块产生的原因 ..................................................................................................................... 103
1.4.4.6.1 表数据块 .......................................................................................................................... 103
1.4.4.6.2 索引数据块 ...................................................................................................................... 103
1.4.4.6.3 索引根数据块 .................................................................................................................. 104
1.4.4.6.4 段头数据块 .................................................................................................................... 104
1.4.4.7 检查 Latch 的相关 SQL .......................................................................................................... 105
1.4.4.7.1 查看造成 LATCH BUFFER CACHE CHAINS 等待事件的热快 ............................................ 105
1.4.4.7.2 查询当前数据库最繁忙的 Buffer,TCH(Touch)表示访问次数越高,热点快竞争问题就
存在 .................................................................................................................................................. 105
1.4.4.7.3 查询当前数据库最繁忙的 Buffer,结合 dba_extents 查询得到这些热点 Buffer 来自哪些
对象 .................................................................................................................................................. 106
1.4.4.7.4 如果在 Top 5 中发现 latch free 热点块事件时,可以从 V$latch_children 中查询具体的
Tianlesoftware 学习 Oracle Blog: http://blog.csdn.net/tianlesoftware
DBA1 群:62697716(满); DBA2 群:62697977(满); DBA3 群:62697850(满); DBA 超级群:63306533
DBA4 群:83829929(满); DBA5 群:142216823 DBA6 群:158654907
子 Latch 信息 .................................................................................................................................... 106
1.4.4.7.5 获取当前持有最热点数据块的 Latch 和 buffer 信息 ..................................................... 106
1.4.4.7.6 利用前面的 SQL 可以找到这些热点 Buffer 的对象信息 ............................................... 107
1.4.4.7.7 结合 SQL 视图可以找到操作这些对象的相关 SQL,然后通过优化 SQL 减少数据的访问,
或者优化某些容易引起争用的操作(如 connect by 等操作)来减少热点块竞争 .................... 107
1.5 等待事件 ................................................................................................................................... 108
1.5.1
等待事件的相关知识
....................................................................................................... 108
1.5.1.1 等待事件分类 ............................................................................................................................ 108
1.5.1.2 查看 v$event_name 视图的字段结构 ..................................................................................... 108
1.5.1.3 查看等待事件总数 ................................................................................................................... 108
1.5.1.4 查看等待事件分类情况 ........................................................................................................... 108
1.5.1.5 相关的几个视图 ....................................................................................................................... 109
1.5.2 33
个常见的等待事件
....................................................................................................... 110
1.5.2.1 Buffer busy waits ........................................................................................................................ 110
1.5.2.2 Buffer latch .............................................................................................................................. 111
1.5.2.3 Control file parallel write ............................................................................................................ 111
1.5.2.4 Control file sequential read ........................................................................................................ 112
1.5.2.5 Db file parallel read .................................................................................................................... 112
1.5.2.6 Db file parallel write ................................................................................................................... 112
1.5.2.7 Db file scattered read ................................................................................................................. 113
1.5.2.8 Db file sequential read ............................................................................................................... 113
1.5.2.9 Db file single write ...................................................................................................................... 113
1.5.2.10 Direct path read........................................................................................................................ 114
1.5.2.11 Direct path write ...................................................................................................................... 114
1.5.2.12 Enqueue ................................................................................................................................... 114
1.5.2.13 Free buffer waits ...................................................................................................................... 117
1.5.2.14 Latch free ................................................................................................................................. 118
1.5.2.15 Library cache lock ..................................................................................................................... 119
1.5.2.16 Library cache pin ...................................................................................................................... 119
1.5.2.17 Log file parallel write ................................................................................................................ 119
1.5.2.18 Log buffer space ....................................................................................................................... 120
1.5.2.19 Log file sequential read ............................................................................................................ 120
1.5.2.20 Log file single write .................................................................................................................. 120
1.5.2.21 Log file switch(archiving needed) ............................................................................................. 120
1.5.2.22 Log file switch(checkpoint incomplete) .................................................................................... 121
1.5.2.23 Log file sync .............................................................................................................................. 121
1.5.2.24 SQL*Net break/reset to client .................................................................................................. 122
1.5.2.25 SQL*Net break/reset to dblink ................................................................................................. 122
1.5.2.26 SQL*Net message from client .................................................................................................. 122
1.5.2.27 SQL*Net message from dblink ................................................................................................. 122
1.5.2.28 SQL*Net message to client ....................................................................................................... 123
1.5.2.29 SQL*Net message to dblink ...................................................................................................... 123
1.5.2.30 SQL*Net more data from client ................................................................................................ 123
1.5.2.31 SQL*Net more data from dblink ............................................................................................... 123
剩余1430页未读,继续阅读
资源评论
zhao19861029
- 粉丝: 54
- 资源: 20
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Win64OpenSSL-3-3-0.exe
- 课高分程设计-基于C++实现的民航飞行与地图简易管理系统-南京航空航天大学
- 航天器遥测数据故障检测系统python源码+文档说明+数据库(课程设计)
- 北京航空航天大学操作系统课设+ppt+实验报告
- 基于Vue+Echarts实现风力发电机中传感器的数据展示监控可视化系统+源代码+文档说明(高分课程设计)
- 基于单片机的风力发电机转速控制源码
- 基于C++实现的风力发电气动平衡监测系统+源代码+测量数据(高分课程设计)
- 毕业设计- 基于STM32F103C8T6 单片机,物联网技术的太阳能发电装置+源代码+文档说明+架构图+界面截图
- 基于 LSTM(长短期记忆)(即改进的循环神经网络)预测风力发电厂中风力涡轮机产生的功率+源代码+文档说明
- 基于stm32f103+空心杯电机+oled按键+运动算法
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功