自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Lixora's DB Home

Focus, Fast, Efficent!

  • 博客(994)
  • 资源 (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 2495 4

原创 oracle TAB$ 基表删除恢复

接客户服务请求,说是一个好久没有用的数据库在打开时遭遇ora-00600 16703 1403 28 错误,这中一看就是oracle 的tab$基表被删除了。索性数据库比较小只有10G左右,懒得的弄bbed,直接oracle dul 抽取了用户需要的表 ,搞定;客户环境 aix 平台;

2024-09-09 09:06:29 327

转载 聊聊SQL单次执行时间毛刺问题的发现与分析

实际上这是所有数据库的通病,在MySQL上,这种情况是很常见的,甚至在Oracle上也很难避免此类问题的发生。确认SQL执行确实存在毛刺问题后,我们在生产环境中对这条SQL进行了更细致的排查,想通过分析其等待事件来分析出现毛刺的原因,不过我们发现大多数超时的SQL都没有等待事件,是ON CPU的,这种情况后续的排查工作会更加复杂了。今天我们讨论的这个方法,因为对减的字段的精度不同,对于执行时间很短的SQL实际上监控误差是很大的,以前我们主要是用这种方法来分析一些执行时间为几秒钟到几百秒钟的SQL毛刺问题。

2024-07-03 16:53:05 70 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 638

原创 Detailed Steps for Troubleshooting ORA-00600 [kdsgrp1] (文档 ID 1492150.1)

未找到您要查找的产品?

2024-06-28 11:02:42 915

原创 数据库不支持多块写怎么理解

数据库不支持多块写(multi-block write)通常指的是数据库在一次写操作中不能同时写入多个块(或数据页)。这在某些数据库管理系统(DBMS)中是一个限制,主要影响的是写性能和并发处理能力。

2024-06-04 09:01:38 198

原创 oradebug dumptype 札记

ORA-00073: 命令 DUMPVAR 的参数数介于 2 和 3 之间。ORACLE 例程已经启动。

2024-04-11 09:01:18 224

原创 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 502

原创 Error -- “Can‘t Create A New Thread (errno 11)“ (Doc ID 1484095.1)

mysqld]

2024-03-21 15:30:56 828

原创 和数据库相关的共享内存的机制

通过共享内存,这些进程可以相互之间直接访问这块内存,从而实现数据的共享和通信。需要注意的是,使用共享内存时,需要注意并发访问的同步和互斥问题,以避免竞争条件和数据一致性的问题。共享内存提供了一种进程间直接通信的方式,通过在共享内存区域中写入和读取数据,进程可以相互之间进行通信。共享内存是一种高效的数据传输方式。多个并发执行的进程可以访问相同的内存,以共享数据结构,变量或其他信息,从而实现协同工作。共享内存的概念也可以用于内存映射文件,使得文件内容可以被映射到进程的地址空间中,实现对文件的直接读写操作。

2024-03-06 17:06:00 1011 1

原创 “Scalar相关子查询展开”(Scalar Correlated Subquery Unfolding)

是指将子查询的结果预先计算并存储,然后在外部查询中直接使用该值,而不是每次外部查询的每一行都重新计算子查询。这种技术可以提高查询的性能,因为它避免了重复计算子查询。然后,它会将结果存储在一个临时表或哈希表中。接下来,当执行外部查询时,它可以直接从临时表或哈希表中获取每个客户的订单数量,而不需要重新计算。这种技术可以显著提高查询性能,但它也增加了查询优化的复杂性,因为优化器需要决定何时以及如何执行这种展开。如果没有进行Scalar相关子查询展开,那么对于。表中的每一行,都会执行一次子查询来计算订单数量。

2024-03-05 14:33:48 212

原创 如何理解MySQL的计算层做的很差,但innodb则非常优秀

在实际应用中,对于性能瓶颈的分析和优化,往往需要结合具体的业务场景、数据库表结构、索引设计等因素进行综合考虑。在MySQL中,计算层通常指的是查询优化器和执行引擎,负责解析查询语句、生成执行计划,并执行实际的查询操作。MySQL的计算层可能在处理某些类型的查询时效率较低,尤其是在大规模数据和复杂查询的情况下。如果系统的主要工作负载是事务性质的,InnoDB的性能可能会比其他存储引擎更好。MySQL的查询优化器和执行引擎可能在某些场景下不够灵活或者无法有效地处理复杂的查询请求。

2024-03-05 14:14:49 360

原创 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 528

原创 docker 的volume 是个什么概念

在Docker中,Volume(卷)是一种用于在容器和主机之间共享和持久化数据的机制。Volumes允许在容器之间或容器与主机之间共享文件,并且数据在容器的生命周期中是持久的。这是因为容器的文件系统是临时的,容器被删除后文件系统中的数据也会被清除,而Volume提供了一种解决这个问题的方法。Docker支持不同类型的Volume,包括本地主机的Volume、远程Volume、以及插件支持的Volume等。Volumes中的数据是持久的,它不受容器的生命周期的限制。命令创建一个新的Volume,然后通过。

