- 博客(1001)
- 资源 (19)
- 收藏
- 关注

原创 mysql ibd 数据文件恢复极速恢复工具 ibd recover tool
mysql ibd 数据文件恢复极速恢复最近不少朋友遇到mysql 丢失ibddata 数据文件或者文件系统损坏只有部分ibd 文件的故障找我来帮忙处理,有些朋友的环境有几百上千个ibd 文件,手动恢复着实麻烦,写了一个工具,批量恢复mysql innodb,(myasim) ibd 的工具,目前可以在windows 和linux运行;mysql 的文件解析还是有点累的,搞得有点想吐ibd...
2020-04-26 10:49:37
2705
4
原创 Cluster Interconnect in Oracle RAC
In this DocumentThe purpose of this note is to make DBAs and System Administrators familiar with the concept of the cluster or private interconnect and its usage in Oracle Clusterware and Oracle Real Application ClustersThe main audience is DBAs and System
2025-05-09 15:40:42
1116
原创 Exadata -- Database initialization parameter : cluster_interconnects parameter
Ex:
2025-04-30 15:12:29
533
原创 HOWTO: Remove/Disable HAIP
After completing the above steps for each node, then the cluster is ready to have HAIP disabled from start up. As root user:Disable and stop HAIP resource on each node[root@<racnode1> ~]# /u01/12.2/grid/bin/crsctl modify res ora.cluster_interconnect.haip -
2025-04-30 11:25:57
231
原创 为什么有些数据库要使用行级别多版本,有些是页面级别的?
通过分散的行级元数据开销,优先保障高并发事务的平稳运行,但需接受更高的空间管理和后台线程维护成本。牺牲细粒度并发优势,换取集中式管理的存储效能,尤其适配需要全局一致性和闪回能力的场景。不同数据库的 MVCC 实现选择。
2025-03-14 14:43:20
772
原创 RAC: How to delete and add a node in 19c RAC
In this DocumentNOTE: In the images, examples and document that follow, user details, cluster names, hostnames, directory paths, filenames, etc. represent a fictitious sample (and are used to provide an illustrative example only). Any similarity to actual
2025-02-19 08:46:20
876
原创 docker 中mysql drop table 恢复
帮一个朋友恢复docker 中mysql drop table 的误操作;没想到mysql_page_stream 工具居然读裸盘的速度达到了560M/s ,非常幸运的底层的page 都在;
2024-12-13 17:14:25
423
原创 oracle TAB$ 基表删除恢复
接客户服务请求,说是一个好久没有用的数据库在打开时遭遇ora-00600 16703 1403 28 错误,这中一看就是oracle 的tab$基表被删除了。索性数据库比较小只有10G左右,懒得的弄bbed,直接oracle dul 抽取了用户需要的表 ,搞定;客户环境 aix 平台;
2024-09-09 09:06:29
471
转载 聊聊SQL单次执行时间毛刺问题的发现与分析
实际上这是所有数据库的通病,在MySQL上,这种情况是很常见的,甚至在Oracle上也很难避免此类问题的发生。确认SQL执行确实存在毛刺问题后,我们在生产环境中对这条SQL进行了更细致的排查,想通过分析其等待事件来分析出现毛刺的原因,不过我们发现大多数超时的SQL都没有等待事件,是ON CPU的,这种情况后续的排查工作会更加复杂了。今天我们讨论的这个方法,因为对减的字段的精度不同,对于执行时间很短的SQL实际上监控误差是很大的,以前我们主要是用这种方法来分析一些执行时间为几秒钟到几百秒钟的SQL毛刺问题。
2024-07-03 16:53:05
191
1
原创 ASM on Non-First Node (Second or Others) Fails to Start: PMON (ospid: nnnn): terminating the instanc
.............i.e.^C^C。
2024-07-01 17:12:08
743
原创 Detailed Steps for Troubleshooting ORA-00600 [kdsgrp1] (文档 ID 1492150.1)
未找到您要查找的产品?
2024-06-28 11:02:42
1035
原创 数据库不支持多块写怎么理解
数据库不支持多块写(multi-block write)通常指的是数据库在一次写操作中不能同时写入多个块(或数据页)。这在某些数据库管理系统(DBMS)中是一个限制,主要影响的是写性能和并发处理能力。
2024-06-04 09:01:38
295
原创 oradebug dumptype 札记
ORA-00073: 命令 DUMPVAR 的参数数介于 2 和 3 之间。ORACLE 例程已经启动。
2024-04-11 09:01:18
317
原创 Duplicate for Standby fails with RMAN-05535 even when LOG_FILE_NAME_CONVERT is set (Doc ID 2756315.1
RMAN> run{3>4> spfile5>7>15> }16>......
2024-04-10 15:11:43
597
原创 Error -- “Can‘t Create A New Thread (errno 11)“ (Doc ID 1484095.1)
mysqld]
2024-03-21 15:30:56
981
原创 和数据库相关的共享内存的机制
通过共享内存,这些进程可以相互之间直接访问这块内存,从而实现数据的共享和通信。需要注意的是,使用共享内存时,需要注意并发访问的同步和互斥问题,以避免竞争条件和数据一致性的问题。共享内存提供了一种进程间直接通信的方式,通过在共享内存区域中写入和读取数据,进程可以相互之间进行通信。共享内存是一种高效的数据传输方式。多个并发执行的进程可以访问相同的内存,以共享数据结构,变量或其他信息,从而实现协同工作。共享内存的概念也可以用于内存映射文件,使得文件内容可以被映射到进程的地址空间中,实现对文件的直接读写操作。
2024-03-06 17:06:00
1156
1
原创 “Scalar相关子查询展开”(Scalar Correlated Subquery Unfolding)
是指将子查询的结果预先计算并存储,然后在外部查询中直接使用该值,而不是每次外部查询的每一行都重新计算子查询。这种技术可以提高查询的性能,因为它避免了重复计算子查询。然后,它会将结果存储在一个临时表或哈希表中。接下来,当执行外部查询时,它可以直接从临时表或哈希表中获取每个客户的订单数量,而不需要重新计算。这种技术可以显著提高查询性能,但它也增加了查询优化的复杂性,因为优化器需要决定何时以及如何执行这种展开。如果没有进行Scalar相关子查询展开,那么对于。表中的每一行,都会执行一次子查询来计算订单数量。
2024-03-05 14:33:48
375
原创 如何理解MySQL的计算层做的很差,但innodb则非常优秀
在实际应用中,对于性能瓶颈的分析和优化,往往需要结合具体的业务场景、数据库表结构、索引设计等因素进行综合考虑。在MySQL中,计算层通常指的是查询优化器和执行引擎,负责解析查询语句、生成执行计划,并执行实际的查询操作。MySQL的计算层可能在处理某些类型的查询时效率较低,尤其是在大规模数据和复杂查询的情况下。如果系统的主要工作负载是事务性质的,InnoDB的性能可能会比其他存储引擎更好。MySQL的查询优化器和执行引擎可能在某些场景下不够灵活或者无法有效地处理复杂的查询请求。
2024-03-05 14:14:49
425
原创 k8s 中 namspace deployment pod services 之间的关系
在上述示意图中,Namespace包含两个Deployment(Deployment 1和Deployment 2)。每个Deployment创建一个或多个Pod,而Service通过标签选择器与这些Pod关联,使外部或其他服务可以通过Service的稳定网络地址访问相关Pod。这样,Deployment负责管理Pod的生命周期,而Service负责提供稳定的网络入口。在Kubernetes(K8s)中,Namespace(命名空间)是一种用于将集群内部资源划分为不同逻辑组的机制。
2024-02-29 10:44:00
637
原创 docker 的volume 是个什么概念
在Docker中,Volume(卷)是一种用于在容器和主机之间共享和持久化数据的机制。Volumes允许在容器之间或容器与主机之间共享文件,并且数据在容器的生命周期中是持久的。这是因为容器的文件系统是临时的,容器被删除后文件系统中的数据也会被清除,而Volume提供了一种解决这个问题的方法。Docker支持不同类型的Volume,包括本地主机的Volume、远程Volume、以及插件支持的Volume等。Volumes中的数据是持久的,它不受容器的生命周期的限制。命令创建一个新的Volume,然后通过。
2024-02-21 16:26:02
949
原创 抽空升级了下mysql drop table,truncate table 勒索病毒表表恢复工具
【代码】抽空升级了下mysql drop table,truncate table 勒索病毒表表恢复工具。
2024-01-23 11:36:00
433
原创 oracle “Interested Transaction List”(ITL)的概念
总的来说,ITL是数据库块头的一部分,用于维护有关影响该块中行的事务的信息。它跟踪锁定、已提交的更改和未提交的更改。Undo段被引用以提供有关这些更改时间的详细信息。INITRANS参数帮助控制在ITL中保留的事务历史量。这个概念是数据库系统中事务管理的一部分,有助于确保数据的一致性和完整性。“Interested Transaction List”(ITL)的概念。
2024-01-18 11:34:32
892
原创 常见问题:‘cursor:mutex ..‘/ ‘cursor:pin ..‘/ ‘library cache:mutex ..‘类型的等待事件
处理或访问cursor的任何操作都可能需要等待,才能访问在 shared pool 中支持这些操作的结构。请注意,所有这些等待事件都非常相似,并且可能都是在一个操作过程中产生的等待。Share(共享)操作可以在不更改的情况下进行,只是需要在更改过程中暂时锁定这些操作,以防止其被其他项更改。基于这些事件的争用通常是另一个问题的症状表现 – 即问题是其它地方产生的,而不是 mutex 机制本身。通常,通过采用合理的cursor共享策略,正确使用绑定变量并确保没有大量版本,应该能够避免大多数这类性质的问题。
2024-01-16 15:31:56
1084
原创 scripts:查看数据库历史增长情况
此处是通过计算数据库所有表空间的历史增长情况来计算数据库历史情况。------最近7天数据库增长情况。--不含undo和temp。--含undo和temp。查看数据库历史增长情况。
2024-01-09 16:51:08
555
原创 快速判断oracle sql 中涉及的对象表,索引其统计信息是否过久
结合DBA_TAB_MODIFICATIONS 视图可以判断相关的对象是由于什么操作导致的统计信息过旧。
2023-12-28 14:26:17
427
原创 ORA-600 [2662] “Block SCN is ahead of Current SCN“
PURPOSE:ERROR:VERSIONS:ARGUMENTS:IMPACT:startup.II10.1.0.2I10.1.0.2P-7.3.4.5'*''+'
2023-12-13 13:52:42
158
原创 Resolving ORA-600[3020] Raised During Recovery
【代码】Resolving ORA-600[3020] Raised During Recovery。
2023-12-13 13:34:34
197
转载 MySQL · 特性分析 · 执行计划缓存设计与实现
如果当前用户频繁使用相似的query进行查询,Plan Cache可以有效的减少query的优化时间,进而提升query的执行性能。目前Plan Cache是我们开发的第一个版本,只是针对我们线上的场景进行优化,很多场景还不支持。希望在未来的时间里可以完善Plan Cache,提供更多的场景支持。
2023-12-04 17:25:09
325
转载 MySQL · 引擎特性 · InnoDB Adaptive hash index介绍
我们知道InnoDB的索引组织结构为Btree。通常情况下,我们需要根据查询条件,从根节点开始寻路到叶子节点,找到满足条件的记录。为了减少寻路开销,InnoDB本身做了几点优化。首先,对于连续记录扫描,InnoDB在满足比较严格的条件时采用row cache的方式连续读取8条记录(并将记录格式转换成MySQL Format),存储在线程私有的中;这样一次寻路就可以获取多条记录,在server层处理完一条记录后,可以直接从cache中取数据而无需再次寻路,直到cache中数据取完,再进行下一轮。
2023-12-04 17:22:29
159
原创 MySQL ibd文件 ,binlog 删除恢复,数据库块磁盘碎片打捞
近期会把oracle ,达梦数据库,pg,等数据库的磁盘碎片打捞工具都开发出来。2-误操作删除了innodb ibd 文件:rm -rf *.ibd;1-mysql drop table操作,文件系统*.ibd 被清理场景;3-误操作删除了innodb binlog 文件。4-其他任何原因导致的ibd 文件丢失。
2023-12-01 16:49:31
318
原创 mysql 优化器的AST树是啥
AST是一种树状结构,它反映了查询语句的语法层次,是一个抽象表示,用于更方便地进行语法和语义分析。查询的执行过程中,MySQL会首先进行语法解析,将查询语句转换成AST。然后,优化器利用这个AST来考虑不同的执行计划,以找到最有效的执行方式。在这个优化过程中,MySQL会考虑许多因素,包括表的访问顺序、使用索引的方式等,以确保查询在性能上得到最优化。简而言之,AST是一个树状结构,用于表示查询语句的抽象语法,而MySQL的优化器使用这个AST来进行查询优化,选择最佳的执行计划。
2023-11-24 09:07:23
578
原创 CPU L1(一级)、L2(二级)和L3(三级)缓存概览
这些缓存层次的设计旨在利用局部性原理(时间局部性和空间局部性),通过缓存最常用的数据和指令,减少对主内存的访问,从而提高计算机程序的执行速度。增加缓存的大小可能会导致访问时间的增加,因为更大的缓存需要更多的时间来搜索和访问。通常情况下,现代 CPU 设计已经在缓存层次结构上进行了精心的平衡,以提供足够的性能而不会引入不必要的复杂性和成本。缓存的设计是复杂而精密的,旨在在提高性能的同时最小化访问主内存的需求,因为内存访问通常是计算机系统中最昂贵的操作之一。多级缓存的存在是为了提供更高的速度和更大的容量。
2023-11-23 16:59:18
13084
原创 redo log 丢失或者损坏-ORA-01194: 文件 1 需要更多的恢复来保持一致性
ORA-00312: 联机日志 2 线程 1: 'C:\ORACLE19C\APP\ZMI\ORADATA\ORCL\REDO02.LOG'ORA-01110: 数据文件 1: 'C:\ORACLE19C\APP\ZMI\ORADATA\ORCL\SYSTEM01.DBF'ORA-01110: 数据文件 1: 'C:\ORACLE19C\APP\ZMI\ORADATA\ORCL\SYSTEM01.DBF'2、ORA-01194: 文件 1 需要更多的恢复来保持一致性。ORA-27041: 无法打开文件。
2023-11-23 08:20:37
1449
原创 DBCA DIM-00019: Create Service Error O/S-Error: (OS 5) Access is denied
In this DocumentBelow error occurred when creating database with dbca:error in process: E:|...\bin\oradim.exe enter password for oracle service user: DIM-00019: create service error O/S-Error: (OS 5) Access is deniedWindows permission issue. I
2023-11-22 16:38:24
777
原创 Go 以小端字节序修改文件
大多数现代系统都使用小端字节序,但有些特殊情况下可能会使用大端字节序。的方法将数据从切片或整数类型转换为小端字节序。请确保根据需要调整数据类型和字节范围。用于处理小端字节序。Go语言的标准库提供了。
2023-11-20 10:32:14
297
转载 MySQL · 引擎特性 · InnoDB Adaptive hash index介绍
我们知道InnoDB的索引组织结构为Btree。通常情况下,我们需要根据查询条件,从根节点开始寻路到叶子节点,找到满足条件的记录。为了减少寻路开销,InnoDB本身做了几点优化。首先,对于连续记录扫描,InnoDB在满足比较严格的条件时采用row cache的方式连续读取8条记录(并将记录格式转换成MySQL Format),存储在线程私有的中;这样一次寻路就可以获取多条记录,在server层处理完一条记录后,可以直接从cache中取数据而无需再次寻路,直到cache中数据取完,再进行下一轮。
2023-11-17 15:07:42
201
转载 MySQL · 引擎特性 · InnoDB MVCC 相关实现
InnoDB的多版本并不是直接存储多个版本的数据,而是所有更改操作利用行锁做并发控制,这样对某一行的更新操作是串行化的,然后用Undo log记录串行化的结果。当快照读的时候,利用Undo log重建需要读取版本的数据,从而实现读写并发。
2023-11-17 15:04:25
98
转载 MySQL · 最佳实践 · 性能问题多维度诊断
利用上面的工具可以很详细的分析出cpu的消耗分布和内存的一个具体占用情况。mysql的性能诊断除了上面我提的几点,当然还有很多其他的办法我就不一一列出了(比如网络等等),更微粒度的监控数据采集,更多维度多功能的问题诊断分析,数据库性能问题的诊断将不是问题。以后的数据库将迈着自治的道路上去走,有感兴趣的同学可以与我交流,共同进步。
2023-11-17 15:01:14
165
oracle 11g 数据文件头block 1解析
2023-11-16
golang 版 linux windows httpstat http url api 性能分析工具
2023-03-16
msp430课件
2013-06-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人