- 博客(1363)
- 资源 (37)
- 收藏
- 关注
原创 mysql怎样优化where like ‘%字符串%‘这种模糊匹配的慢sql
工作中经常遇到这种模糊匹配的慢sql:select * from 表名 where 字段 like '%字符串%';由于前面有%,导致无法走该字段上的索引。
2025-02-27 17:36:45
361
原创 oracle执行grant授权sql被阻塞问题处理
执行普通的grant授权sql(grant select,update on 表名 to 用户名)好几分钟都没反应,跟被阻塞了似的。
2025-02-11 09:09:36
436
转载 Got error: 1290: The MySQL server is running with the --secure-file-priv option so it cannot execute
我用select into outfile及mysqldump导出数据到一个指定目录的csv文件时候报错:/*mysqldump命令如下:*/#值为null。
2025-02-06 10:30:37
130
原创 mysql主从复制sql进程中断,报错Tablespace is missing for table ……
关键执行1.2步,1.1/1.3结合实际环境操作。
2025-01-17 11:12:07
408
原创 oracle怎样使用logmnr恢复误删除的数据
如果有同事误删除数据了,可以用logmnr挖掘归档日志,生成回滚sql,快速恢复数据,比用整个库的备份恢复要快得多。#注意,只分析第一个日志文件的时候加,,后面的文件不要加这个,否则会少数据。
2024-12-24 16:59:15
511
原创 oracle 12c查看执行过的sql及当前正在执行的sql
当执行新的SQL语句时,如果这条SQL语句不在共享池中,数据库会进行硬解析,并将解析后的执行计划加载到共享池中。如果执行的是共享池内已经存在的SQL语句,则只会进行软解析,LAST_LOAD_TIME的值不会改变。假如同事让排查某个接口都有哪些慢sql,可以使用这个方法(先调用下这个慢接口,然后统计下这个时间段内的慢sql),只是会导出非这个接口的多余慢sql,再结合业务进行筛选吧。#统计共享池中某类sql执行次数,总体执行时长,平均执行时长等信息,并按总体执行时长降序排序。
2024-11-24 16:18:30
2463
2
原创 oracle排查长时间没提交的事务造成的阻塞案例
有时,一个事务里会包含多个sql,有的还包含上传附件等操作,一个事务长时间不提交会导致其他相关sql被阻塞,比如事务里的sql执行得很快,但上传附件卡住的话,那也会阻塞其他相关sql。查看锁阻塞的sql只能查看到阻塞方事务最近执行的一条sql,查不到之前的sql,所以有时候查出的阻塞结果不准确,这时候需要结合对这个表的审计来确定阻塞方sql。开发同事反馈生产环境某个接口慢,一个普通的按主键更新的update竟然需要5分钟,而我手动执行秒返回,猜测是发生了阻塞,需要排查出阻塞源。会话2会被会话1阻塞。
2024-11-22 12:59:39
1473
原创 oracle会话追踪
可以看到该会话执行过的sql,sql_id,PLAN HASH,用户名,等待事件等信息。#跟踪源端sid为372,serial#为58441的会话。#在要被追踪的会话里执行。
2024-11-21 15:02:33
1087
原创 oracle查看锁阻塞-谁阻塞了谁
union前的sql可以查看源端执行过的sql(在一个事务里执行了,但是还没提交)。但是假如源端执行了这个事务后,又执行了其他事务,这时候查看源端阻塞sql就不准确了。union后的sql可以查看当前源端正在执行的sql。模拟一个会话update一条记录,没提交。在每条记录里可以看到是谁阻塞了谁。978阻塞了729;372阻塞了616。这时结果是不准确的。
2024-11-20 18:17:04
705
原创 sql server怎样用sql profiler捕获带变量值的慢sql
点击上面截图里右下方的‘组织列’,可以调整这些列的顺序。都配置好后,点击‘运行’按钮。
2024-11-20 11:57:47
621
原创 程序里sendStringParametersAsUnicode=true的配置导致sql server cpu使用率高问题处理
近期生产环境几台sql server从库cpu使用率总是打满,发现抓的带变量值的慢sql,手动代入变量值执行并不慢,秒级返回,不知道问题出在哪里。
2024-11-19 12:14:25
649
原创 sql server怎样用扩展事件捕获带变量值的慢sql,并统计最耗cpu的慢sql
用SSMS可以看到每条慢sql的详细记录,但如果sql较多,可以用sql筛选想查的数据,比较灵活。查看下生成的xel文件,手动改下下面的xel文件名。有两种方式可以查询。
2024-11-18 15:40:57
805
1
原创 Mysql 5.7.6以上版本怎样关闭GTID(由GTID改为基于file,position方式)
检查从库IO进程和SQL进程状态是否为Yes,检查AUTO_POSITION值。理论上这可能是空的,然后又不是空的。这不是问题,只要它是空过一次就可以。
2024-11-13 11:29:00
466
原创 Mysql在线修改表结构工具gh-ost使用说明及实践
生产环境当有关于一个大表的大操作时(比如select count一个大表),此时对大表做DDL会被阻塞,提示等待table metadata lock。如果业务比较频繁的话,该DDL会阻塞关于该表的后续select sql。如果生产库cpu使用率打满,想通过创建索引优化导致cpu使用率打满的慢sql时,被阻塞了,则无法快速处理该故障。使用gh-ost工具可以在不锁表的情况下在线修改表结构,仅仅在最后切换表名(rename table)时锁表,但很快,就一两秒左右。
2024-10-23 11:26:01
1293
原创 数据库云迁移(从IDC线下往云上做迁移)割接思路
假如割接有问题,从云上B回滚到C,不覆盖IDC的A,这样保险些。2、根据数据量大小决定提前一天或者多久做好全量+增量数据同步,关注增量同步状态,日志等信息。4、检查DRS增量同步状态,确认状态为“增量迁移中”,且同步无延迟(A->B,B->C)以华为云DRS为例--检查A库和B库据数据一致性,数据行比对,确认数据源目的数据一致。② 等迁移任务1到增量状态之后,再创建云B到idc C的全量+增量实时迁移任务2。2. 选择行数对比(迁移对比->数据级对比->创建对比任务->行数对比)还有的话,将其kill。
2024-10-15 11:51:00
632
原创 mysql怎样优化count(*) from 表名 where …… or ……这种慢sql
线上发现一条类似这样的慢sql(查询时长8s):from t15;t14的id和id2字段上都有索引,但是因为条件里有or,导致走的是全表扫描:如果没用count(*),而是select 字段这种方式,那可以用union这种方式替代or,但这里是count(),则有些不同。
2024-09-18 16:46:56
619
原创 Mysql查看锁阻塞信息
1、需要确保下面这个sql查询出来的ENABLED值为YESselect ENABLED from performance_schema.setup_instruments WHERE NAME = 'wait/lock/metadata/sql/mdl';如果为NO,则需要先将其开启:UPDATE performance_schema.setup_instruments SET ENABLED = 'YES', TIMED = 'YES'WHERE NAME = 'wait/lock/metadat
2024-09-12 15:24:25
1329
原创 使用APEXSQL LOG解析sql server事务日志,进行审计与数据恢复
由于sql server 备份事务日志会截断事务日志信息(截断的概念:就是把某个位置之前的所有事务日志信息全都设置为可重用,后续就可以被其他信息覆盖),所以如果要追查的事务日志已经被截断,那么则需要添加上事务日志备份。但实际运行的时候可能中间还夹杂了很多 insert/update以及其他行的delete,假如我们只想要这个事务语句操作的undo脚本,则可以根据事务号来恢复数据。如果说,并发很多或者行数太多,我们手动恢复比较困难。比如,我们这里的误操作是。解压安装包后,点击:ApexSQLLog.exe。
2024-07-16 17:00:04
1579
原创 OEM上怎样查看某个历史时间段的数据库性能情况,慢sql等
有时某个时间段cpu使用率高或者有其他问题,想看下那个时间段的top sql,可以使用OEM看ASH。根据筛选谓词去原sql里查找,可以看到具体慢在哪里。
2024-05-17 11:59:04
469
1
原创 MGR同步复制验证
/在①delete过程中,多次执行该sql,前几次很快(2秒钟)执行完毕,t1数据量是删除前的数据量,但发现有时会阻塞,阻塞了74秒,进程状态是Executing hook on transaction begin,不阻塞后,显示查询结果为0,读到的是① delete后的数据量。//在①delete过程中,多次执行该sql,t1数据量一直是删除前的数据量,直到① delete完毕,这里变成0条数据,说明是同步复制,节点2删除完,节点1才执行成功。//①执行期间,在节点2上查询同一个表,出现阻塞。
2024-05-10 18:54:12
783
原创 mysql主库delete一个没主键的表导致从库延迟很久问题处理
表没有主键的时候,delete很多数据,会导致从库出现很长时间延迟,因此需要严格把控,定期检查,确保主库上不存在没有主键的表。发现trx_query为空,以前线上从库出现延迟,能看到当前运行的sql的,不知为何这次看不到。因为上面已经在从库建过主键了,所以从库复制会停止,提示主键冲突,可以通过跳过这个事务来处理。#查看慢事务对应的进程id,注意别多杀了,只杀运行时间很久的,导致延迟的sql。如果没有主键,就需要先在从库上为这个表建下主键,先解决这个延迟的问题。只需要在从库执行以下命令就能跳过一个事务。
2024-04-27 19:17:20
1711
1
原创 oracle rman restore database的时候报错RMAN-06023: 没有找到数据文件1的副本来还原
在oracle异地备份恢复测试数据库上执行restore database的时候报错:RMAN-06023: 没有找到数据文件1的副本来还原可是我看备份明明都是存在的,而且已经执行了catalog start with命令。
2024-04-24 15:20:33
1491
原创 pt-archiver归档表数据
pt-archiver的原理主要是根据定义的时间间隔(sleep参数),扫描要清理的数据表。它按照指定的规则分批(limit参数)将查询到的记录转移到其他表或文件中,发现它是按主键去删除的表数据,对数据库影响很小。
2024-04-17 23:36:28
1303
1
原创 DG怎样手动切主从-用普通命令方式(不用dg broker)
注:如果是TO PRIMARY表示可以正常切换,不过还会遇到NOT ALLOWED和PENDING或者LATENT,实际操作下来如果备库的switchover_status为not allowed或者to primary都可以正常切换。则检查下主从的log_archive_dest_2值是否为空,如果为空,需要设置。#检查主从的log_archive_dest_2值是否为空,如果为空,需要设置。#检查主从的log_archive_dest_2值是否为空,如果为空,需要设置。如果不能,则做以下检查。
2024-04-16 18:54:26
1043
原创 在一台恢复测试机器上验证oracle备份有效性
ORA-00312: 联机日志 1 线程 1: '/data/app/oracle/oradata/orcl/redo01.log'ORA-00349: 无法获得 '/oracle/app/oracle/oradata/orcl/redo01.log' 的块大小。删除数据文件一是为了释放空间,二是不删除的话,到时恢复完后分不清是以前的数据文件,还是新的数据文件。ORA-01103: 控制文件中的数据库名 ''ORCL1'' 不是 ''ORCL''。
2024-04-09 12:25:03
1082
转载 xtrabackup备份报错Found tables with row versions due to INSTANT ADD DROP columns
备份失败,查看日志报错:2024-04-07T03:00:04.420147+08:00 0 [ERROR] [MY-011825] [Xtrabackup] Found tables with row versions due to INSTANT ADD/DROP columns2024-04-07T03:00:04.420242+08:00 0 [ERROR] [MY-011825] [Xtrabackup] This feature is not stable and will cause back
2024-04-07 11:11:30
846
原创 DG库怎样释放bigfile类型临时数据文件的空间
生产DG从库的一个临时数据文件达到了5T,主库上有2T。这个临时数据文件是bigfile的。dba_tablespaces的bigfile值是'YES'bigfile类型的表空间只能有一个数据文件,无法通过新增一个数据文件,再删除大数据文件的方式释放空间。如果resize的话,这么大的文件可能会报错,这里计划在主库重建这个临时表空间来释放空间。
2024-03-29 18:37:20
569
原创 在sql server 2016 always on集群里新增一个数据库节点
二 操作步骤2.1 在新节点上安装sql server软件略2.2 在新节点上开启‘故障转移群集功能’打开‘服务管理器’:点击‘添加角色和功能’:2.3 修改hosts文件修改集群上现有节点的C:\Windows\System32\drivers\etc\hosts 文件,添加新节点的ip和主机名信息,示例:2.4 把新节点加入现有windows故障转移群集在集群当前主节点上操作:2.5 在新节点上开启always on2.6 将新节点加入到always on集群里。
2024-03-16 18:52:59
1773
原创 pg安装pgagent插件以创建job
usr/bin/install: "/usr/local/wxWidgets-3.1.3/lib/libwxregexu-3.1.a" 与"/usr/local/wxWidgets-3.1.3/lib/libwxregexu-3.1.a" 为同一文件。执行wx-config --version查看版本,如果能看到版本信息,就不用重复安装了。执行cmake -version查看版本,如果能看到版本信息,就不用重复安装了。#可以在pg_available_extensions里看到pgagent插件了。
2023-11-07 19:35:40
1200
原创 version GLIBC 2.14 not found问题处理
cd build/*假如报错:则估计是echo $LD_LIBRARY_PATH有值,则先将其设为空:安装完之后,再将其配置下。*/make -j4。
2023-11-06 14:34:32
1207
原创 postgresql参数优化
max_parallel_workers 定义了数据库可以使用的并行查询工作者的最大数量。通过适当配置这个参数,可以根据系统的硬件资源来控制并行查询的规模。log_statement:该参数值为 "all"表示记录所有查询类型(SELECT、INSERT、UPDATE、DELETE),比较占用空间,且性能会降低,因此建议将其设置为ddl,只记录修改表结构的sql。这个参数是设置执行最小多长时间的SQL输出到log,例如输出执行超过2秒的SQL。:设置查询的最小持续时间,以毫秒为单位。该值默认是128M。
2023-10-17 17:56:31
1767
转载 oracle中实现某个用户truncate 其它用户下的表
假如想赋予jiao这个用户清空scott.t1这个表的权限,则可以在scott下创建一个清空该表的存储过程,然后将执行该存储过程的权限授予jiao用户。二 假如想清空某个用户下的多个表或所有表。则可以通过将存储过程的表名写成传参形式。
2023-09-12 09:40:49
2042
转载 mysql连接控制插件connection_control介绍
MySQL 服务端包含一个插件库,可以自定义安装各类插件。connection_control 插件也是其中一种,主要用来控制客户端在登录操作连续失败一定次数后的响应的延迟。该插件可有效的防止客户端暴力登录的风险。:用来控制登录失败的次数及延迟响应时间。:将登录失败的操作记录至 information_schema系统库中。连接控制插件文件的基本名称为 connection_control。
2023-09-06 16:29:57
4011
转载 mysql怎样安装validate_password_policy插件
默认值为MEDIUM。: 要求密码包含数字、特殊字符、小写字母和大写字母的组合。插件的密码策略可以通过 MySQL 的系统变量。: 允许较弱的密码,只要密码长度足够即可。: 要求密码包含数字、特殊字符和字母的组合。然后重启数据库,将其改为STRONG。
2023-09-06 15:13:09
2526
原创 postgre 12.11单实例安装文档
访问https://www.postgresql.org/download/,点击左侧的‘source'进行下载,一般选择bz2的安装包。这里安装12.11版本的postgre,数据目录路径为/data/server/pgdata,端口为15432.如果是CentOS 6,则选择用2.8.1这种方式,如果是CentOS 7,则选择用2.8.2这种方式.需要用root用户执行service命令启停数据库,该启动脚本里会自动切换到postgres用户。#检查哪些软件包没装上(若没结果输出,说明全部安装上了)
2023-09-06 11:38:39
1125
2
原创 oracle 12c怎样修改varchar2允许的最大长度
12C单实例测试,varchar2在早期版本中最大长度限制为4000,当字段长度指定的比较长的时候会报错:ORA-00910: specified length too long for its datatype。早期版本中虽然SQL数据类型限制为4000(如表中的列的varchar2类型),但在PL/SQL中的限制是32767(如在存储过程中的定义变量时用的varchar2类型)。EXTENDED。
2023-08-25 11:12:20
3143
转载 ORA-00742: Log read detects lost write in thread 1 sequence 32 block 15358
原文链接:https://blog.csdn.net/qq_41141058/article/details/100732596。版权声明:本文为CSDN博主「佐云」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。这里是/u01/app/oracle/oradata/zydb/redo03.log。② 执行数据库起不来时报错提示的重做日志文件。
2023-08-25 10:46:28
1005
instsrv.exe和srvany.exe
2017-02-17
symantec netbackup操作手册
2016-07-12
mha4mysql-manager-0.56-0.el6.noarch.rpm
2015-08-07
mha4mysql-node-0.56-0.el6.noarch.rpm
2015-08-07
visual c++ 2013_win64
2015-06-23
mysql workbench
2015-06-23
tortoisesvn-64位
2015-06-10
navicat premium-适用于windows 32位 中文版
2015-03-26
mysqltuner.pl
2023-03-31
proxysql-2.0.5-1-centos7.x86_64.rpm
2021-04-22
redhat6-asm.rar
2021-02-23
静默安装grid用到的响应文件
2020-09-12
Oracle单实例版本升级(11g To 12c).docx
2020-07-10
利用 Percona xtrbackup+binlog做完全恢复.docx
2020-03-17
mysql闪回实战.docx
2019-11-20
binlog2sql-master.zip
2019-11-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人