最强Oracle 19c OCM考试错题解析

news2024/11/25 13:23:33

在这里插入图片描述
参加过Oracle 19c OCM考试的学员都知道,OCM考试结束后会告诉考生考试成绩是多少分,但并不会告诉考生哪道题做错了,就考试问题,姚远老师会总结一些文章出来,欢迎关注。
最近姚远老师在OCM的授课中发现了一道题目,这道题目在12c OCM和19c OCM中都会出现,99%的人都会做错,OCM报名费比较高,在此总结一下,希望帮助到大家顺利通过考试。

号主:姚远(v:dataace)

  • Oracle ACE(Oracle和MySQL数据库方向)。
  • Oracle 高可用大师。
  • 华为云最有价值专家。
  • 《MySQL 8.0运维与优化》的作者。
  • 拥有 Oracle 10g、12c和19c OCM等20+数据库认证。
  • 曾任IBM公司数据库部门经理。
  • 服务2万+客户。
  • 精通C和JAVA,发明两项计算机专利

12c中解决“buffer busy wait”

大致题目如下:
When inserting data into a table, there are frequent occurrences of “buffer busy wait”. This is because a sequence is used to generate values for the ID column of the table. To reduce the number of buffer busy waits, you can modify either the sequence or the index, or both.

这个题目是说要想办法减少索引叶节点上面的“buffer busy wait”, 在12c中的正确做法是重新创建全局分区索引,让热点分散到多个分区中,创建索引的命令如下:

SQL> create index in_1 on tt1(id) global partition by hash(id) partitions 32 parallel 32;
Index created.

19c中解决“buffer busy wait”

这样做在12c中是对的,但如果想当然的在19c OCM考试中还这样就不对了,因为Oracle推出了一个新特性scalable sequence,姚远老师找来资料,供大家参见《Database Administrator’s Guide》的24.2.4.3 Making a Sequence Scalable。

Scalable sequence在生成无序的主键或唯一键,用于具有高并发级别的数据插入时特别有效,它显著减少了序列和索引块争用,并提供更好的数据加载可扩展性。它的实现原理是根据实例号和会话号在序列值前面加上6位的数字前缀,这样不同的会话生成的序列值的前缀不同,不同实例和不同的会话会把记录插入到不同的数据块中,减少甚至消除了“buffer busy wait”,下面是一个姚远老师举例:scalable sequence。

SQL> create sequence scal_seq1 maxvalue 9999999999 scale;
Sequence created.

SQL> select scal_seq1.nextval from dual;
     NEXTVAL
  1012350001

我们看到scalable sequence的关键字是“scale”,生成的序列值加上了“101235”的6位数字前缀,我们换一个会话:

SQL> select scal_seq1.nextval from dual;
     NEXTVAL
  1013820002

这时序列值的前缀变成了“101382”,在这里:

  • 序列值= 6位数字前缀+普通序列值
  • 6位数字前缀 = 3位实例偏移数 + 3位会话偏移数。
  • 3位实例偏移数= [(实例 ID % 100) + 100]。
  • 3位会话偏移数= [会话 ID % 1000]。

对于已经存在的sequence,也可以修改成scalable sequence,例如:

SQL> create sequence scal_seq2;
Sequence created.

SQL> alter sequence scal_seq2 scale;
Sequence altered.

你看懂了吗?需要Oracle/MySQL OCP/OCM培训欢迎找姚远老师咨询🤝。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1267761.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1-2、计算机组成

语雀原文链接 文章目录 1、计算机组成1-1、主板1-2、接口卡1-3、存储器(内存) 2、存储器2-1、存储器的重要性2-2、物理存储器2-3、逻辑存储器2-4、内存地址空间的分段2-5、存储单元2-6、指令和数据 3、总线3-1、三类总线3-2、CPU读数据例子3-3、CPU写数…

SVG图片选择库组件封装及使用

需求 需求: 在项目中通常需要做菜单管理,想要让左侧菜单好看一点,一般都会选择添加图标,需要自定义选择喜欢的图标,得提供一个有选择项的图标库 延伸需求:在项目中通常可能有好几个图标选择库,可…

【星火大模型】api使用

讯飞星火官方首页 准备工作 注册讯飞星火账号申请开发者api试用 从一个demo开始 讯飞星火官方的程序员为我们提供了非常优秀的demo,基本涵盖了大多数常用语言。 demo下载链接 这里我选用Java带上下文调用示例 下载后可以看到这是一个idea项目,直接…

最佳实践-使用RKE快速部署高可用k8s集群

公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享。 概述 Rancher Kubernetes Engine(RKE)是一个用于部署、管理和运行Kubernetes集群的开源工具。旨在简化Kubernetes集群的部署和操作。 RKE具有以下特点和功能&…

Linux学习笔记09、Shell命令之历史命令和自动补全

