asm disk redundancy
CREATE DISKGROUP dgroup1 NORMAL REDUNDANCYFAILGROUP test1 DISK '/dev/raw/raw5', '/dev/raw/raw6', '/dev/raw/raw7', '/dev/raw/raw8'FAILGROUP test2 DISK '/dev/raw/raw9', '/dev/raw/raw10', '/dev/raw/raw11', '/dev/raw/raw12';select disk_kffxp disk#,XNUM_KFFXP extent#,case lxn_kffxp when 0 t...
11g rac 日志
日志说明$ORACLE_HOME/log 这是每个集群节点上为oracle集群件以及ASM存储跟踪和诊断日志文件的主目录。$ORA_CRS_HOME/log//alertHOSTNAME.log 仅包含本地节点上oracle集群件和ASM的跟踪和诊断日志文件。$ORA_CRS_HOME/log//client 包含各种oracle grid infrastructure客户端(ocrchec,ocrconfig...
rac scan listener log 清理监听日志 oracle
su - gridps -ef | grep tnslsnrctlset current_listener LISTENER_SCAN2statusset log_status off mv ***.log ***.log.baksett log_status on
设置history 带时间点
HISTFILESIZE=2000HISTSIZE=2000HISTTIMEFORMAT="%Y%m%d %T "export HISTTIMEFORMAT/etc/bashrc
ORA-27140 ORA-27300 ORA-27301 ORA-27302 ORA-27303
X6一体机:最开始错误在Wed May 24 22:44:10 2017opatch 升级补丁Wed May 24 22:44:10 2017Errors in file /u01/app/oracle/diag/rdbms/fdp/FDP2/trace/FDP2_j000_113642.trc:ORA-27140: attach to post/wait facility failedORA-27300: OS system dependent operation:invalid_egid failed with status: 1ORA-27301...
TFA
收集指定时间段与数据库相关的诊断信息 ./tfactl diagcollect -from "May/22/2017 09:00:00" -to "May/22/2017 15:00:00"
数据泵导入导出数据生成日志不完全的问题
单单说expdp,他的效率确实比exp的效率高的多;expdp导出20G的数据量和exp导出2G的数据量是差不多的但是出现一个问题是:日志生成的不完善,如下面的所示这样肯定会成为在公司内部推广的一个最大的障碍...
开发环境配置初始化安装python和virtualenv
python版本:anaconda3Linux版本:CentOS 7第一步:使用yum安装git[root@localhost ~]# yum -y install git第二步:python安装依赖开发环境yum -y install gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bz
连接池
每个连接,MySQL给分配一个线程,如果有4000个连接的话,是非常消耗CPU的,因为 一般CPU 32核心,会话进行上下文切换的话,CPU轮询就会非常频繁。社区版本的MySQL没有线程池(官方版本Percona,innosql有),那么如果我们使用社区版没有线程池怎么办,可以建议控制应用中间件的连接数量。max_connections默认800说的是允许...
MySQL监控
show global statusmysqladmin extended-status -i 1每一秒的情况,但是值是累加的,mysqladmin extended-status -i 1 -r 1秒内相对的值mysqladmin extended-status -i 1 -r | grep Com_Com_ 表示当前有哪些操作,questioninnodb_关于innodb引擎的情况当然show global status这些监控不是监控一个系统的步...
谈谈双主
双主的存在不是要实现系统的双写,类似于RAC,而是在没有MHA的情况下,实现切换不用change master的操作,因为双写是有问题的。有的人说双写,在其中一个设置主键自增步长为如上,那么就可以达到双主同时写,防止主键冲突,但是这样也不行,比如二级索引的唯一性,你不能保证不冲突。所以双主的应用不是为了实现双写而存...
MHA
管理集群软件MHA会检测复制组中的主的状态,如果主宕机,VIP会飘到其中一个从库,并且在从库上重新建立主从关系。并且VIP飘到新的主上。并且MHA判断主22,是否可用的依据是从 从库进入,先通过33访问22,再通过44访问22,如果都不能访问通,说明主挂了,这样就需要33 44都和MHA有ssh权限,即不需要密码访问。MHA切换...
mysqlrouter 轻量级中间件
官方5.7版本发布的轻量级中间件。可以做小应用,数据一致性要求不高的读写分离方案。[DEFAULT]logging_folder = /usr/local/mysqlrouter[logger]level = INFO[routing:failover]bind_address = 192.168.6.57#mysqlrouter server ipbind_port = 7001mode = read-writemax_connection = 1024destinations = 1...
【MySQL】半同步与增强半同步复制
半同步复制:主上已经提交了,但是日志还没来得及传到备库,这时候宕机了,在半同步看来,主库其他会话看来是透明的,看到的是他提交了的数据,但是如果这时候切换到slave,slave上又没有提交,没有看到这部分数据,这就矛盾了。而增强版同步,alter_sync,日志没有传输到备库,主库这时候也没有提交,这时候服务挂掉了,主库其他会话看到的是未提交的数据,并且也没有传输到备库,所以数据不存在丢失一说。
【MySQL】second behind master不准确的处理(监控主从延迟) pt-heartbeat
binglog日志中event的event header(event header的前4个字节)记录了event的时间戳,SQL回放的时间减去这个event产生的时间,就是Seconds_Behind_Master的时间。但是这个时间不准确,线上有时延时是几千秒,但是突然就变成了0,有这种情况。
【MySQL】保证复制高可用的一些重要参数
expire_logs_days ,binlog清理的时间。从库上relay-log-recovery = 1和relay-log-info-repository = TABLE; 保证了主从数据的一致性,不论从机怎么出错都能保证,主从一致。为什么呢?首先说SQL线程,SQL线程apply应用二进制日志,并且将binlog应用到的位置记录到relay-info.log中。并且并不是relay log应用一次就...
逻辑复制主从搭建
创建复制用户:CREATE USER 'repl'@'192.168.6.%' IDENTIFIED BY '123';GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.6.%';FLUSH PRIVILEGES;下面是dump文件中的内容,也就是说备库恢复到这个点。show warnings;看到密码安全相关的警告... ...再show slave status看一下然后我们开启slavestart sl...
5.7 mysql的可传输表空间
要导入的库中,丢弃表空间alter table test discard tablespace;源库上备份,这个操作加了个读锁。cfg记录原表的信息,我们将cfg和ibd文件拷贝到之前做discard的库里。然后释放源库的表,unlock tables;然后在要导入的库中将cp过来的表空间导入。(当然了,我的这两个表不是同一个,这也是脑残的行为,哇哈哈)当...
mysql复制原理图
图中master thread是每1s从redo buffer刷新redo到磁盘。dump thread将binlog推送到远程的slave,每一个slave会对应一个dump thread接收IO线程和回放SQL线程的单位是event(write_row等等),5.6之前SQL线程只有一个线程,而主库上执行是多线程的,延时较大。从5.6开始支持多线程,之前的SQL Thread作为协调的线程,真正...
binlog日志的格式
binlog日志中记录的单位是events,并不是sql语句。format description event记录服务器版本号和二进制版本号。一个日志结束有Rotate event,告诉这个日志接下去的日志的位置。table_map event记录表的映射关闭,表的列是什么,列的类型是什么,源数据。没有table_map是不可以的。Query-->Table_map-->Update_rows-->X...