2024-02-21 16:26:02 822

原创 抽空升级了下mysql drop table,truncate table 勒索病毒表表恢复工具

【代码】抽空升级了下mysql drop table,truncate table 勒索病毒表表恢复工具。

2024-01-23 11:36:00 385

原创 oracle “Interested Transaction List”(ITL)的概念

总的来说,ITL是数据库块头的一部分,用于维护有关影响该块中行的事务的信息。它跟踪锁定、已提交的更改和未提交的更改。Undo段被引用以提供有关这些更改时间的详细信息。INITRANS参数帮助控制在ITL中保留的事务历史量。这个概念是数据库系统中事务管理的一部分,有助于确保数据的一致性和完整性。“Interested Transaction List”(ITL)的概念。

2024-01-18 11:34:32 766

原创 常见问题:‘cursor:mutex ..‘/ ‘cursor:pin ..‘/ ‘library cache:mutex ..‘类型的等待事件

处理或访问cursor的任何操作都可能需要等待,才能访问在 shared pool 中支持这些操作的结构。请注意,所有这些等待事件都非常相似,并且可能都是在一个操作过程中产生的等待。Share(共享)操作可以在不更改的情况下进行,只是需要在更改过程中暂时锁定这些操作,以防止其被其他项更改。基于这些事件的争用通常是另一个问题的症状表现 – 即问题是其它地方产生的,而不是 mutex 机制本身。通常,通过采用合理的cursor共享策略,正确使用绑定变量并确保没有大量版本,应该能够避免大多数这类性质的问题。

2024-01-16 15:31:56 933

原创 scripts:查看数据库历史增长情况

此处是通过计算数据库所有表空间的历史增长情况来计算数据库历史情况。------最近7天数据库增长情况。--不含undo和temp。--含undo和temp。查看数据库历史增长情况。

2024-01-09 16:51:08 457

原创 Script: Who’s using a database link?(找出谁在使用dblink)

(找出谁在使用dblink)

2024-01-09 16:45:01 776

原创 快速判断oracle sql 中涉及的对象表,索引其统计信息是否过久

结合DBA_TAB_MODIFICATIONS 视图可以判断相关的对象是由于什么操作导致的统计信息过旧。

2023-12-28 14:26:17 373

原创 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 112

原创 Resolving ORA-600[3020] Raised During Recovery

【代码】Resolving ORA-600[3020] Raised During Recovery。

2023-12-13 13:34:34 150

转载 MySQL · 特性分析 · 执行计划缓存设计与实现

如果当前用户频繁使用相似的query进行查询,Plan Cache可以有效的减少query的优化时间,进而提升query的执行性能。目前Plan Cache是我们开发的第一个版本,只是针对我们线上的场景进行优化,很多场景还不支持。希望在未来的时间里可以完善Plan Cache,提供更多的场景支持。

2023-12-04 17:25:09 220

转载 MySQL · 引擎特性 · InnoDB Adaptive hash index介绍

我们知道InnoDB的索引组织结构为Btree。通常情况下,我们需要根据查询条件,从根节点开始寻路到叶子节点,找到满足条件的记录。为了减少寻路开销,InnoDB本身做了几点优化。首先,对于连续记录扫描,InnoDB在满足比较严格的条件时采用row cache的方式连续读取8条记录(并将记录格式转换成MySQL Format),存储在线程私有的中;这样一次寻路就可以获取多条记录,在server层处理完一条记录后,可以直接从cache中取数据而无需再次寻路,直到cache中数据取完,再进行下一轮。

2023-12-04 17:22:29 107

原创 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 271

原创 mysql 优化器的AST树是啥

AST是一种树状结构,它反映了查询语句的语法层次,是一个抽象表示,用于更方便地进行语法和语义分析。查询的执行过程中,MySQL会首先进行语法解析,将查询语句转换成AST。然后,优化器利用这个AST来考虑不同的执行计划,以找到最有效的执行方式。在这个优化过程中,MySQL会考虑许多因素,包括表的访问顺序、使用索引的方式等,以确保查询在性能上得到最优化。简而言之,AST是一个树状结构,用于表示查询语句的抽象语法,而MySQL的优化器使用这个AST来进行查询优化,选择最佳的执行计划。

2023-11-24 09:07:23 378

原创 CPU L1(一级)、L2(二级)和L3(三级)缓存概览

