摘要:        
转载自何登成的技术博客:http://hedengcheng.com/?p=771 背景 MySQL/InnoDB的加锁分析,一直是一个比较困难的话题。我在工作过程中,经常会有同事咨询这方面的问题。同时,微博上也经常会收到MySQL锁相关的私信,让我帮助解决一些死锁的问题。本文,准备就MySQL/I    阅读全文
        
            posted @ 2018-08-08 15:43
屠魔的少年
阅读(150)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
MySQL类型关键字后面的括号内指定整数值的显示宽度(例如,INT(11))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。 所以INT(1)和INT(11)默认是没有任何区别的! mysql> de    阅读全文
        
            posted @ 2018-08-08 15:39
屠魔的少年
阅读(2530)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
一致性非锁定读(consistent nonlocking read)是指InnoDB存储引擎通过多版本控制(multi versionning)的方式来读取当前执行时间数据库中行的数据,如果读取的行正在执行DELETE或UPDATE操作,这是读取操作不会因此等待行上锁的释放。相反的,InnoDB会    阅读全文
        
            posted @ 2018-08-08 11:19
屠魔的少年
阅读(120)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
lock和latch的比较 对于INNODB存储引擎中的latch可以通过命令 SHOW ENGINE INNODB MUTEX 看到latch的更多信息 说明: 列Type显示的总是 InnoDB。 列Name显示的是latch信息以及所在源码的位置(行数)。 列Status 中waits表示操作    阅读全文
        
            posted @ 2018-08-07 22:07
屠魔的少年
阅读(382)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
create table t1( c1 int(10) unsigned not null default '0', c2 int(10) unsigned not null default '0', c3 int(10) unsigned not null default '0', c4 int(    阅读全文
        
            posted @ 2018-08-06 22:45
屠魔的少年
阅读(126)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
锁的作用:避免并发请求时对同一个数据对象同时修改,导致数据不一致。 怎么加锁: 1.事务T1在对某个数据对象R1操作之前,先向系统发出请求,对其加锁L1. 2.之后,事务T1对该数据对象R1有了相应的控制,在T1释放L1之前,其它事务不能修改R1. 锁类型: 1.排它锁(X)。 2.共享锁(S)。     阅读全文
        
            posted @ 2018-08-06 22:44
屠魔的少年
阅读(278)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
事务是一组访问并可能更新数据库内容的SQL组成的执行单元,是数据库并发控制和事务回滚的基本单位。 一个事务可能包含多个SQL,要么都失败,要么都成功。 事务具备4个基本属性 Atomic,同一个事务里,要么都提交,要么都回滚。 Consistency,即在事务开始之前和事务结束之后,数据库的完整性约    阅读全文
        
            posted @ 2018-08-06 22:42
屠魔的少年
阅读(101)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
说明:一般来说,如果恢复的binlog量不大,可以使用此方法来恢复:mysqlbinlog /data/mysqlbak/binlogbak/restoredb-bin.000018 |mysql -u root -pchengce243 但是如果binlog量非常大,使用此方法会非常慢,下面介绍一    阅读全文
        
            posted @ 2018-08-06 19:08
屠魔的少年
阅读(237)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
备份先做一次完整备份: innobackupex --defaults-file=/etc/my.cnf --user root --password chengce243 /data/mysqlbak 执行完命令后,/data/mysqlbak 目录下会生成目录: 2018-08-06_14-19    阅读全文
        
            posted @ 2018-08-06 15:44
屠魔的少年
阅读(224)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
备份增量备份是基于完整备份的,所以我们需要先做一次完整备份: innobackupex --defaults-file=/etc/my.cnf --user root --password chengce243 /data/mysqlbak 执行完命令后,/data/mysqlbak 目录下会生成目    阅读全文
        
            posted @ 2018-08-06 14:17
屠魔的少年
阅读(215)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
从5.6版本开始,可以利用 mysqlbinlog命令把远程机器的日志备份到本地目录,这样就更加方便快捷的实现一个binlog server。 常用的参数 -R | –read-from-remote-server 表示开启binlog备份,在对应的主节点上请求binlog到本地。 –raw 被复制    阅读全文
        
            posted @ 2018-08-04 23:17
屠魔的少年
阅读(886)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
全备脚本:innobackupex --defaults-file=/etc/my.cnf --user root --password mypasswd /mydata/fullbak/ 增备脚本:innobackupex --defaults-file=/etc/my.cnf --user ro    阅读全文
        
            posted @ 2018-08-04 23:04
屠魔的少年
阅读(341)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
#!/bin/bash # 10 23 * * * /bin/bash /data/script/backup.sh BDATE=`date +%Y%m%d%H%M%S` BPATH=/data/backup BFILE=${BPATH}/`hostname`_fullbak_${BDATE}.xb    阅读全文
        
            posted @ 2018-08-04 22:29
屠魔的少年
阅读(236)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
xbstream -x < ynhw-mysql-slave.01.mysql.prod.sg_fullbak_20180326134255.xbstream -C /data/mysql cd /data/chown -R mysql:mysql mysql 然后查看 /data/mysql/xt    阅读全文
        
            posted @ 2018-08-04 22:29
屠魔的少年
阅读(159)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
一) I/O调度程序的总结 1) 当向设备写入数据块或是从设备读出数据块时,请求都被安置在一个队列中等待完成. 2) 每个块设备都有它自己的队列. 3) I/O调度程序负责维护这些队列的顺序,以更有效地利用介质.I/O调度程序将无序的I/O操作变为有序的I/O操作. 4) 内核必须首先确定队列中一共    阅读全文
        
            posted @ 2018-08-04 22:14
