- 博客(25)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 02 Oracle日志系统:一条SQL更新语句是如何执行的
在这篇文章中,我们以一条更新SQL的视角,给大家介绍了Oracle数据库是如何处理DML语句的。通过这个过程我们可以看到,所有变更操作都是在内存中完成的,这里的内存操作包括Redo Log Buffer中记录的数据操作日志和Buffer Cache中对数据块的变更。当用户确认提交后,会将Redo Log Buffer记录同步写出到在线重做日志文件,而Buffer Cache中被修改的数据块,则会放入到“脏块”链表,基于一定的机制异步写出到数据文件中。
2024-08-02 13:29:08
699
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 彻底搞懂Oracle直方图
Oracle直方图的概念相对复杂,涉及到的知识点比较多,通过一篇文章梳理不同直方图的生成原理和使用场景,帮助大家更好的理解和运用直方图解决实际生产问题。
2024-07-28 20:38:06
974
原创 Clickhouse 为什么这么快
任何架构都不是万能的,都有其自身的优点,在获取这些优点的同时也存在局限。尽管ClickHouse还存在着些许的不足,使得其并不适合作为OLTP型的数据库,但并不妨碍其成为优秀的MPP架构数据仓库。国内诸如字节跳动、腾讯、携程、滴滴出行等众多头部互联网公司,都在使用ClickHouse作为分析查询引擎,提供业务决策、用户画像等场景。在当前基础架构国产化的背景下,还有一众公司基于ClickHouse推出了自己的数据仓库产品,将ClickHouse的产品和理念推广到更广阔的领域。
2024-09-01 21:21:49
957
原创 聊聊 OceanBase 资源管理
OceanBase 数据库发源于阿里系,其架构是基于互联网系统高可用、资源池化、快速交付、动态扩缩容理念设计的。物理层面上,通过 Zone 提供了数据中心服务器级的高可用保护;逻辑层面,通过资源配置将服务器资源拆分为更小的单元,可以为不同类型的应用分配不同类型和不同数量的 Unit ,这些资源既可以通过调大资源规格,也可以通过资源单元的数量来进行动态扩缩容,来满足不同业务的需求。
2024-09-01 09:30:29
698
原创 国产数据库打败Oracle?不存在的!
目光拉回到国内,传统行业中,国产数据库真的能对Oracle形成挑战吗?短时间看,政策的加持下,Oracle的压力还是很大的,随着传统行业核心系统不断去O,Oracle的话语权会越来越弱,而且国产数据库也会在这个过程中得到大量真实交易场景的锤炼,产品会越来越成熟,往日外企的风光已经很难再重现。但我认为最终会达到一个平衡,毕竟O的技术先进性还是很明显的,而且去O也是要成本,只是这个平衡牵涉到国家战略,不以个人意志甚至是不以市场意志转移。因此国产数据库并不是真正打败Oracle的关键因素,
2024-08-31 15:36:17
478
原创 聊聊 OceanBase 内存管理
内存配置管理是数据库日常管理中非常重要的工作,正确合理配置数据库内存是保障系统高效运行的前提条件。OceanBase 数据库是一个支持多租户架构的准内存级的分布式数据库,对大容量内存的管理和使用提出了很高的要求。实际使用上,OceanBase 倾向于将更多的系统内存划分给数据库,由数据库进行统一管理。具体的内存结构,可以分为操作系统预留内存、OBServer预留内存、租户内存等四个层次。
2024-08-31 15:16:11
1097
原创 聊聊国产数据库的生态系统建设
所谓数据库的生态系统,从用户的角度看,就是充分打通产品使用过程中上下游的关联,使其各司其职有相互协作,发挥出各自产品的最大价值,尽可能让用户用得放心用得舒心。以上的几点,从一个数据库最终用户的角度,谈了数据库生态建设具体可落地的几点思路。使用数据库的是用户,评价数据库的也是用户,让用户用得舒心用得放心,提升用户的体验是非常重要的。综合上述的几点,相信大家也能看出来,生态建设并不是建个社区,搞个分享那么简单,需要围绕整个产品的决策链和在企业中的生命周期来布局,把每个环节都覆盖到,才能真正的做好生态。
2024-08-17 21:50:06
445
原创 06 Oracle数据是怎么存储的
这篇文章介绍了数据在Oracle数据库中是如何组织和存储的,通过位图管理空间,规避了老版本中使用数据字典和自由链表方式引起的递归调用和并发争用问题,大幅提升了数据库的并发处理能力,是Oracle 9i之后推荐的管理方式。
2024-08-17 09:59:24
957
原创 19c做好这件事,大幅提升Data Pump工作效率
这篇短文一方面介绍了这个影响范围广泛的Bug建议大家在自己的环境中复查,另一方面也展示了Oracle问题的常见分析思路,就是从AWR入手,根据发现的蛛丝马迹层层剖析,最终找出根本的原因所在。接触国产库之后才深有体会,作为Oracle DBA是幸福的,不仅提供了AWR等详细的素材用于问题的分析诊断, MOS知识库中还记录了海量的故障案例可供参考和对比,帮助用户快速定位和解决问题。反观国产库,在运行时的数据采集和数据库指标上还存在较大的差距,文档和知识库更是相差甚远,要走的路还很长。
2024-08-13 22:04:37
401
原创 05 锁是并发的天敌,为什么少不了它?
这篇文章中给大家介绍了Oracle数据库中几种典型锁的概念及其实现。Oracle中的锁遵循最小粒度的原则,尽量将加锁粒度控制在最小范围,避免影响其他事务的操作。加锁粒度尽可能小;读永远不会阻塞写,写也永远不会阻塞写;锁永远不会主动升级。这些特性现在看来都很普通,市面上主流的关系型数据库基本都支持这些特性。但是倒退20年,这些都是Oracle碾压其他数据库的杀手锏,Oracle之所以能成为数据库领域的No. 1,除了合理的市场策略外,这些精细的设计也是帮助其统治市场非常重要的因素!
2024-08-13 10:24:26
853
原创 数据库国产化大趋势下,还需要学习Oracle吗?
由于众所周知的原因,近两年各行各业都开始了数据库国产化替代的进程,从国外商业数据库替换到国产或者开源数据库,相信很多的数据库从业人员会把部分精力转移到其他数据库产品的学习中,也有一些人在大肆的宣扬Oracle已经过时了,没有必要把精力浪费在Oracle上,诸如此类。相比于其他数据库,Oracle拥有完整的体系架构,存储管理、集群管理、表空间和数据文件管理、内存管理等等,并且这些功能在Oracle数据库中以独立产品或组件的形态存在的,在Oracle的体系中统一管理,不依赖其他开源或商业产品。
2024-08-09 22:37:47
665
1
原创 04 Oracle事务是怎么练成的
事务是数据库管理系统执行过程的一个逻辑单位,由一系列有限的数据库操作序列构成,事务必须满足ACID属性。ACID理论是数据库中最重要的概念之一,分别代表原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生;一致性是指事务将数据库从一个一致的状态转移到另一个一致的状态,这意味着事务执行的结果必须符合所有预定义的规则和约束;
2024-08-09 12:04:32
865
原创 03 Oracle是如何保证数据不丢的
本篇文章给大家介绍了Oracle数据一致性的保障体系,在这个体系中,检查点是非常重要的环节,它定期将“脏数据"从内存写出到数据文件。由于数据库是持续运行的,没有绝对的一致性状态,因此检查点队列被设计成一个先进先出的链表,依次从检查点对列写出到数据文件中,完成数据的持久化。对于已经进入检查点队列但没有写出到数据文件的脏块,实例恢复时会通过在线日志前滚将已修改的数据恢复出来应用到数据文件中,从而保证数据的一致性。
2024-08-06 22:02:10
1020
原创 MySQL 9.0,搞砸了!
MySQL的流行得益于互联网行业的兴起,产品开源免费开箱即用,非常适合刚开始创业的小互联网公司,MySQL就是这样和他们一起成长起来的。2009年Oracle收购了Sun,MySQL也归属到数据库霸主Oracle的麾下,因为Oracle有自己的商业数据库,业界一度担心Oracle之所以收购MySQL,就是为了扼杀它。9.0是计20年8.0以来新发布的新一代创新版本,创新版本主要是推出新的功能特性,但是从其少的可怜的新特性来看,还是比较另外失望的,甚至赶不上隔壁PG一个季度补丁的新特性多。
2024-08-02 17:19:47
421
原创 01 Oracle基础架构:一条SQL查询语句是如何执行的
在这篇文章中,给大家介绍了从客户端发送一条SQL到数据库,经历了解析、绑定、执行和提取等几个阶段最终获取到相应的数据。其中,解析阶段因为涉及到执行计划的确定,成本非常高,为了实现一次解析多次执行的目的,Oracle又引入了绑定变量,将执行过程中的变量进行参数化处理,“欺骗”数据库认为都是相同的语句,从而避免了更多的硬解析。但是这种方式是“完美”的吗?又会给数据库的运行带来哪些问题?大家在使用数据库的过程中,又遇到哪些解析的问题?欢迎留言讨论!
2024-07-30 10:16:40
1029
原创 未来DBA都只能去开滴滴吗
数据库技术不断成熟,加上国产化和分布式技术的兴起,数据库管理工作又一次面临巨大的转变。但是数据库种类和体量的增加,一定程度上中和了单体数据库运维需求的减少。总体来说,数据库管理员岗位并不会消失,但是最对岗位的要求会有所改变。之前解决一次宕机故障,处理一次应用夯死,会让你成为英雄,这样的场景会越来越少。数据库管理员作为最了解数据库特性、离数据最近的群体,也应该多学习业务知识,从数据中挖掘价值,从而更好的实现自己的价值!
2024-07-28 22:17:07
325
原创 Oracle集群新特性竟然导致正常节点被踢出集群
按照正常的逻辑,节点2被踢出集群是预期行为,首先节点2已经出现操作系统夯住的异常,其次对于两个节点的集群,即使两个节点都没有明显的问题,Oracle也会优先保留id更小的那个,因此不论是什么情况节点2都会是被踢出集群的那个。和之前不同的是,这次的决策过程中提到了NodeWeights,系统使用节点2旧的权重进行集群决策,不凑巧的是节点2的权重比节点1的权重要高,因此把正常的节点1踢出了集群。事实上,几乎就在节点1将自己踢出集群之前的几秒钟,节点2的OS已经发生了重启,于是就发生了文前提到的那一幕。
2024-07-25 23:36:05
250
原创 再牛的数据库,也抗不住奇葩的SQL
客户的测试环境数据库频繁crash,而且据开发人员反馈是一条insert的SQL语句导致的。说实在话,随着Oracle数据库版本的演进,越来越少遇到宕机的案例,而这次竟然会因为一条insert导致实例崩溃,
2024-07-25 22:23:11
1042
原创 12c sec_case_sensitive_logon 参数过期,密码验证需严格遵循大小写
Oracle 11g 开始,数据库密码默认区分大小写,但是提供了一个参数 – sec_case_sensitive_logon,使得11g的密码验证行为和之前相同(不区分大小写)。 但是在12c中,该参数已经被废弃,也就是说12c强制密码大小写验证。因此在上线前需要仔细检查应用系统密码,避免因为密码大小写问题导致登录失败。在设置 sec_case_sensitive_logon = fals...
2018-08-11 22:08:00
1663
原创 12c & 18c Application Container Map 新特性测试
随着12c PDB的使用日渐成熟,用户生产中心的PDB也越来越多,且这些PDB彼此之间都是相互孤立的,一方面扩展性受到限制,另一方面也给管理带来较多的不便。Oracle 12cR2 和 18c 中对PDB的扩展性和管理便利性等方面进行了诸多的增强。这里介绍通过应用容器的Container Map来实现分区表部署在不同的PDB中。首先介绍几个概念分区映射表:定义分区键和PDB之间的映射关...
2018-07-19 10:21:15
433
原创 12c & 18c 新特性 PDB Lockdown Profile
为了更好的管理CDB及其PDB中的权限,12c推出一项新功能 – PDB锁定配置文件 ( PDB Lockdown Profile),用于控制连接到PDB用户的可用操作。比如,禁止执行alter system。PDB锁定配置文件能够对以下的访问类型进行限制:网络访问,比如访问UTL_HTTP或者UTL_MAIL通用用户或者对象的访问,比如限制PDB中的本地用户通过通用用户进行代理或访问...
2018-07-01 11:54:12
704
原创 手工创建18c CDB
18c For Exadata版本的介质已经发布,作为一名心急的老粉丝,欣喜的发现可以安装在普通的Linux平台。 但是在通过DBCA建库的时候会报ORA-12754错误,不过这也难不倒万能的网络。图形界面不行,我们还可以手工建库,前提是在参数文件中加入下面的参数。_exadata_feature_on=true安装好18c做什么?一些PDB的新特性当然是要体验的,可是悲催的发现,P...
2018-06-27 22:32:51
662
原创 Oracle 18c PDB快照
在Oracle 18c数据库中,创建PDB时可以同时为PDB创建快照,完整的保存快照创建时间点的PDB数据。PDB快照主要有两个作用:1. 通过闪回恢复数据到快照时间点2. 使用快照PDB查询历史数据每个PDB快照都会关联一个快照名称,可以在创建时定义也可以由系统自动生成。同时,每个快照也会关联创建时的时间戳和SCN。每个PDB允许保存的最大PDB快照数量由MAX_PDB_SNAPSHOTS属性控...
2018-06-22 06:41:50
548
原创 Oracle 18c 新特性之CDB航母
给用户介绍Oracle多租户新特性时,多次忍不住将CDB比喻为航母,PDB则是停靠之上的舰载机。没想到18c竟然出了航母战斗群,^_^18c中引入了CDB fleet新特性,能够实现以下的功能:扩容PDB支持数量,单个CDB最大能够支持4096个PDB,CDB fleet大大扩展了这一数量;多CDB数据库的集中管理,降低管理成本;CDB fleet支持所有的数据库功能,如Oracle RAC,RM...
2018-06-13 06:55:35
973
原创 Oracle 18c 版本发布策略的变更
Oracle的版本发布和补丁策略一直没有太大的调整,基本保持3-4年一个大版本,两代产品之间会出一个Release 2。这种策略的好处是能够保证系统的稳定性,一个新的大部分更新到Release 2时,基本被认为是比较稳定的版本,保守的用户一般会选择这个版本进行升级。Oracle 12.2之前的版本标识图Major Database Release Number第一个数字是最一般的标识符。它代表了包...
2018-06-10 15:53:50
2516
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人