这些缓存层次的设计旨在利用局部性原理(时间局部性和空间局部性),通过缓存最常用的数据和指令,减少对主内存的访问,从而提高计算机程序的执行速度。增加缓存的大小可能会导致访问时间的增加,因为更大的缓存需要更多的时间来搜索和访问。通常情况下,现代 CPU 设计已经在缓存层次结构上进行了精心的平衡,以提供足够的性能而不会引入不必要的复杂性和成本。缓存的设计是复杂而精密的,旨在在提高性能的同时最小化访问主内存的需求,因为内存访问通常是计算机系统中最昂贵的操作之一。多级缓存的存在是为了提供更高的速度和更大的容量。

2023-11-23 16:59:18 9004

原创 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 1104

原创 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 572

原创 Go 以小端字节序修改文件

大多数现代系统都使用小端字节序,但有些特殊情况下可能会使用大端字节序。的方法将数据从切片或整数类型转换为小端字节序。请确保根据需要调整数据类型和字节范围。用于处理小端字节序。Go语言的标准库提供了。

2023-11-20 10:32:14 247

转载 MySQL · 引擎特性 · InnoDB Adaptive hash index介绍

我们知道InnoDB的索引组织结构为Btree。通常情况下,我们需要根据查询条件,从根节点开始寻路到叶子节点,找到满足条件的记录。为了减少寻路开销,InnoDB本身做了几点优化。首先,对于连续记录扫描,InnoDB在满足比较严格的条件时采用row cache的方式连续读取8条记录(并将记录格式转换成MySQL Format),存储在线程私有的中;这样一次寻路就可以获取多条记录,在server层处理完一条记录后,可以直接从cache中取数据而无需再次寻路,直到cache中数据取完,再进行下一轮。

2023-11-17 15:07:42 139

转载 MySQL · 引擎特性 · InnoDB MVCC 相关实现

InnoDB的多版本并不是直接存储多个版本的数据,而是所有更改操作利用行锁做并发控制,这样对某一行的更新操作是串行化的,然后用Undo log记录串行化的结果。当快照读的时候,利用Undo log重建需要读取版本的数据,从而实现读写并发。

2023-11-17 15:04:25 63

转载 MySQL · 最佳实践 · 性能问题多维度诊断

利用上面的工具可以很详细的分析出cpu的消耗分布和内存的一个具体占用情况。mysql的性能诊断除了上面我提的几点,当然还有很多其他的办法我就不一一列出了(比如网络等等),更微粒度的监控数据采集,更多维度多功能的问题诊断分析,数据库性能问题的诊断将不是问题。以后的数据库将迈着自治的道路上去走,有感兴趣的同学可以与我交流,共同进步。

2023-11-17 15:01:14 111

原创 golang 解析oracle 数据文件头

【代码】golang 解析oracle 数据文件头。

2023-11-15 15:20:14 750

转载 MySQL InnoDB中undo日志的组织及实现

InnoDB中undo日志设计及实现相对清晰,但涉及的地方比较多,有些地方设计的比较巧妙,需要仔细的研究,整体对undo日志这块做下梳理。

2023-11-15 09:02:59 97

转载 MySQL InnoDB Buffer Pool 概览

InnoDB中的数据访问是以Page为单位的,每个Page的大小默认为16KB,Buffer Pool是用来管理和缓存这些Page的。InnoDB将一块连续的内存大小划分给Buffer Pool来使用,并将其划分为多个Buffer Pool Instance来更好地管理这块内存,每个Instance的大小都是相等的,通过算法保证一个Page只会在一个特定的Instance中,划分为多个Instance的模式提升了Buffer Pool的并发性能。

2023-11-15 09:00:22 121

转载 MySQL 查询分析和调优利器Optimizer Trace

本文重点介绍了Optimizer trace的详细内容,只有深入了解这个工具本身的内容,才能真正具体分析优化器究竟做了哪些事情,根据哪些已有的索引、代价和优化方法进行了选择,基于什么原因做的选择。虽然JSON结果看起来复杂,但是仍然可以辅助DBA去发现性能问题,验证一些优化方法,希望这篇文章对大家有所帮助。

2023-11-15 08:55:13 236

转载 MySQL 内存管理:Buffer Pool Flush 机制

本文聚焦于InnoDB中的Buffer Pool的核心功能,首先从宏观上介绍其背景,包括设计目标、接口、遇到的问题及替换算法的选择等;然后后从使用者的角度介绍了Buffer Pool作为一个整体对外暴露的统一接口和调用方式;之后介绍了Buffer Pool内部获取Page的详细过程以及LRU替换算法的实现;再之后介绍了Page刷脏的触发因素及过程;最后梳理了Buffer Pool如何安全的实现高并发高性能。

2023-11-15 08:48:58 255

转载 MySQL:buffer cache 刷脏

