Oracle Core

  • 一、准备开始
    • 回顾
    • 疑问
  • 二、redo和undo
    • 回顾
    • 收获
    • 疑问
  • 三、事务的一致性
    • 回顾
    • 收获
    • 疑问
  • 四、锁与闩锁
    • 回顾
    • 收获
    • 疑问
  • 五、缓存和复制
    • 回顾
    • 收获
    • 疑问
  • 六、写入和恢复
    • 回顾
    • 收获
    • 疑问
  • 七、解析与优化
    • 回顾
    • 收获
    • 疑问
  • 八、RAC及“缺陷”
    • 回顾
    • 收获
    • 疑问

一、准备开始

回顾

  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. 恢复

Oracle core读书笔记相关推荐

  1. Oracle 12c 读书笔记——筑梦之路

    Oracle 12c  笔记 2020-7-13 #查看数据库状态 select status from v$instance; #修改密码 alter user system identified ...

  2. oracle8数据库help文件增长,Oracle 10g 读书笔记

    Oracle体系结构 按以下三个类别来描述 用户相关进程 总称为Oracle Instance 的逻辑逻辑内存结构 总称为Database的物理文件结构 用户进程 User Process:要么在用户 ...

  3. oracle直查和call哪个更快,让oracle跑的更快1读书笔记二

    当前位置:我的异常网» 数据库 » <>读书笔记二 <>读书笔记二 www.myexceptions.net  网友分享于:2013-08-23  浏览:9次 <> ...

  4. 《ASP.NET Core In Action》读书笔记系列五 ASP.NET Core 解决方案结构解析1

    <ASP.NET Core In Action>读书笔记系列五 ASP.NET Core 解决方案结构解析1 参考文章: (1)<ASP.NET Core In Action> ...

  5. Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据

    Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据 Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据 7.1 程序数据的命名 PL/SQL要求在给数据结构命名的时候应 ...

  6. Oracle PL/SQL 程序设计读书笔记 - 第14章 DML和事务管理

    Oracle PL/SQL 程序设计读书笔记 - 第14章 DML和事务管理 Oracle PL/SQL 程序设计读书笔记 - 第14章 DML和事务管理 ACID原则:即一个事务具有原子性.一致性. ...

  7. 《ASP.NET Core 与 RESTful API 开发实战》-- (第10章)-- 读书笔记

    第 10 章 部署 10.1 部署到 IIS ASP.NET Core 应用程序支持部署到 IIS 中,之后它将作为应用程序的反向代理服务器和负载均衡器,向应用程序中转传入的 HTTP 请求 默认情况 ...

  8. 一图讲解一条sql语句的一生——《收获,不止Oracle》的读书笔记01

    其实也是<收获,不止Oracle>的读书笔记之一啦 微信读书可以看,数据库我觉得相通性还是比较大的,不管你用的哪种,都可以学学 难度的话,我才看到2.2 ,觉得本菜鸟还是可以看懂的. 说是 ...

  9. Oracle 19c VLDB and Partitioning Guide 第1章:Introduction to Very Large Databases 读书笔记

    本文为Oracle 19c VLDB and Partitioning Guide第1章Introduction to Very Large Databases的读书笔记. 超大型数据库 (VLDB) ...

最新文章

  1. 晶体管逻辑芯片设计微缩图形化
  2. 远程办公难?实战经验为你打消4大顾虑
  3. Webcast 系列课程 NET最全,最权威的学习资源
  4. matlab表白_520新玩法!MATLAB大神教你画爱心
  5. Windows系统——VMTK安装教程
  6. TensorFlow2简单入门 - 池化层
  7. Loading(二)--ThreeBodyLoadingView
  8. Android Flow遇见Retrofit网络请求实践
  9. 你对ES6究竟了解多少?—— 有这一篇就够用了
  10. web系统四层结构中服务器端,基于.NET平台构建四层B/S结构的动态网站
  11. 监督学习和无监督学习_机器学习的要素是什么? 有监督学习和无监督学习两大类...
  12. Principle for Mac:让你五分钟即可制作出一个具有完整交互动画的原型
  13. 乔布斯《我生命中的三个故事》
  14. 创建图片mat_OPENCV(二)——Mat类与几个函数的简介
  15. kubernetes之初始容器(init container)
  16. 管理感悟:再好的设计,不如能运行的原型
  17. Android应用开发
  18. 谈谈死链接产生的原因和处理方法
  19. 9张图揭秘:优秀的数据分析项目,这样做!
  20. python定量城市研究_Python定量城市研究实战

热门文章

  1. 【译】 SafetyNet: Google's tamper detection - Part 2
  2. 解决Win10插入耳机没声音
  3. React.createRef()
  4. 广告界的拼多多!变衣科技凭什么?
  5. char远非仅仅是字符
  6. 社交网络的发展及趋势
  7. IC REG BUCK ADJUSTABLE 3A 8SOIC
  8. 网页设计之竞赛平台模块
  9. Keytool生成数字证书 + Tomcat https 配置
  10. 嵌入式linux程序加密,基于嵌入式操作系统uClinux实现网络安全加密系统的设计