Oracle core读书笔记

一、准备开始

回顾

  1. 原理大图
  2. Oracle体系架构

疑问

  1. undo段头 -> 24(41/244)
  2. 事务列表(ITL)
  3. 事务槽(ITL slot) -> 49(66/244)

二、redo和undo

回顾

  1. undo三大作用
  2. undo块
  3. ORA-01555

收获

  1. The generation of undo generates redo
  2. 事务隔离级别
  3. 块转储 block dump

疑问

  1. 变化数据捕捉(Change Data Capture, CDC)
  2. 重做日志转储 redo log file dump -> Oracle内核揭密第5章
    dump log file

三、事务的一致性

回顾

  1. 创建undo表空间
  2. 重建undo表空间
  3. 查看undo相关视图

收获

  1. 让提交尽可能快,而允许回滚慢慢地来。
  2. 不存在日志进程写入进程“创建一条提交记录”。
  3. v$transaction
  4. v$lock
  5. 事务锁#1
  6. 事务锁#2
  7. X$KTUXE
  8. 事务表信息
  9. ORA-22924

疑问

  1. extend map、extend control head -> 24(41/244)
  2. 事务表、事务表控制区 -> 24(41/244) -> 26(43/244)
  3. warp# -> 24(41/244)
  4. newed newing

四、锁与闩锁

回顾

  1. 常见数据结构
  2. 数据结构和算法

收获

  1. 锁和pin -> 类似队列的“先到先服务”;闩锁和互斥锁 -> 随机抢占策略。 锁&pin&某些互斥锁持有时间较长 -> 保护对象;闩锁持有时间短 -> 保护共享内存。
    在这里插入图片描述
  2. 数组、指针、链表、散列表
  3. v$resource_limit
  4. 闩锁两种类型:独占&共享读
  5. v$latch
  6. v$lock
  7. 锁、pin、闩锁和互斥锁

在这里插入图片描述
在这里插入图片描述

疑问

  1. KGL锁和KGL pin

五、缓存和复制

回顾

  1. v$sga_dynamic_components
  2. ORA-29339

收获

  1. LRU 最近最少使用 -> LRU链闩锁
  2. TCH 接触计数

物理读时,服务器进程要将数据块从数据文件读进Buffer Cache中。假设Buffer Cache有10000个Buffer,那么,进程应覆盖哪个Buffer呢?简单点说,就是进程将数据块读进Buffer Cache的什么地方。答案是,哪个Buffer最不常用,它就会被当作牺牲者,也就是说,会覆盖掉它。覆盖最不常用的Buffer,这是所有LRU算法的本质。可如何快速找到这个最不常用的Buffer呢?这就是LRU需要解决的问题了。

LRU会将Buffer Cache中所有的Buffer都链接在一起。LRU又分两条链表,主LRU链表和辅助LRU链表。其中,主LRU又有冷端、热端两部分。同时,每个Buffer有一个访问计数TCH。TCH以3秒为一个阶段,每个阶段只要有进程访问,它的数值就会加1。如果3秒之内访问了多次,也只会加1。Buffer是在冷端还是在热端,主要靠这个TCH了。

在这里插入图片描述

疑问

  1. granule(内存单元)
  2. 工作集(working data set )
  3. 散列链 -> 79(96/244)
  4. repl_main repl_aux

六、写入和恢复

回顾

  1. LNS和RFS
  2. log file sync
    在这里插入图片描述

在这里插入图片描述

收获

  1. commit_write -> commit_logging[batch | immediate] commit_wait[wait | nowait]

在这里插入图片描述

2. x$kcbwds
3. v$controlfile_record_section; 
  1. 检查点名称和触发事件
  2. 介质恢复和实例恢复
  3. 闪回数据库

疑问

  1. LRU链和缓冲区散列链
  2. 检查点队列、文件队列、对象队列
  3. RBA LRBA
  4. tablespace begin backup & tablespace read only
    在这里插入图片描述

七、解析与优化

回顾

  1. 库缓存
  2. 编译原理
  3. SQL执行顺序

收获

  1. 解析=语法分析+语义分析
    在这里插入图片描述

  2. 在缓冲中
    数据字典缓存(行缓存):缓存元数据,包含对象的信息,比如表、索引、列、直方图、触发器等。[从数据字典里一行一行读数据而非一个个数据块]
    库缓存:缓存代码,包含语句(包括SQL和PL/SQL语句)、语句的游标,以及有关对象依赖和权限的一些信息。

疑问

  1. tkprof格式化跟踪文件?
    在这里插入图片描述

  2. desc obj$
    在这里插入图片描述

  3. desc trigger$

  4. desc v$rowcache
    在这里插入图片描述

  5. 公共同义词 desc dba_dependencies
    在这里插入图片描述

八、RAC及“缺陷”

回顾

  1. scanip vip priip
  2. DG只有一个实例能打开MRP进程的原因?
    在这里插入图片描述

收获

  1. LMHB 锁管理心跳监控
  2. 全局资源目录(GRD)
    在这里插入图片描述
  3. vKaTeX parse error: Expected 'EOF', got '&' at position 16: resource_limit &̲ vsgastat
    在这里插入图片描述
    在这里插入图片描述
  4. gc cr block 2-way(select) & gc current block 2-way(update)
  5. CUR * CR
    在这里插入图片描述
  6. 缺陷 – 序列
    在这里插入图片描述

疑问

  1. 全局锁
  2. 缓存一致性
  3. 全局资源目录(GRD)
  4. 缓存融合(cache fusion)
  5. master & shadow
  6. 恢复
    在这里插入图片描述
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库DBA必备手册 Jonathan Lewis 大神力作 Chapter 1: Getting Started . . . ................................................................................. 1 Oracle in Processes ........................................................................................................... 1 Oracle in Action ................................................................................................................. 4 Summary ........................................................................................................................... 4 ■Chapter 2: Redo and Undo ....................................................................................... 5 Basic Data Change ............................................................................................................. 5 The Approach ........................................................................................................................................... 6 An Example ............................................................................................................................................... 6 Debriefing ................................................................................................................................................. 9 Summary of Observations ...................................................................................................................... 11 ACID ................................................................................................................................. 11 Redo Simplicity ................................................................................................................ 14 Undo Complexity .............................................................................................................. 19 Read Consistency ................................................................................................................................... 20 Rollback ..............................
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值