上一篇:Linux学习笔记08、Shell命令之常用命令缩写及全称 目录 1、历史命令: 1.1、查看所有历史命令列表: 1.2、查看指定历史命令: 1.3、清除历史命令: 2、自动补全 2.1、当字符串唯一时: 2.2、当有多个…

一个00后女生在csdn创作1095的创作纪念日

大家好,我是你们熟悉的微枫奶糖 肥晨,今天收到私信,突然发现,我来到CSDN已经1095天了。让我来分享一下吧~ 机缘 不知不觉来csdn已经1095天了,祝贺我在CSDN的创作纪念日! 这是一个非常值得纪念的日子&…

初识PO模式并在Selenium中简单实践

初识PO模式 PO(PageObject)是一种设计模式。简单来说就是把一些繁琐的定位方法、元素操作方式等封装到类中,通过类与类之间的调用完成特定操作。 PO被认为是自动化测试项目开发实践的最佳设计模式之一。 在学习PO模式前,可以先…

HeteroTiC: 基于异构时间通道的鲁棒网络流水印

文章信息 论文题目:HeteroTiC: A robust network flow watermarking based on heterogeneous time channels 期刊(会议):Computer Networks 时间:2022 级别:CCF B 文章链接:https://doi.org/10…

堆在排序中的应用

堆排序 1、堆排序原理 堆排序是利用到了堆这种数据结构,我们首先回顾一下二叉堆的特性: 最大堆的堆顶是整个堆中的最大元素。最小堆的堆顶是整个堆中的最小元素。 以最大堆为例,如果删除一个最大堆的堆顶(并不是完全删除&…

YOLOv5改进之ShuffleNetV2

目录 一、原理 网络结构 二、代码 三、应用到YOLOv5 一、原理

关于神经网络,你不得不知的三大要点

什么是神经网络? 神经网络是一个具有相连节点层的计算模型,其分层结构与大脑中的神经元网络结构相似。神经网络可通过数据进行学习,因此,可训练其识别模式、对数据分类和预测未来事件。 神经网络将您的输入细分为多个抽象层。比…

班级管理经验分享

班级管理经验如同作战策略,需要不断摸索和实践。以下是我结合自身经历,总结出的一些班级管理经验,与大家分享。 一、了解学生 作为班主任,首先要了解每个学生的性格、爱好、学习情况、家庭背景等。这需要我们与学生建立良好的沟通…

C++——取地址和自增运算

今天做了道题一下给我整蒙了,把实验探索发篇文章,题目如下: int a[]{10,11,12},*p&a[0];执行完*p;*p1;后a[0],a[1],a[2]的值各为多少 答案是 10, 12, 12怎么理解*p,*p1呢,我觉得可以用汉语把代码读一下,p&#xf…

Make sure that using this pseudorandom number generator is safe here.

问题类型:安全热点 安全问题级别:MEDIUM 一、问题代码 工具类Package: Java commons-lang3 库 RandomUtils 随机数工具类 import org.apache.commons.lang3.RandomUtils; 用法: RandomUtils.nextInt(0, 999999999) //生成 0…

记一次深入内核的数据库高并发性能优化实践

前不久,我们接到客户长江电力的反馈,称在生产环境中进行高并发查询,例如包含数百个测点的近千个并发作业,在从近三月的数据中取数或聚合计算时,会出现作业超时,但CPU利用率却很低。 接到反馈后&#xff0c…

快速操控鼠标行为!Vue鼠标按键修饰符让你事半功倍

🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️ 生活的理想,就是为了理想的生活 ! ⭐ 专栏简介 欢迎来到前端入门之旅!这个…

【Qt之QSqlRelationalTableModel】描述及使用

描述 QSqlRelationalDelegate链接: https://blog.csdn.net/MrHHHHHH/article/details/134690139 QSqlRelationalTableModel类为单个数据库表提供了一个可编辑的数据模型,并支持外键。 QSqlRelationalTableModel的行为类似于QSqlTableModel,但允许将列设…

解锁Jira本地部署的数据中心版高级功能,打造高效、智能、精细化的项目管理

近日,在龙智携手Atlassian与JFrog共同举办的“大规模开发创新:如何提升企业级开发效率与质量”的线下研讨会中,龙智高级咨询顾问、Atlassian认证专家叶燕秀为大家带来了精彩演讲,解锁Jira Data Center版的诸多高级功能&#xff0c…

RLHF:强化学习结合大预言模型的训练方式

RLHF (Reinforcement Learning from Human Feedback) 以强化学习方式依据人类反馈优化语言模型。 文章目录 一、简介二、一般的流程三、微调gpt介绍示例 参考文章 一、简介 强化学习从人类反馈中学习(RLHF,Reinforcement Learning from Human Feedback&a…

6 Redis缓存设计与性能优化

缓存穿透 缓存穿透是指查询一个根本不存在的数据, 缓存层和存储层都不会命中, 通常出于容错的考虑, 如果从存储层查不到数据则不写入缓存层。缓存穿透将导致不存在的数据每次请求都要到存储层去查询, 失去了缓存保护后端存储的意义…