刷盘写入数据文件由DBLWR部分完成,为异步IO,异步IO主要为前台thread 发起io_submit,后台异步IO线程堵塞等待结果,然后处理完成的一些动作,比如检查page的IO状态,数据文件的fsync操作,刷盘后一个更加重要的动作是异步IO线程还要完成内存的维护,比如对于flush list刷脏需要从flush list链表中删除,对于lru刷脏则额外还需要从page的hash结构和LRU链表中删除并且返回给free list成为可用的空闲page。下面是一些主要流程供参考,

2023-11-14 15:15:23 100

转载 MySQL Innodb 逻辑存储结构

的,一个区默认占用 1MB 的空间,如果为段中很小的数据量申请区,则会造成大量空间的浪费,所以 InnoDB 提出了碎片区的概念,碎片区中的页并不都是为了存储同一个段中的数据而存在的,比如有的页用于段 A,有的用于段 B,有的页甚至哪个段也不属于。存放叶子节点的区的集合就算是一个段,存放非叶子节点的区的集合也算是一个段。上一个或多个实际的文件,默认情况下,InnoDB 会在数据目录下创建一个名为 ibdata1 的文件,大小为 12MB,这个文件就是对应的系统表空间在文件系统上的表示。

2023-11-14 08:47:43 73

oracle 11g 数据文件头block 1解析

oracle 11g 数据文件头block 1解析 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ##powered by :黄林杰_Huanglinjie ##version : 2023-v11 ##联系方式:17767151782 ##blog: https://blog.csdn.net/lixora/ ##info: Oracle 11g datafile block 1 header parse ##demo : parseOracleKcvfh.exe -dbfile c:\lixora.dbf ========================================> BLOCK SUMMARY <======================================== TypeKCBH: 0x0b FrmtKCBH: 0xa2 RDBAKCBH: 0x400001 KCCFHDBI: 1384114315 KCCFHDBNX: HELOWIN KCVCPSCN_KSCNBAS: 0x0010a3b9,ckp scn:1

2023-11-16

golang 版 linux windows httpstat http url api 性能分析工具

golang 版 linux windows httpstat http url api 性能分析工具

2023-03-16

page_stream.exe

windows 平台 undrop for mysql,mysql innodb page 解析分析工具

2022-01-10

windows 版 orzdba mysql 远程性能监软件

windows 版 orzdba mysql 远程性能监软件

2019-04-04

USE_LARGE_PAGES

USE_LARGE_PAGES 思维导图

2015-12-22

rhel 6.1 gcc及其依赖的rpm包

rhel 6.1 gcc及其依赖的rpm包

2013-09-23

msp430课件

msp430的ppt及多个实验的源程序 /****************************************************************** * 文件名称: * clock.c * 文件说明: * 通过实验,熟悉如何设置系统主时钟(MCLK)、辅助时钟(ACLK)、 * 子系统时钟(SMCLK) * 程序运行后可以得到ACLK=32768、MCLK=SMCLK=32768*10 * ******************************************************************/ #include <MSP430x44x.h> /***************************************************************** * main()函数 *****************************************************************/ void main(void) { WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗 P1DIR = 0x32; // 设置 P1.1,P1.4,P1.5 方向 P1SEL = 0x32; // P1.1,P1.4,P1.5 为外围模块 FLL_CTL1 = FLL_DIV0; // 设置 p1.5 输出频率 // 设置 FLL_CTL1 = 0x32; SCFQCTL =0x09; // 设置 SMCLK = ACLK * 10 // 设置 MCLK = ACLK * 10 while(1); //空循环,供用户检测其输出频率 }

2013-06-17

windows下安装oracle+asm

windows下安装oracle+asm

2013-03-13

数据流病毒清除工具

数据流病毒清除工具

2013-01-22

rhel5.8 rpm for oracle rac10.0.2.5

rhel5.8 rpm for oracle rac10.0.2.5

2012-11-03

解决sqlplus 删除键,方向键扥乱码

解决sqlplus 删除键,方向键扥乱码

2012-10-07

oracle11g r2 for linux x64 所有必须的rpm 包.rar

安装oracle11g r2 for linux x64 所有必须的rpm 包.rar

2011-10-29

unixODBC-devel-2.2.11-7.1.i386.rpm

( unixODBC-devel-2.2.11-7.1.i386.rpm

2011-10-29

elfutils-libelf-0.137-3.el5.i386.rpm

( elfutils-libelf-0.137-3.el5.i386.rpm

2011-10-26

elfutils-libelf-0.137-3.el5.i386.rpm

( elfutils-libelf-0.137-3.el5.i386.rpm

2011-10-26

sysstat-7.0.2-3.el5.src.rpm

( sysstat-7.0.2-3.el5.src.rpm

2011-10-26

compat-libstdc++-33-3.2.3-61.i386.rpm

compat-libstdc++-33-3.2.3-61.i386.rpm

2011-10-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除