屠魔的少年
阅读(458)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
适用于: Oracle Database - Enterprise Edition - 版本 11.2.0.3 到 12.1.0.2 [发行版 11.2 到 12.1]本文档所含信息适用于所有平台 用途 本文的目标是通过举例说明的方式说明在 Oracle 集群/GI 环境下如何修改公网对应的主机名,    阅读全文
        
            posted @ 2018-08-04 12:13
屠魔的少年
阅读(666)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
所谓集群的一致性就是指集群中每个成员能够了解其他成员的状态,而且每个成员获得的集群中其他节点的状态和集群中其他节点成员列表信息(Node Membership)是一致的,这也是集群最基本的要求。Oracle集群管理软件是通过以下一些机制来实现集群一致性的: 机制1:确定节点和节点间的连通性(心跳),    阅读全文
        
            posted @ 2018-08-04 12:13
屠魔的少年
阅读(2087)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
ORACLE RAC中最主要存在2种clusterware集群件心跳 & RAC超时机制分析: 1、Network Heartbeat 网络心跳 每秒发生一次; 10.2.0.4以后网络心跳超时misscount为60s,;11.2以后网络心跳超时misscount为30s。 2、Disk Hear    阅读全文
        
            posted @ 2018-08-04 12:12
屠魔的少年
阅读(1836)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
大约是一周前,一位资深的Oracle工程师向我和客户介绍RAC中脑裂的处理过程,据他介绍脑裂发生时通过各节点对voting disk(投票磁盘)的抢夺,那些争抢到(n/2+1)数量voting disk的节点就可以survive(幸存)下来,而没有争抢到voting disk的节点则被evicted    阅读全文
        
            posted @ 2018-08-04 12:11
