mysql 并行复制原理
1、binlog_transaction_dependency_tracking = COMMIT_ORDER last_committed表示事务提交的时候,上次事务提交的编号,如果事务具有相同的last_committed,表示这些事务都在一组内,可以进行并行的回放。 在commit_order模式下, 如果事务具有相同的last_c
通过进程找sql
通过进程找sqlselect p.spid,s.machine,s.username,s.sid,s.serial#,s.status from v$session s,v$process p where s.sid in (select sid from v$session wher
查看mysql哪张表比较大
SELECT file_name, concat(TOTAL_EXTENTS / 1024, 'G') as 'FIle_size' FROM INFORMATION_SCHEMA.FILES where su
利用otter对敏感数据加密
1、需求 mysql的敏感字段,在同步到从库时,利用aes加密存储在从库。2、方法 package com.alibaba.otter; import java.io.UnsupportedEncodingException; import java.util.Arrays; impor
mysql DDL时锁表的排查
select id,USER,USER,time,left(info,10),state from information_schema.processlist where state like '%Waiting for %' order by time desc ;
mysql ibdata1太大的原因
InnoDB引擎表由于支持多版本并发控制(MVCC),因此会将查询所需的Undo信息保存在ibdata1文件中。如果存在对一个InnoDB表长时间不结束的查询,而且在查询过程中表有大量的数据变化,则会生成大量的Undo信息,导致ibdata1文件体积增加。
sqlplus执行脚本时遇到错误自动停止
当一个脚本中存在大量的sql/plsql语句时,执行该脚本时,如果其中有一条sql语句执行失败,用sqlplus可能很难发现。如果能让碰到错误时,让sql*plus退出,再结合spool命令查看日志,就很容易知道脚本的执行情况。这可以通过whenever命令来实现。SQL>whenever sqlerror exit rollback一旦脚本中该语句之后的某sq
mysql简单脱敏
update patient set selfphone=concat(left(selfphone ,3),'*****',right(selfphone ,4)) update patient set familyphone=concat(left(familyphone ,3),
导出oracle公有同义词
set head off spool pub.sql SELECT 'CREATE PUBLIC SYNONYM '||synonym_name||' FOR '||table_owner||'.'||table_name||';' FRO
利用otter做mysql数据实时脱敏
java代码:package com.alibaba.otter; import java.util.Objects; import org.apache.commons.lang.StringUtils; import com.alibaba.otter.node.extend.processor.AbstractEventProcess
shell去掉每行结尾的空格
sed -e ‘s/[ ]*$//g’ 文件名