数据库《TianleSoftware Oracle 学习手册》看看有哪些你不知道的

本文深入探讨了Oracle数据库中的OLTP(联机事务处理)和OLAP(联机分析处理)的区别与应用场景。OLTP关注事务处理,强调并发操作和内存效率,常见于电子商务和银行系统;而OLAP侧重于数据分析,强调磁盘I/O,常用于数据仓库。文中还讨论了两者在设计和优化上的差异,如OLTP重视绑定变量和B-tree索引,而OLAP可能使用分区技术和位图索引。
摘要由CSDN通过智能技术生成

一、 Oracle 基础知识

1.1 Oracle OLAP 与 OLTP 介绍
数据处理大致可以分成两大类:联机事务处理 OLTP(on-line transaction
processing)、联机分析处理 OLAP(On-Line Analytical Processing)。
(1)OLTP 是传统的关系型数据库的主要应用,主要是基本的、日常的事务处
理,例如银行交易。OLTP 系统强调数据库内存效率,强调内存各种指标的命令
率,强调绑定变量,强调并发操作;
(2)OLAP 是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,
并且提供直观易懂的查询结果。OLAP 系统则强调数据分析,强调 SQL 执行市
场,强调磁盘 I/O,强调分区等。
OLTP 与 OLAP 之间的比较:
在这里插入图片描述
1.1.1 什么是 OLTP
OLTP,也叫联机事务处理(Online Transaction Processing),表示事务性非常
高的系统,一般都是高可用的在线系统,以小的事务以及小的查询为主,评估其
系统的时候,一般看其每秒执行的 Transaction 以及 Execute SQL 的数量。在这样
的系统中,单个数据库

