- 博客(152)
- 资源 (7)
- 收藏
- 关注
原创 模拟私网问题导致节点宕机无法启动
模拟私网问题导致节点宕机无法启动目的分析过程GI alert日志ocssd.log 日志os日志目的本文章通过模拟私网问题,导致集群节点宕机,来进行日志分析。# ifconfig eth1 down分析过程GI alert日志<GI_HOME>/log/<节点名称>alert&am
2019-01-15 22:37:18 2741
原创 模拟丢失OLR导致RAC节点不能启动
模拟丢失OLR导致RAC节点不能启动1. OLR2. OLR备份3. 模拟OLR丢失4. 问题分析4.1 确认GI启动阶段5. 恢复OLR文件参考文档1. OLROLR是保存在本地的集群注册表。OLR主要作用就是为ohasd守护进程提供集群的配置信息和初始化资源的定义信息。当集群启动时会从/etc/oracle/olr.loc中读取OLR的位置,OLR默认保存在<GI_HOME&gt...
2019-01-15 13:55:15 541
原创 Oracle 11g DBMS_SQLTUNE
Oracle 11g DBMS_SQLTUNE创建调优任务语法参考文档创建调优任务语法SQL text format:DBMS_SQLTUNE.CREATE_TUNING_TASK( sql_text IN CLOB, bind_list IN sql_binds := NULL, user_name IN VARCHAR2 := ...
2018-12-15 21:30:36 1144
原创 如何在数据库hang住时收集诊断信息
如何在数据库hang住时收集诊断信息诊断“数据库hang住”问题需要什么?Dumps 和Traces文件Hanganalyze 和 Systemstate Dumps收集Hanganalyze 和 Systemstate DumpsHanganalyze和Systemstate级别的说明参考文档当数据库看起来hang住时,从数据库收集信息以确定hang住的根本原因很有用。 hang住的根本原因通...
2018-12-10 21:10:27 425
原创 在有位图索引的表上进行DML操作与enq: TX - row lock contention等待事件问题分析
在位图索引的表上进行DML操作与enq: TX - row lock contention等待事件问题分析前言模拟场景总结前言本文通过模拟实验,来分析 有位图索引的表的DML操作 对数据库造成的影响。模拟场景生成数据SQL> create table bm_table (id number, name varchar2(20), gender varchar2(1));SQL...
2018-12-07 11:29:18 280
原创 用Merge改写优化Update
用Merge改写优化Update1. 多列关联更新改写示例2. 用Merge改写有聚合操作的Update1. 多列关联更新改写示例1. 模拟数据create table t_objects as select * from dba_objects;create table t_tables as select * from dba_tables;alter table t_objects...
2018-12-06 15:51:20 782
原创 Oracle BBED工具及坏块修复
Oracle BBED工具及坏块修复1. BBED简介2. BBED安装3. 启动BBED4. 使用bbed模拟数据块损坏5. 修复坏块1. BBED简介BBED是Block Browser/Editor的缩写,是Oracle的一个内部工具,不对外发布文档及支持。 BBED随软件发布,但是我们需要进行简单的relink才能使用。2. BBED安装在使用bbed前,需进行编译连接。但由于...
2018-12-03 22:26:03 1977
原创 Silent Install Oracle 12cR2 Rac on Centos7
Silent Install Oracle 12cR2 Rac on Centos71. 配置操作系统2. 准备Oracle RAC的集群节点3. 准备Oracle RAC的共享存储4. 配置互信5. 静默安装 GI 软件6. 静默安装 Oracle DB软件1. 配置操作系统参考博客 https://blog.csdn.net/wanbin6470398/article/details/84...
2018-11-30 16:45:51 1259
原创 Install Oracle 12c R2 RAC On CentOS 7
Install Oracle 12c RAC On CentOS 71. 准备Oracle RAC的集群节点1.1 用户账户1. 准备Oracle RAC的集群节点1.1 用户账户使用以下命令创建OS组。 以“root”用户身份输入以下命令:# /usr/sbin/groupadd oinstall# /usr/sbin/groupadd dba# /usr/sbin/groupadd...
2018-11-30 11:12:15 3364 2
原创 Install Oracle 12C R2 On CentOS 7
Install Oracle 12C On CentOS 7前言Oracle 在此版本的变更1. Oracle数据库安装核对表2. 检查和配置Oracle数据库的服务器硬件2.1 使用X Window系统登录远程系统2.2 检查服务器硬件和内存配置3. 使用Oracle预安装RPM自动配置Oracle Linux4. 在Linux上配置Oracle数据库的操作系统4. 1 `x86-64 Linu...
2018-11-28 22:28:26 994
原创 aix命令tar包命令应用
打包并压缩gzip格式,利用ftp传输到远程服务器上tar cvf - /ciod/appuser | gzip -qc> /ciod/appuser.tar.gzipftp -v -n 192.1.1.48<<EOF user root xxxxxbincd /ciodlcd /ciodpromptmput *.gzclosebyeEOF
2018-11-12 12:54:34 3917
原创 InnoDB体系结构
InnoDB体系结构内存结构Buffer poolBuffer Pool LRU 算法配置 Buffer PoolChange BufferAdaptive Hash IndexRedo Log Buffer磁盘结构下图显示了构成InnoDB存储引擎体系结构的内存和磁盘结构。内存结构InnoDB内存包含Buffer Pool, Change Buffer, Adaptive Hash In...
2018-11-07 17:28:57 1651
原创 基于Inception搭建MySQL SQL审核平台Yearing
# cmake -DWITH_DEBUG=OFF -DCMAKE_INSTALL_PREFIX=./mysql -DMYSQL_DATADIR=./mysql/data -DWITH_SSL=bundled -DCMAKE_BUILD_TYPE=RELEASE -DWITH_ZLIB=bundled -DMY_MAINTAINER_CXX_WARNINGS="-Wall -Wextra -Wunu...
2018-11-01 13:49:04 1550
转载 MySQL数据库主从切换脚本自动化
MySQL数据库主从切换脚本自动化本文转载自:https://blog.csdn.net/weixin_36135773/article/details/79514507在一些实际环境中,如何实现主从的快速切换,在没有MHA等工具的辅助下,如何避免影响线上的业务,一般都会在在业务低峰期进行主从切换,本脚本主要利用MySQL自带的命令行工具(FLUSH TABLES WITH READ LOCK...
2018-10-29 17:06:04 927
原创 利用sysbench工具测试MHA
利用sysbench工具测试MHA1. sysbench准备数据2. sysbench开始压测3. master模拟意外宕机4. mysqldb2 上观察mha状态5. 手工failover切换master6. 原mysqldb1手工加入集群7. 手工在线切换1. sysbench准备数据sysbench /usr/share/sysbench/oltp_read_write.lua \--...
2018-10-29 16:02:51 353
原创 MHA
MHA配置互信配置互信1) 在三台机器上生成各自的key文件[root@mysqldb1 11:10:53 /root]# ssh-keygen -t rsa[root@mysqldb2 11:10:56 /root]# ssh-keygen -t rsa[root@mysqldb3 11:10:58 /root]# ssh-keygen -t rsa2)用ssh-copy-i...
2018-10-29 14:56:43 1738
原创 MySQL多源复制
MySQL多源复制1. 配置多源复制1.1 配置环境如下1.2 从库的重要参数配置1.3 在Master上导出需要同步的数据库1.4 在master上创建复制账号1.5 备份数据导入1.6 查看备份文件中Master1与Master2的binlog Pos位置1.7 Slave进行change master操作1.8 开启主从复制2. 监控多源复制MySQL多源复制使slave能够同时从多个源m...
2018-10-17 15:59:56 378
原创 MySQL的GTID复制与传统复制的相互切换
GTID复制与传统复制的相互转换1. GTID复制转换成传统复制1.1 环境准备1.2 停止slave1.3 查看当前主从状态1.4 change master1.5 启动主从复制1.6 在线关闭主从服务器的GTID2. 传统复制转换成GTID复制2.1 环境准备2.2 将enforce_gtid_consistency设置为warn2.3 将enforce_gtid_consistenc...
2018-10-16 11:54:06 821 1
原创 MySQL 使用GTID进行复制
使用GTID进行复制1. GTID的格式和存储1.1 GTID 集1.2 mysql.gtid_executed 表1.3 mysql.gtid_executed 表压缩2. GTID 生命周期3. 使用GTID搭建主从3.1 环境准备3.2 配置GTID主从的参数3.3 在master上操作3.4 在slave上操作1. GTID的格式和存储GTID即全局事务ID(global tra...
2018-10-12 16:03:16 2988
原创 MySQL半同步复制
半同步复制1. 半同步复制安装与配置1.1 安装半同步复制插件1.2 配置半同步复制MySQL数据库复制的默认方式是异步复制,但是异步复制的不足之处就在于,当主库把event写入二进制日志之后,并不知道从库是否已经接收并应用了。在异步模式的复制,如果主库崩溃,很有可能在主库中已经提交的事务,并没有传到到任何一台从库机器上。在高可用集群架构下做主备切换,就会造成新的主库丢失数据的现象。MySQL...
2018-09-26 16:08:35 207
原创 MySQL复制
MySQL 复制1. 复制的原理2. 复制的重点参数3. 传统复制搭建(非GTID模式)3.1 环境准备3.2 在master上操作3.3 在slave上操作4. 主从复制故障处理4.1 错误号1062处理4.2 错误号1032处理复制允许将来自一个MySQL数据库服务器(主服务器)的数据复制到一个或多个MySQL数据库服务器(从服务器)。 默认情况下,复制是异步的。 根据配置,您可以复制数据库...
2018-09-20 16:46:40 699
原创 MySQL binlog-server搭建
MySQL binlog-server搭建binlog在备份中起着至关重要的作用,备份binlog文件时,只能先在本地备份,然后才能传送到远程服务器上。从MySQL5.6版本后,可以利用mysqlbinlog命令把远程机器的日志备份到本地目录,这样就更加方便地实现binlog日志的安全备份。常用的参数-R | –read-from-remote-server 表示开启binlog...
2018-09-17 15:07:37 3814
原创 MySQL备份恢复
MySQL备份恢复本文档主要围绕生产中经常使用的mysqldump、mydumper、xtrabackup等工具来进行备份恢复的学习。1. MySQL 的备份方式MySQL的备份方法,划分为如下三种:冷备份 冷备是指在数据库关闭的情况下进行备份,这种备份非常简单,只需关闭数据库,复制相关的物理文件即可。温备份 温备份也是在数据库运行的过程中进行备份,但是备份会对数据库操...
2018-09-11 15:45:55 2923
原创 MySQL中一条简单SQL的加锁分析
MySQL中一条简单SQL的加锁分析SQL1: select * from t1 where id = 10;(不加锁。因为MySQL是使用多版本并发控制的,读不加锁。)SQL2: delete from t1 where id = 10;(需根据多种情况进行分析)假设t1表上有索引,执行计划一定会选择使用索引进行过滤 (索引扫描),根据以下组合,来进行分析。组合一:id列是...
2018-09-08 17:06:22 1169
原创 MySQL InnoDB 锁
MySQL InnoDB 锁介绍InnoDB的锁类型Shared and Exclusive 锁Intention 锁Record 锁Gap 锁Next-Key 锁Insert Intention 锁AUTO-INC 锁Predicate Locks for Spatial Indexes1. Shared and Exclusive 锁InnoDB实现标准的...
2018-09-06 16:50:57 378
原创 MySQL 查询优化之 Block Nested-Loop 与 Batched Key Access Joins
MySQL 查询优化之 Block Nested-Loop 与 Batched Key Access Joins在MySQL中,可以使用批量密钥访问(BKA)连接算法,该算法使用对连接表的索引访问和连接缓冲区。 BKA算法支持:内连接,外连接和半连接操作,包括嵌套外连接。 BKA的优点:更加高效的表扫描提高了连接性能。 此外,先前仅用于内连接的块嵌套循环(BNL)连接算法现已扩展,...
2018-09-05 16:25:27 3553
原创 MySQL 查询优化之 Multi-Range Read
MySQL 查询优化之 Multi-Range Read在存储引擎中未缓存的大表,使用辅助索引的range scan检索数据, 可能会导致基表进行许多随机磁盘访问。 通过磁盘扫描多范围读取(MRR)优化,可以减少随机I/O,并且将随机I/O转化为顺序I/O,提高查询效率MRR的工作原理根据辅助索引的叶子结点上找到的主键值得集合存储到read_rnd_buffer中,然后在该bu...
2018-09-04 15:40:32 1437
原创 MySQL 查询优化之 Index Merge
MySQL 优化程序之 Index Merge索引合并访问方法可以在查询中对一个表使用多个索引,对它们同时范围扫描,并且合并结果(intersects/unions/unions-of-intersections)。 此访问方法合并来自单个表的索引扫描; 它不会将扫描合并到多个表中。使用索引合并的示例查询:SELECT * FROM tbl_name WHERE key1 = 10...
2018-09-04 13:32:32 2301
原创 MySQL 查询优化之 Index Condition Pushdown
MySQL 优化程序之 Index Condition PushdownIndex Condition Pushdown (ICP)是MySQL使用索引从表中检索行数据的一种优化方式。禁用ICP时,存储引擎会通过遍历索引定位基表中的行,然后返回给Server层,再去为这些数据行进行where条件的过滤。启用ICP时,如果where条件可以使用索引,MySQL会把这部分过滤操作放到存储引...
2018-09-03 16:53:31 3925
原创 从多表连接后的select count(*)看待SQL优化
从多表连接后的select count(*)看待SQL优化一朋友问我,以下这SQL能直接改写成select count(*) from a吗?SELECT COUNT(*)FROM a LEFT JOIN b ON a.a1 = b.b1 LEFT JOIN c ON b.b1 = c.c1废话不多说,直接上实验。1. 准备数据创建测试表a,b,c,并...
2018-09-01 12:43:37 5072
原创 MySQL执行计划
MySQL执行计划使用EXPLAIN优化查询EXPLAIN输出格式扩展EXPLAIN输出格式EXPLAIN 语法{EXPLAIN | DESCRIBE | DESC} tbl_name [col_name | wild]{EXPLAIN | DESCRIBE | DESC} [explain_type] {explainable_stmt | F...
2018-08-31 14:59:58 3620
原创 MySQL表碎片整理
MySQL表碎片整理计算碎片大小整理碎片1. 计算碎片大小要整理碎片,首先要了解碎片的计算方法。可以通过show table [from|in db_name] status like '%table_name%'命令查看:mysql> show table from employees status like 't1'\G******************...
2018-08-29 16:47:13 7383
原创 MySQL配置索引页的合并阈值
MySQL配置索引页的合并阈值如果删除行或者通过UPDATE操作缩短行 可以为索引页面配置MERGE_THRESHOLD值。 当delete与update缩短了行长度时,索引页的“page-full”百分比低于MERGE_THRESHOLD值,InnoDB会尝试将索引页与相邻索引页合并。 默认的MERGE_THRESHOLD值为50。 MERGE_THRESHOLD的最小值为1,最大值为50...
2018-08-29 15:46:41 730
原创 MySQL InnoDB配置统计信息
MySQL InnoDB配置统计信息配置持久化(Persistent)统计信息参数配置非持久化(Non-Persistent)统计信息参数Analyze Table复杂性长度本文档介绍如何为InnoDB表配置持久性和非持久性统计信息。持久化统计信息在服务器重新启动时保持不变,从而使执行计划和查询性能更加稳定。持久化统计信息还提供了控制和灵活性以及这些额外的好处:可以使用i...
2018-08-29 14:03:31 3257
原创 MySQL数据库文件
MySQL数据库文件本文档从MySQL数据库和存储引擎层面介绍各种类型的文件。参数文件(my.cnf)错误日志(error log)二进制日志文件(binary log)慢查询日志(slow log)全量日志(general log)审计日志(audit log)中继日志(relay log)Pid文件Socket文件表结构文件InnoDB存储引擎文件1. ...
2018-08-28 10:03:14 5163
原创 如何在MySQL中分配innodb_buffer_pool_size
如何在MySQL中分配innodb_buffer_pool_sizeinnodb_buffer_pool_size是整个MySQL服务器最重要的变量。1. 为什么需要innodb buffer pool?在MySQL5.5之前,广泛使用的和默认的存储引擎是MyISAM。MyISAM使用操作系统缓存来缓存数据。InnoDB需要innodb buffer pool中处理缓存。所以非常需...
2018-08-24 16:46:48 4247 1
MySQL王者晋级之路_张甦(著)
2018-08-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人