自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

richard的专栏([email protected]

oracle mysql redis mongo cdh 数据全栈

  • 博客(140)
  • 资源 (4)
  • 收藏
  • 关注

原创 Oracle 一次ddl锁表等待记录

ddl执行卡住了,event显示为行锁看到当前锁会话也没有发现问题查询表对象的session,发现大量不活动的连接,plsql客户端连接多达400多怀疑是中断会话导致ddl阻塞,杀完会话ddl执行成功了...

2020-02-12 11:57:03 407

原创 分析下Oracle组合索引顺序的差异

create index ix_ora_22on ora(systime,sqlname,db)create index ix_ora_23 on ora(sqlname,db,systime)ora表systime的选择性最高select * from dba_segments where segment_name like 'IX_ORA_2%'除了header_b...

2019-07-11 17:41:07 5060

原创 mysql Specified key was too long; max key length is 767 bytes

MySQL默认的索引最大长度是767字节,在5.5版本开始后可以通过设置innodb_large_prefix=on来增大索引长度,可达到3072字节,但是只有row_format=DYNAMIC/COMPRESSED的情况下索引的长度才能超过767字节,MySQL默认的行格式为compact,所以需要将row_format改成DYNAMIC/COMPRESSED才能支持...

2019-06-12 16:09:39 310

转载 mysql的dba_hist_sql*

01.schema_tables_with_full_table_scans,x$schema_tables_with_full_table_scans查询执行过全扫描访问的表,默认情况下按照表扫描的行数进行降序排序。数据来源:performance_schema.table_io_waits_summary_by_index_usage视图查询语句文本SELECT object_sch...

2019-05-17 18:04:56 299

原创 zabbix大表分区优化

history_uint表日增长5000w,分区表结构如下CREATE TABLE `history_uint` (  `itemid` bigint(20) unsigned NOT NULL,  `clock` int(11) NOT NULL DEFAULT '0',  `value` bigint(20) unsigned NOT NULL DEFAULT '0',  `ns`...

2019-02-18 16:37:28 969

原创 一次Oracle表空间100%的反思

Oracle表空间是需要手动扩的,这就有100%之后不可用的隐患 应用可能业务繁忙,data表空间迅速增加,dba来不及加表空间已经100%了 优化:1 数据文件添加直接size 30g,保证性能           2 可以为每个表空间添加一个自动扩展的数据文件           3 告警阈值建议不高于85%,并且是不包含自动扩展的空间的(留一条后路)       ...

2019-02-02 12:04:04 523

原创 mysql 5.7开启审计

1  mysql社区版没有审计插件,下载mariadb-5.5.56-linux-x86_64.tar.gz解压获取server_audit.so插件,将server_audit.so上传到 /mysql/plugin/下2 安装插件mysql> INSTALL PLUGIN server_audit SONAME 'server_audit.so';3 开启参数mysq...

2019-01-22 11:57:19 2263

原创 mysql8新特性 hint variables

mysql 8 开始支持对sql临时生效variables 语法格式:SELECT/*+ SET_VAR(optimizer_switch = 'mrr_cost_based=off')    SET_VAR(max_heap_table_size = 1G) */ *FROM t1; 支持的参数列表:auto_increment_incrementauto...

2019-01-18 14:49:53 490

转载 使用fio测试linux iops

FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括:sync,mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio 等等。fio 官网地址:http://freshmeat.net/projects/fio/一,FIO安装wget htt...

2018-12-24 11:15:39 370

原创 oracle pkg自动导出发邮件

export ORACLE_SID=PRODsource /home/oracle/.bash_profilea="$1"str=`echo $a | tr '[:lower:]' '[:upper:]'`mkdir -p /tmp/dumppkg/rm -rf /tmp/dumppkg/* for pkg in ${str[@]};doecho $pkg######...

2018-11-01 18:26:10 3991

原创 mysql切割slow日志文件

#!/bin/bashtime=`date -d yesterday +"%Y-%m-%d"`/usr/bin/find  /data/mysql/apm-3306/log/ -name 'apm-slow-*' -mtime +7|xargs rm -rf ;mv /data/mysql/apm-3306/logslowquery_20181001.log /data/mysql/ap...

2018-10-01 15:53:47 965

原创 java.sql.SQLException: Statement violates GTID consistency: CREATE TEMPORARY TABLE 解决

开发反馈存储过程程序报错报错信息:java.sql.SQLException: Statement violates GTID consistency: CREATE TEMPORARY TABLE and DROP TEMPORARY TABLE can only be executed outside transactional context. These statements are ...

2018-09-17 16:32:01 6379

原创 Oracle准确的评估表碎片方法

使用avg_row_len * num_rows评估占用空间往往不准确,特别是存在大对象和列太多的时候  如何能真实的评估占用块数select count(distinct substr(rowid,0,15)) from tb1 实际占用的块数select s.blocks from  dba_segments s where s.segment_name='TB...

2018-09-14 19:09:30 804

原创 oracle dba_tables.blocks和dba_segments.blocks的区别

 除了已知的Dba_Segments .blocks = Dba_Tables.Blocks+Dba_Tables.Empty_Blocks +1(segment header block) 测试还发现dba_tables.blocks不是实时的,收集统计信息之后才会接近真实值dba_segments.blocks是实时的,当做完shrink表等操作之后,会自动更新真实值...

2018-09-14 16:34:40 606

原创 数据库原理之并发控制

 事物是并发控制的单位保证事物一致性和隔离性,使用并发控制机制共享锁s,排他锁x1并发控制机制:a 三级锁                                       1修改数据之前加x锁                                       2在1基础上对读数据加s锁,读取完成释放                         ...

2018-09-07 10:17:00 327

原创 ebs表统计信息收集

ebs使用fnd_STATS.GATHER_TABLE_STATS收集表统计信息,和一般的区别在于ebs会自动从FND_HISTOGRAM_COLS 收集直方图脚本如下: DECLARE  CURSOR STALE_TABLE IS    SELECT OWNER,           SEGMENT_NAME,           CASE             WHEN...

2018-09-06 11:29:50 1210

原创 玩转linux防火墙firewall

启动:systemctl start firewalld.service关闭:systemctl stop firewalld.service状态:systemctl status firewalld.service默认对外开放22端口开放端口:firewall-cmd --zone=public --add-port=80/tcp --permanent 添加ip访问端口...

2018-08-27 16:24:18 140

原创 tcpdump分析端口3306

# tcpdump -i ens160 -s 0 -l -w - dst port 3307 | stringstcpdump: listening on ens160, link-type EN10MB (Ethernet), capture size 262144 bytescommitSET autocommit=1SELECT        pk_psndoc,--------------...

2018-06-26 16:59:34 1314 1

原创 mysql备份表方法

   备份表方法:此方法索引和increment值也会同步                 CREATE TABLE tb_cab_bak LIKE tb_cab;                 INSERT INTO tb_cab_bak SELECT * FROM tb_cab;

2018-06-11 10:53:26 19870

原创 dba自研程序猿之友小工具之python图形化输入输出

wxformbuilder软件自动生成的gui.py放到python  lib目录events触发按键-----------------------------------------------------------------------------------------------------------------------------------------------------...

2018-06-06 19:11:06 995

原创 mysql8 数据字典

information_schema:数据库基础数据     COLUMNs     INNODB_BUFFER_PAGE    INNODB_COLUMNS    INNODB_DATAFILES    INNODB_INDEXES    INNODB_METRICS   INNODB_TABLESPACES   INNODB_TABLESTATS   information_schema.in...

2018-05-23 18:59:04 288

原创 redis单个db迁移

#!/bin/bashredis-cli -h 127.0.0.1 -p 6379 -a   password -n 0  keys "*" | while read keydo      redis-cli -h 127.0.0.1 -p 6379 -a  password -n 0 --raw dump $key| perl -pe 'chomp if eof'|redis-cli  -h 1...

2018-04-26 18:48:56 3084

转载 pt-osc详解

MySQL原生的Online DDL还是有很多限制的,还是会遇到data meta lock的问题等诸多不便,然后就有了我们今天的话题,通过pt-osc在线执行DDL。  一、pt-osc的工作原理 1、创建一个和源表一样表结构的新表2、在新表执行DDL语句(空表嘛,所以。。。)3、在源表创建三个触发器分别对应insert、update、delete操作4、从源表拷贝数据到新表,拷贝过程中源表通过...

2018-04-12 20:28:04 5932

转载 PL/SQL批处理语句:BULK COLLECT与FORALL

FORALL和BULK COLLECT可以让PL/SQL引擎把多个上下文却换压缩成一个,这使得在PL/SQL中的要处理多行记录的SQL语句执行的花费时间骤降下面详解这爷俩㈠ 通过BULK COLLECT 加速查询⑴ BULK COLLECT 的用法采用BULK COLLECT可以将查询结果一次性地加载到collections中,而不是通过cursor一条

2017-06-02 15:37:05 452

转载 pt-query-digest

一、pt-query-digest参数介绍.pt-query-digest --user=anemometer --password=anemometerpass --review h=192.168.11.28,D=slow_query_log,t=global_query_review \ --history h=192.168.11.28,D=slow_query_log,t

2017-03-02 16:17:52 675

原创 linux时间操作

1.时间命令:date向date命令传递参数适用‘+‘(加号),在传递的参数中%Y表示年%m表示月%d表示天%H表示小时(表示的时间是00-23)%M表示分钟%S表示秒%s(表示unix时间戳的秒数)样板:[root@it~]# date -d "1 day ago" +%Y-%m-%d2017-03-012时间戳转时间

2017-03-02 11:11:44 293

原创 自动汇总awr报告,并发出邮件!

1 自动生成awr-----------------------awr.sh-------------------------------export ORACLE_SID=PRODexport AWR_HOME=/home/oraprod/awrfilesource /home/oraprod/.bash_profilemv $AWR_HOME/*  /tmpm=`s

2017-02-10 16:29:51 363

原创 DG关于备库日志缺失gap的问题

状态确认查询当前没有应用完的最小日志文件序列Select min(Sequence#) From V$archived_Log where Applied!='YES';mrp当前正在应用的日志序列select process,status,sequence# from v$managed_standby;通过查询可以看出当前应用日志

2017-01-18 18:54:38 1492

转载 redis

性能相关的数据指标通过Redis-cli命令行界面访问到Redis服务器,然后使用info命令获取所有与Redis服务相关的信息。通过这些信息来分析文章后面提到的一些性能指标。info命令输出的数据可分为10个类别,分别是:serverclientsmemorypersistencestatsrep

2016-12-29 18:06:18 499

原创 oracle检查密码过期

select * from dba_profiles where  resource_type='PASSWORD' and  resource_name='PASSWORD_LIFE_TIME' select * from dba_profiles where username='SYS' and resource_name='PASSWORD_LIFE_TIME' select * f

2016-11-29 19:10:35 1403

原创 通过oracle wallet配置listener tcps加密

一 配置客户端和服务端的wallet2端配置方法一致,相互添加证书orapki wallet create -wallet "/u01/oracle/wallet" -pwd Wdkf984jkkgekj434FKFD -auto_login_localorapki wallet add -wallet "/u01/oracle/wallet" -pwd Wdkf984jkkgek

2016-10-31 16:39:56 1587

转载 使用exp+pipe的方式直接将数据库导出到目标数据库(数据不落地成dmp,及传及导)

最早在oracle 8,Oracle 8i,Oracle 9i的时候,没有datapump,因此逻辑数据库迁移的工作多依赖于exp/imp,然而,当磁盘空间有限制,且停机时间短的时候,通常我们需要一种方式是数据不落地。那时候,我们常用方式就是借助于管道,也就是exp将数据库导出到pipe,目标段通过管道直接将数据imp到目标数据库,这样数据时不落地的,省去了生成dmp文件的时间和空间,

2016-10-27 10:51:28 1247

原创 解决enq: TM - contention TM 等待事件案例

解决enq: TM - contention TM 等待事件案例aWR后发现enq: TM - contention等待事件排第一位等待来自某个表的dml可能是外键约束上没有建立索引的问题。SELECT * FROM (   SELECT c.table_name, cc.column_name, cc.p

2016-10-20 15:08:41 1127

原创 impdp一个诡异的报错UDI-31623 ORA-31623

impdp操作报错impdp system/password directory=DATA_PUMP_DIR schemas=***** dumpfile=wmscontrol.dmp logfile=wmsconreol.log报错如下:UDI-31623: 操作产生了 ORACLE 错误 31623ORA-31623: 作业没有通过指定的句柄连接到此会话ORA-06512: 在 "S...

2016-09-19 10:07:45 8770

转载 sys_context函数

select SYS_CONTEXT('USERENV', 'TERMINAL') terminal,       SYS_CONTEXT('USERENV', 'LANGUAGE') language,       SYS_CONTEXT('USERENV', 'SESSIONID') sessionid,       SYS_CONTEXT('USERENV', 'INSTANCE

2016-07-29 11:37:02 735

原创 adg数据文件无法创建问题

ORA-01511: error in renaming log/data filesORA-01141: error renaming data file 375 - new file '/u01/app/oracle/tb1.dbf' not foundORA-01111: name for data file 375 is unknown - rename to correct fi

2016-06-06 07:54:04 968

原创 oracle sql性能对比工具runstats

此工具是tom编写的工具,用来评估sql的消耗创建:1授权grant SELECT on SYS.v_$statname to "SCOTT" ;grant SELECT on SYS.v_$mystat to "SCOTT" ;grant SELECT on SYS.v_$latch to "SCOTT" ;grant SELECT on SYS.v_$timer to "

2016-05-18 09:12:59 1162

原创 监控session process存储过程

DECLARE v_lower NUMBER :=1; v_upper NUMBER :=1000000;BEGIN   FOR i IN v_lower .. v_upper LOOP     DBMS_LOCK.SLEEP(1);    insert into sp   select (select count(0) from v$session) s,(sel

2016-04-19 08:49:25 365

转载 经典 定位等待事件问题方法

今天遇到个问题,客户说某天的11:45开始,系统遇到了大量的cursor pin s wait on X,经历一个小时后自动消失,需要查找原因。这报错一般是某个会话需要申请S模式的mutex,而mutex被其他会话以X模式占有了。查holder也很容易,11g版本前看p2raw的前8位,将16进制转换成10进制即为holder的sid,在11g之后只需直接看blocking_session即可

2016-04-12 18:03:20 668

原创 自动删除按时间自增量分区job

分区为按天分区,删除一个月前的分区先创建自定义函数long_2_varchar-------------------------------------------------------------------------------------------------------------------------------------------------------

2016-04-01 11:55:03 655

12c官方性能文档

12c官方性能英文文档,最新inmemory,CBO,pump介绍。

2015-08-22

oracle数据字典

oracle数据字典分享,一起学习变大师,哈哈哈

2014-10-18

Oracle 数据库性能优化的主要方法

Oracle 数据库性能优化的主要方法

2014-02-15

oracle优化

Oracle数据库的性能优化在电信 CRM 系统中的应用

2014-02-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除