Oracle 几年的学习中,做了很多的实验,也遇到了很多的问题, 在这个过程中,积累了一些学习文档。也更新到了blog上。 因为太多,不便于查阅。 根据自己对 Oracle 的理解,把这些 blog 进行了分类,并进行了一些整理,方便自己的查看。 这些文档中有很多内引用借鉴了前辈们的资料和google 上的一些信息。 如:eygle,君三思,谭怀远,陈吉平等前辈们的书籍和 blog。 感谢这些前辈们对中国 DB 事业做出的贡献。 在这里引用的内容也是完全出于学习。 没有其他用途,如有侵犯到版权的问题,请联系我。 我将删除这些信息。 对数据库这块也是在不断的学习,对oracle 的理解也是在不断的变化。在这个过程中,难免有理解错误的地方,或者内容上遗漏的,如果发现了问题,烦邮件给我,我会虚心的学习。并更新该文档。 PS: 有些内容在排版上不太合适,因为很多也是在后期的整理中加上去的。以后有空在调整这些内容的排版了。 目录: TIANLESOFTWARE ORACLE 学习手册 ................................................................... 一. ORACLE 基础知识 ............................................................................................. 1.1 ORACLE OLAP 与 OLTP 介绍 .............................................................................. 1.1.1 什么是 OLTP ............................................................................................. 1.1.2 什么是 OLAP ............................................................................................. 1.1.3 在 OLAP 系统中,常使用分区技术、并行技术 .................................... 1.1.4 分开设计与优化 ...................................................................................... 1.2 索引详解 ........................................................................................................... 1.2.1 索引介绍 .................................................................................................. 1.2.1.1 索引的创建语法 ............................................................................................ 1.2.1.2 索引特点........................................................................................................ 1.2.1.3 索引不足........................................................................................................ 1.2.1.4 应该建索引列的特点 .................................................................................... 1.2.1.5 不应该建索引列的特点 ................................................................................ 1.2.1.6 限制索引........................................................................................................ 1.2.1.6.1 使用不等于操作符(<>、!=) ............................................................ 1.2.1.6.2 使用 IS NULL 或 IS NOT NULL ............................................................... 1.2.1.6.3 使用函数 ............................................................................................... 1.2.1.6.4 比较不匹配的数据类型 ........................................................................ 1.2.1.7 查询索引........................................................................................................ 1.2.1.8 组合索引........................................................................................................ 1.2.1.9 ORACLE ROWID ....................................................................... 1.2.1.10 选择性 ................................................................................. 1.2.1.11 群集因子(Clustering Factor) ................................................ 1.2.1.12 二元高度(Binary height) ...................................................... 1.2.1.13 快速全局扫描 ...................................................................... 1.2.1.14 跳跃式扫描 .......................................................................... 1.2.2 索引分类 ............................................................................. 1.2.2.1 B 树索引 (默认类型) ............................................................. 1.2.2.2 位图索引................................................................................ 1.2.2.3 HASH 索引............................................................................... 1.2.2.4 索引组织表 ............................................................................ 1.2.2.5 反转键索引 ............................................................................ 1.2.2.6 基于函数的索引 .................................................................... 1.2.2.7 分区索引................................................................................ 1.2.2.7.1.本地分区索引(通常使用的索引) .................................. 1.2.2.7.2.全局分区索引 ................................................................ 1.2.2.8 位图连接索引 ........................................................................ 分区表总结 .................................................................................. 1.3.1. 分区表理论知识 ................................................................ 1.3.2 普通表转分区表方法.......................................................... 1.3.2.1 插入: Insert with a subquery method ................................ 1.3.2.1.1 Oracle 11g 的 Interval .................................................. 1.3.2.1.2 Oracle 10g 版本 .......................................................... 1.3.2.2 交换分区:Partition exchange method ................................ 1.3.2.3 使用在线重定义:DBMS_REDEFINITION .............................. 1.3.2.4 使用导出导入 ........................................................................ 1.3.2.4.1 迁移分区表的步骤 ....................................................... 1.3.2.4.2 示例 1:使用 exp/imp .................................................. 1.3.2.4.3 示例 2:使用 expdp/impdp .......................................... 1.3.3 分区表的其他操作.............................................................. 1.3.3.1 添加新的分区 ........................................................................ 1.3.3.2 split 分区拆分 ........................................................................ 1.3.3.3 合并分区 Merge .................................................................... 1.3.3.4 移动分区................................................................................ 1.3.3.5 Truncate分区 .......................................................................... 1.3.3.6 Drop 分区 ............................................. 1.3.4 分区表的索引 .................................... 1.3.4.4.1 Local 本地索引 ........................... 1.3.4.4.2 Global 索引 .................................. 1.3.4.4.3 索引重建问题 ............................ 1.3.5 Oracle 11g 中的分区表 ...................... 1.3.5.1 11g中的分区表新特性 ....................... 1.3.5.1.1 Interval Partitioning ..................... 1.3.5.1.2 System Partitioning ...................... 1.3.5.1.4 Virtual Column-Based Partitioning.................................................... 1.3.5.2 11g 虚拟列实现 按星期分区表 .......................................................... 1.3.5.3 Interval 分区 示例 ................................................................................ 1.3.5.3.1 创建按月分区的分区表 .................................................................. 1.3.5.3.2 创建一个以天为间隔的分区表 ....................................................... 1.4 ORACLE 锁 ..................................................................................................... 1.4.1 锁(Lock) ......................................................................................... 1.4.1.1 锁的概念.................................................................................................. 1.4.1.2 锁的分类.................................................................................................. 1.4.1.2.1. 按用户与系统划分,可以分为自动锁与显示锁 ......................... 1.4.1.2.2. 按锁级别划分,可分为: 排它锁(Exclusive Locks,即 X 锁)和 即 S锁) ......................................................................................................... 1.4.1.2.3 按操作划分,可分为 DML 锁(data locks,数据锁)、DDL 锁( 和 System Locks。 .......................................................................................... 1.4.1.2.4 DML 锁 ........................................................................................... 1.4.1.2.5 DDL 锁(dictionary locks) ........................................................... 1.4.1.2.6 System Locks .................................................................................. 1.4.2 死锁 .................................................................................................... 1.4.3 锁 和 阻塞 ........................................................................................ 1.4.3.1 相关概念.................................................................................................. 1.4.3.2 引起阻塞的几种常见情况 ...................................................................... 1.4.3.2.1 DML 语句 ...................................................................................... 1.4.3.2.2 外键没有创建索引 ....................................................................... 1.4.4 Latch 说明 ........................................................................................... 1.4.4.1 Latch ...................................................................................................... 1.4.4.2 有关 SPin 的说明 .................................................................................. 1.4.4.3 进程获取Latch 的过程 ......................................................................... 1.4.4.4 Latch 和 Lock ........................................................................................ 1.4.4.5 Latch 争用 ............................................................................................ 1.4.4.5.1 共享池中的 Latch争用 ................................................................... 1.4.4.5.2 数据缓冲池 Latch争用 ................................................................... 1.4.4.6 热块产生的原因 .................................................................................... 1.4.4.6.1 表数据块 ......................................................................................... 1.4.4.6.2 索引数据块 ..................................................................................... 1.4.4.6.3 索引根数据块 ................................................................................. 1.4.4.6.4 段头数据块 .................................................................................... 1.4.4.7 检查Latch 的相关 SQL 1.4.4.7.1 查看造成 LATCH BUFFER CACHE CHAINS等待事件的热快 1.4.4.7.2 查询当前数据库最繁忙的 Buffer,TCH(Touch)表示访问次数越高,热点快竞争问题就存在 1.4.4.7.3 查询当前数据库最繁忙的 Buffer,结合 dba_extents 查询得到这些热点 Buffer 来自哪些对象 1.4.4.7.4 如果在 Top 5 中发现 latch free热点块事件时,可以从 V$latch_children 中查询具体的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值