屠魔的少年
阅读(267)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
出于种种原因我们可能需要为已安装的Oracle集群软件修改其使用的公用或私有网络所使用的网络接口(How to Change Interconnect/Public Interface IP or Subnet in Oracle Clusterware),这些共有或私有网络(public/priv    阅读全文
        
            posted @ 2018-08-04 12:11
屠魔的少年
阅读(635)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
本文对如何诊断11gR2 GI环境下的节点重启问题进行了一些介绍。首先,像10g版本一样,我们首先介绍在GI中能够导致节点重启的进程。1.Ocssd.bin:这个进程的功能和10g版本的功能基本差不多,主要是节点监控(Node Monitoring)和组管理(Group Management)。详细    阅读全文
        
            posted @ 2018-08-04 12:10
屠魔的少年
阅读(426)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
1.获取集群验证工具cluvfy的帮助信息 grid@rac1:/home/grid>cluvfy -help USAGE: cluvfy [ -help ] cluvfy stage { -list | -help } cluvfy stage {-pre|-post} [-verbose] cl    阅读全文
        
            posted @ 2018-08-04 12:10
屠魔的少年
阅读(380)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
<?xml version="1.0" encoding="UTF-8"?> <gpnp:GPnP-Profile Version="1.0" xmlns="http://www.grid-pnp.org/2005/11/gpnp- profile" xmlns:gpnp="http://www.g    阅读全文
        
            posted @ 2018-08-04 12:09
屠魔的少年
阅读(446)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
mdns的功能和普通DNS很类似,即提供主机名到IP地址的解析服务。 mdns一些基本特性: 1,mdns主要为小型私有网络(不存在DNS)提供名称解析。 2,mdns使用多播(Multicast)发布信息。 3,mdns使用UDP协议进行数据传输。 4,mdns对应的主机名会以 .local结尾。    阅读全文
        
            posted @ 2018-08-04 12:08
屠魔的少年
阅读(1006)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
首先我们介绍一下历史。在oracle 9i/10g 中,如果一个数据库实例需要驱逐(evict, alert 文件中会出现ora-29740错误)另一个实例时,需要通过LMON进程在控制文件(以下简称CF)中写入相应信息,当目标实例的LMON进程读取到相应的信息后,该实例shudown。但是,如果目    阅读全文
        
            posted @ 2018-08-04 12:00
屠魔的少年
阅读(323)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
众所周知,当集群出现问题时,例如某个节点丢失网络心跳,或者不能够访问表决盘,或者节点出现了严重的性能问题等,CRS会选择将某个节点的OS 重启,以便保证集群的一致性。当然,大部分的重启都是由CRS的核心进程ocssd.bin发起的。 但是,如果CRS 只是节点上的应用之一或者私网和存储的问题只是短时    阅读全文
        
            posted @ 2018-08-04 11:59
屠魔的少年
阅读(511)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
在这篇文章中我们会对oracle 11g 新特性—hang 管理器(Hang Manager) 进行介绍。我们需要说明,HM 只在RAC 数据库中存在。 在我们诊断数据库问题的时候,经常会遇到一些数据库/进程 hang住的问题。对于hang的问题,一般来说,常见的原因有以下两种。 死锁(cycle)    阅读全文
        
            posted @ 2018-08-04 11:59
屠魔的少年
阅读(522)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
在RAC数据库上会比单实例数据库多一些进程,这些进程是RAC特有的,为了实现集群数据库功能而设置的。10g RAC特有进程:$ ps -ef|grep ora_oracle 4721 1 0 Feb26 ? 00:00:00 ora_diag_ONEPIECE1oracle 4725 1 0 Feb    阅读全文
        
            posted @ 2018-08-04 11:57
屠魔的少年
阅读(373)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
目的:本文会对oracle 11gR2 集群件(Grid Infrastructure,以下简称GI) 新特性 agent进行介绍,包括 agent的功能,常见的agent介绍,以及基本的诊断方法。适用范围:11.2.0.1及以上版本。 首先我们对10gR2 crs 管理资源的方法进行简单的介绍。在    阅读全文
        
            posted @ 2018-08-04 11:57
屠魔的少年
阅读(382)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
在10g和11.1,Oracle的集群称为CRS(Oracle Cluster Ready Service), 在11.2,Oracle的集群称为GI(Grid Infrastructure)。 对于CRS/GI,他们的一些核心进程的功能基本类似,但是在11.2,新增了很多新的Deamon进程。10    阅读全文
        
            posted @ 2018-08-04 11:56
屠魔的少年
阅读(1986)
评论(0)
推荐(1)
        
        
            
        
        
摘要:        
本文对如何诊断RAC环境中节点重启问题进行了介绍。适用于10gR2和11gR1.首先我们对能够导致节点重启的CRS进程进行介绍。1.ocssd : 它的主要功能是节点监控(Node Monitoring)和组管理(Group Management),它是CRS的核心进程之一。节点监控是指监控集群中节    阅读全文
        
            posted @ 2018-08-04 11:31
屠魔的少年
阅读(299)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
首先,我们对和DRM 相关的一些概念进行介绍。Buffer: 对于RAC 数据库,当一个数据块被读入到buffer cache后,我们就称其为buffer , cache fusion 会将这个buffer作为resource来管理。 Master:在RAC 数据库的世界里,每一个resource都    阅读全文
        
            posted @ 2018-08-04 11:31
屠魔的少年
阅读(745)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
安装集群GRID/GI一般包括三个过程:首先,运行OUI/RunInstaller输入集群配置信息,其次,拷贝/编译集群文件,最后,以root用户运行root.sh脚本配置集群/启动集群,其中运行root.sh脚本是最关键的阶段。接触过很多SR case都是在这个阶段出现错误导致安装失败。如果问题修    阅读全文
        
            posted @ 2018-08-04 11:30
屠魔的少年
阅读(762)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
适用于: Oracle Database - Enterprise Edition - 版本 11.2.0.1 和更高版本本文档所含信息适用于所有平台 用途 本文提供了诊断 11GR2 和 12C Grid Infrastructure 启动问题的方法。对于新安装的环境(root.sh 和 root    阅读全文
        
            posted @ 2018-08-04 11:30
屠魔的少年
阅读(1690)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
适用于: Oracle Database - Enterprise Edition - 版本 11.2.0.1 和更高版本本文档所含信息适用于所有平台 用途 本文档的目的是总结可能阻止 Grid Infrastructure (GI) 成功启动的 5 大问题。 适用范围 本文档仅适用于 11gR2     阅读全文
        
            posted @ 2018-08-04 11:29
屠魔的少年
阅读(1366)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
适用于: Oracle Database - Enterprise Edition - 版本 10.2.0.1 到 11.2.0.1.0 [发行版 10.2 到 11.2]本文档所含信息适用于所有平台 目标 提供在 Oracle Clusterware 10gR2, 11gR1 和 11gR2 环境    阅读全文
        
            posted @ 2018-08-04 11:29
屠魔的少年
阅读(956)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
适用于: Oracle Database - Enterprise Edition - 版本 10.1.0.2 到 11.2.0.3 [发行版 10.1 到 11.2]本文档所含信息适用于所有平台 用途 本文章简要概述了导致节点重新启动或者 CRS 意外重启的几个最常见问题 适用范围 有节点重新启动    阅读全文
        
            posted @ 2018-08-04 11:29
屠魔的少年
阅读(387)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
适用于: Oracle Database - Enterprise Edition - 版本 11.2.0.1 到 11.2.0.2 [发行版 11.2]本文档所含信息适用于所有平台 用途 这篇文档提供了诊断 11.2 集群节点驱逐问题的参考方法。对于 11.2 之前的集群节点驱逐问题,请参考 No    阅读全文
        
            posted @ 2018-08-04 11:28
屠魔的少年
阅读(491)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
适用于: Oracle Database - Enterprise Edition - 版本 10.2.0.1 到 11.2.0.3 [发行版 10.2 到 11.2]本文档所含信息适用于所有平台 用途 本文档针对导致实例驱逐的主要问题为 DBA 提供了一个快速概述。 适用范围 DBA 详细信息 问    阅读全文
        
            posted @ 2018-08-04 11:28
屠魔的少年
阅读(282)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
适用于: Oracle Database - Enterprise Edition - 版本 10.1.0.2 到 12.1.0.1 [发行版 10.1 到 12.1]Oracle Database - Standard Edition - 版本 11.2.0.4 到 11.2.0.4 [发行版 1    阅读全文
        
            posted @ 2018-08-04 11:28
屠魔的少年
阅读(622)
评论(0)
推荐(0)
        
        
 
                    
                 浙公网安备 33010602011771号
浙公网安备 33010602011771号