MySQL优化器参数prefer_ordering_index优化理念
一、关于order by limit n的优化示例表结构如下:root@localhost : monitor_connect 22:26:45>show create table monitor_oracle_info\G*************************** 1. row ***************************Table: moni
orchestrator核心参数之一致性相关参数
一、FailMasterPromotionIfSQLThreadNotUpToDate类型: bool默认值: falsewhen true, and a master failover takes place, if candidate master has not consumed all relay logs, promotion is aborted with error如果在故障发生时,
MySQL高可用方案---orchestrator集群高可用搭建
一、orchestrator自身服务高可用方案简介:方案一:shard backend模式orchestrator集群方式一:Galera/XtraDB Cluster/InnoDB Cluster 使用单写模式运行。多个orchestrator节点可能通过代理与写入节点进行通信。如果写节点发生故障,后端集群将提升另一个数据库作为写节点;由您的代理来识别并将orchestrator的流量引导新的写
Oracle迁移到MySQL调研心得
Oracle数据库迁移到MySQL的需求调研:1、可以实现迁移的方式:1、商业软件cloudcanal;2、Oracle自带的OGG;3、datax等这类etl抽数工具;4、oracle spool结合MySQL load实现数据迁移;2、差异对比:1、cloudcanal缺点:开源版本需要90天手动续费,社区免费版本最多支持5 条任务,每个任务最多1000 张表;全量同步不是一致性的,换句话说是
oracle和mysql字符类型长度问题
一、问题描述数据库大表冷热数据分离,需要把实例A的数据迁移到实例B, 由于表有300多G, 综合评估后,计划先在B实例创建相同表结构的表,然后通过dblink结合存储过程分批insert完成数据迁移;但是在迁移数据的时候报错,字段超长,但是明明我是按着原表表结构创建的归档表,并且字符集也一样,为啥会报错?二、问题分析原来是生产实例修改了参数NLS_LENGTH_SEMANTICS=char;介绍下
Sqlserver事务日志文件截断和收缩小结
一、问题描述:测试环境always on集群事务日志文件撑爆了磁盘空间,SQL Server 数据库引擎 发出 9002 错误,导致数据库无法正常提供服务,那么事务日志不会像Oracle或者MySQL那样循环复写吗?原来sqlserver的在完整恢复模式下事务日志管理方式类似Oracle的归档日志,或者MySQL的binlog日志,不会自动删除;如果SQL Server的某个数据库没有备份过事务日
sqlserver借助读提交快照隔离级别处理死锁问题
一、问题描述:sqlserver 频发发生死锁的问题,通过分析xml_deadlock_report 扩展事件分析,发现是update和select之间产生了死锁,具体死锁报告分析请参看另一篇文章,这边文章主要针对如何解决查询和更新死锁问题。SQLServer默认的隔离级别为:“read commited” (已提交读),默认隔离级别下,SQLServer数据库查询会获取共享 (S) 锁;更新需要
innodb_autoinc_lock_mode参数解读
mysql 5.1.22引进innodb_autoinc_lock_mode参数,优化了自增锁的性能,提高了MySQL使用的便捷性和可配置性,用户可以结合业务场景合理设置自增锁参数,更方便便捷;1、innodb_autoinc_lock_mode=0:In this lock mode, all “INSERT-like” statements obtain a special table-lev
sqlserver数据库问题排查方法
新单位使用sqlserver数据库的always on集群,当遇到问题的时慌张无法快速定位问题,于是记录下基础的排查思路,方便排查问题;一、看sqlserver日志:方法1:sql server management studio中可以查看:方法2:直接查看错误日志文件默认情况下,错误日志位于C:\Program Files\Microsoft SQL Server\MSSQL.版本号\MSSQL
windows故障转移集群WSFC仲裁方式简介
关于wsfc选举的设置目前wsfc支持四种集群的仲裁配置:1、多数节点:这种配置不会用到仲裁磁盘,而所谓多数节点就是在正常节点数量占多数的情况下,集群才会提供服务,否则就停止服务。这种配置适用于奇数节点的集群,例如5个节点的集群,其正常节点数量必须至少3个,集群才会提供服务2、多数节点和磁盘:适用于偶数节点的集群,他在计算法定数量时会将仲裁磁盘计算进来,例如,4个节点+1个仲裁磁盘节点的集群,可以
always on集群添加副本节点
always on集群添加副本节点是dba经常需要面临的操作,接下来介绍sqlserver always on如何优雅的添加某个副本节点,整体添加工作有四个步骤一、整体添加工作有四个步骤;1、新服务器安装WSFC软件;2、新服务器安装sqlserver软件;3、WSFC集群添加某个副本节点;4、always on可用性组添加节点;注意:这给删除的过程顺序相反,删除是先可用性组剔除节点,然后再wsf
always on集群删除副本节点
always on集群剔除某个节点是dba经常需要面临的操作,接下来介绍sqlserver always on如何优雅的剔除某个副本节点,一、整体剔除工作有两个步骤;1、always on可用性组剔除节点;2、WSFC集群剔除某个副本节点;二、接下来具体介绍步骤:方法1 官方文档的介绍,采用安装程序(安装中心)https://learn.microsoft.com/zh-cn/previous-v
sqlserver always on可用性组添加新数据库
添加新库到可用性组中,有两种方式,借助sql studio图形化界面,或者使用sql命令行;本文档介绍图形化的形式添加新库到可用性组:一、右击选中可用性组名字,选择添加数据库,进入添加数据库到可用性组 向导二、进入添加数据库到可用性组 向导后,一步一步的点即可2.1、点击下一步2.2、选择需要添加的库,点击下一步,注意需要先对库进行全库备份,否则无法选择该库,对库进行全库备份:刷新发现jjj库已经
dg库增量修复笔记
当dg库rfs进程出现异常,并且dg库需要的归档日志已经在主库删除,如果这个实例的数据不大,那么直接duplicate重做dg即可,如果这个实例数据特别大,那么重做的话可能对主库有影响并且时间比较长,并且如果dg库有查询的业务,那么就得需要尽快恢复,所以借助rman结合scn号增量备份和恢复的方式来修复dg库是一个不错的选择。具体流程如下所示:一、查看dg库mrp和rfs进程状态SQL> s
oracle dg库数据文件空间不足
dg库磁盘空间不足,但是其他目录还有空间处理办法,如果该实例数据量不大,可以直接从新搭建即可,但是如果实例数据很大,尽量还是修复下;方法1:当还有可用空间的时候,此时dg库还在正常运作,这个时候可以使用此方法:1、把主库所有可以扩展的数据文件关闭自动扩展;2、修改dg库参数:在dataguard的配置中,db_file_name_convert是比较常用的参数。如果备库中参数db_create_f
Oracle慢sql监控
近期需要给Oracle数据库添加慢sql监控,需要拿到sql文本,以及schema信息和真实耗时等等,于是探索了下Oracle 11g的特性sql monitor;1、如果同一个条慢sql执行两次,就会记录两条数据,如下图所示:select sql_id,username,sql_text,to_char(sql_exec_start,'yyyy-mm-dd hh24:mi:s
mgr参数-group_replication_auto_increment_increment
一、官方介绍group_replication_auto_increment_increment参数表示:当mgr开启多主模式的时候,控制自增的跨度,避免为组成员上的写入选择重复的自动增量值,这会导致事务回滚;当在服务器实例上启动组复制时,服务器系统变量auto_increment_increment的值将更改为该值,而服务器系统变量auto_increment_offset的值将改为server
mgr参数-group_replication_recovery_get_public_key
mgr参数group_replication_recovery_get_public_key和group_replication_recovery_get_public_key的介绍:这俩参数生效的前提是:1)group_replication_recovery_use_ssl=off如下所示group_replication_recovery通道没有开启SSLCHANGE MASTER TO M
mgr参数-group_replication_recovery_compression_algorithms
一、官方介绍:The value of this system variable can be changed while Group Replication is running, but the change only takes effect after you stop and restart Group Replication on the group member.此系统变量的值可以在
mgr-核心参数-group_replication_transaction_size_limit
一、官方文档解释:This system variable should have the same value on all group members. The value of this system variable can be changed while Group Replication is running. The change takes effect immediately