自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(858)
  • 资源 (1)
  • 收藏
  • 关注

原创 字符串有不明字符的定位方法

开发反馈字符串里面有不明字符如何定位,可以将字符串的每个字符转成ascIIselect ASCII(substr(‘abcde’,level,1)),level from dual connect by level <= length(‘abcde’);ASCII(SUBSTR(‘ABCDE’,LEVEL,1)) LEVEL 97 1 98 2

2021-12-15 16:04:10 364

原创 oracle和达梦数据库在索引上的一个区别

Oracle索引是不存储null值的,达梦是存储了Null值,下面来做一个实验。drop table test;create table test(id number primary key,name varchar2(100), age number);insert into test select rownum, 'aaaaaaaaaaa'||rownum, CASE WHEN mod(rownum,10) = 0 THEN null ELSE rownum END from.

2021-07-29 18:07:16 621

原创 Oracle stop key算法

Oracle的stop key是一个很有用的算法,当获取满足条件的数据之后,sql就不往下执行。在实际工作中,我们会有这样的需求,只是判断查询条件是否有满足的数据,并不关心有多少条。下面来做一个例子:drop table test;create table test(id number ,name varchar2(100), age number);insert into test select rownum, 'aaaaaaaaaaa'||rownum, 18 from dual conn..

2021-07-29 10:45:11 674

原创 redis使用不当导致系统的宕机

今天刚收到一个应用tomcat内存溢出,分析dump之后发现单个线程并没有消耗的多的,大概有100个线程,消耗内存在30M-60M之间。 继续分析,发现这些线程在操作redis,set和get 一个key,这个key里面存放的是用户积分的信息,不过这个key比较大,有35M。 从tomcat server日志里面可以看到获取不到数据库连接的错误,数据库连接池配置的是100个连接。 这里要搞清楚为什么有这么多的操作redis的线程,是因为操作redis太慢导致。可能有同学会问,操作red..

2021-07-28 09:23:28 762

原创 心跳检测产生的问题

近期数据库慢,发现会话有1万个,考虑到128个CPU,1万个线程肯定是过载了。1.定位出这1万个会话是从哪里连进来的,查了一下会话IP居然是unknown的,不知道是从哪里发起的。从操作系统层面上,netstat -tpna看tcp连接是从应用服务器连过来的。2.需要定位出应用服务器上哪个程序产生的,netstat -tpna | grep 1111 ,(YY:1111是数据库的IP和端口)有1千多个tcp连接,并没有发现进程。tcp 0 0 XX:56678 YY:1111 FIN_W

2021-07-20 15:52:38 327

原创 expdp导出慢的问题

expdp导出慢,看等待事件是Disk file operations I/O。Disk file operations I/O This event is used to wait for disk file operations (for example, open, close, seek, and resize). It is also used for miscellaneous I/O operations such as block dumps and password file acce

2021-06-19 10:40:43 1085

原创 Oracle12c impdp导入慢的问题

现场反馈数据泵导入超慢,40M的dump,导入花了20分钟。对于Oracle数据库来说,诊断问题对运维问题是比较友好的,通常的思路是看相应会话的等待事件。select s.INST_ID, s.sid, s.SERIAL#, s.EVENT, s.WAIT_CLASSfrom gv$session swhere s.MODULE like ‘%Data Pump%’等待事件是:Streams AQ:enqueue blocked on low memory1.从字面意思上解读是内存不够,可...

2021-06-17 16:25:23 2302

原创 Ora-24067: exceeded maximum number of subscribers for queue

Ora-24067: exceeded maximum number of subscribers for queue sys.schedulereventqueue这种问题是队列满了,找到队列对应的队列表select∗fromdbaqueuesswheres.OWNER=′SYS′;namequeuetableschedulerevent_queue 这种问题是队列满了,找到队列对应的队列表select * from dba_queues s where s.OWNER='SYS' ;name

2021-06-16 16:14:30 595

原创 历史数据转换性能优化的一种方式

一张表几个亿的数据,需要按年份切分,还有转换逻辑,insert all派上用场了。drop table t_source purge;drop table t_target_2019 purge;drop table t_target_2020 purge;drop table t_target_2021 purge;create table t_source (id number, create_time date);create table t_source_detail (id numbe

2021-06-05 18:25:25 153

原创 ES search after样例

from size 默认查超过1万条之后的数据会报错,使用search after是一个不错的选择。#######分页 search afterDELETE usersPOST users/_doc{“id”:1,“name”:“user1”,“age”:10}POST users/_doc{“id”:2,“name”:“user2”,“age”:11}POST users/_doc{“id”:3,“name”:“user3”,“age”:12}POST users/_doc{“id”:

2021-03-26 10:57:15 423

原创 一个奇怪的网络问题

现象:系统虚拟化之后,系统出现一个问题,在有些虚拟机上调用接口1s之内可以完成,在有些虚拟机上需要等待20s才能完成。诊断过程:1.在代码里面打印出接口的每一行代码的耗时,发现在调用远程接口等待了20s。2.在慢的虚拟机上tcpdump抓包发现,接口在四次挥手的时候出现了TCP连接被RST重启,重启之后tcp停顿20s再重新发送请求。3.比对快的虚拟机和慢的虚拟机的网络的参数,发现并没有异常。4.tcp协议的实现在操作系统内核中,不同的网段还有防火墙,接下来朝两个方向验证,一是把快的虚拟机重新克隆

2020-08-14 17:39:04 277

原创 Oracle自动扩展分区+模板技术的运用

create table test(id number ,city VARCHAR2(36),create_time DATE)PARTITION BY RANGE(create_time) INTERVAL (NUMTOYMINTERVAL(1,‘YEAR’)) SUBPARTITION BY LIST(city)SUBPARTITION TEMPLATE(SUBPARTITION p_guangzhou VALUES (‘guan

2020-07-15 16:14:55 398

原创 weblogic节点告警,系统不能访问诊断

1.现场实施同事反馈节点告警,单点访问节点白屏。2.从nohup日志中看到有stuck线程,要现场做了jstack回来。<Jun 23, 2020 11:40:51 PM CST> <[STUCK] ExecuteThread: ‘2’ for queue: ‘weblogic.kernel.Default (self-tuning)’ has been busy for “613” seconds working on the request "weblogic.servlet

2020-06-28 09:17:43 2735 1

原创 commons.beanutils java.lang.NumberFormatException

现象:系统做异地做双活,A地和B地,A地是主,B地为从。B地的代码是从A地copy的。不过在测试B地的系统的时候报错,从chrome浏览器上看到报500的错误。1.分析日志都是这个错误:Caused By: java.lang.NumberFormatExceptionat java.math.BigDecimal.(BigDecimal.java:505)at java.math.BigDecimal.(BigDecimal.java:728)at org.apache.commons.bean

2020-06-22 11:10:50 308

原创 Connection reset by peer: socket write error

现场反馈,有一个导出报错,点导出按钮之后,等待一会之后就报错。1.要现场发回来weblogic日志:Caused by: java.net.SocketException: Connection reset by peer: socket write errorat java.net.SocketOutputStream.socketWrite0(Native Method) ~[na:1.6.0_43]at java.net.SocketOutputStream.socketWrite(Socke

2020-06-17 15:16:09 28455

原创 weblogic 数据库连接报XAResource.XAER_RMFAIL start()

weblogic启动之后,点击功能报:Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: Unexpected exception while enlisting XAConnection java.sql.SQLException: XA error: XAResourc

2020-06-09 08:56:25 1432

原创 PL/SQL连数据库报Ora-12557

电脑从win7升级到win10后,很多配置信息都丢失了,PL/SQL连数据库报Ora-12557,解决方案是:1.下载免安装的oracle客户端,我下载的是OraClient Lite-11g-x86.rar,解压出来。2.配置免安装版的环境变量:NLS_LANG:SIMPLIFIED CHINESE_CHINA.ZHS16GBKORACLE_HOME:F:\OraClientLite\product\11.2.0\client_liteTNS_ADMIN:F:\OraClientLite\pro

2020-06-03 11:32:06 2233

原创 Oracle默认并行度引起数据库挂起

上周六现场数据库运维厂家反馈,有一个实例hang住了,说是两条SQL引起的,操作系统上报too many open files的错误。看了一下数据库报告,主要是gc domain validation,latch: parallel query alloc buffer这两个等待事件。 发现有两条SQL执行很多次,负载占了数据库的一半。分析SQL,使用了Oracle默认的并行度,哪并行度到底是多少呢? 单实例 = PARALLEL_THREADS_PER_CPU x CPU_COUNT ...

2020-06-01 11:38:49 982

原创 tomcat Connection com.mysql.jdbc.JDBC4Connection is closed

开发反馈附件上传报错,附件上传先将附件传到服务器,然后将在数据库中写一条记录。tomcat报错日志:20-05-21 11:41:22,267 org.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: null[ERROR] 2020-05-21 11:41:22,267 org.hibernate.util.JDBCExceptionReporter - Connection com.mysql.jdbc.JDBC4Conn

2020-05-21 18:33:41 4191

原创 ORA-28040:没有匹配的验证协议

今天用pl/sql developer连12C的数据库,报这个错误。解决方法如下:1.在数据库服务器上${oracle_home}\network\admin\sqlnet.ora写上:SQLNET.ALLOWED_LOGON_VERSION=82.在数据库服务器上sqlplus / as sysdbaalter user 需要登录的用户名 identified by 密码;...

2020-05-15 10:52:29 4944

原创 JVM崩溃分析

JVM崩溃,原因是触发了JVM代码的bug。一般的解决办法是升级到最新的小版本上。不过有些特殊的场景,是探针agent导致,需要分析hs_err_pid.log中的堆栈信息。server.log:<2020-4-17 下午07时25分21秒 CST> <Started WebLogic Managed Server “GG_APP02_6001” for domain ...

2020-04-20 15:47:10 2880 1

原创 Tomcat Could not open JDBC Connection for transaction

org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLTransientConnectionException: Connection is not avai...

2020-04-02 16:14:27 2050

转载 数据仓库、数据湖、数据中台

转自:https://mp.weixin.qq.com/s?src=11&timestamp=1585712786&ver=2251&signature=0XE6r3rbsjkFRf6qTlDf31qvSzTYagOPTtd9aRrPX9-ixkWm7cOssF-05lFdVH3Hje6ZxrCRKyf5GPhm8FX954D6sgnWCSAvOfE2vSRNYmgCOwW...

2020-04-01 12:29:54 924

原创 Current transaction is not in progress

系统某些功能点击偶尔报错,用的是某国产中间件,Current transaction is not in progress的意思是会话没有对应的进程了,有两种可能: 1.数据库中的会话被干掉了。 2.事务超时被干掉了。 看功能都是非常简单的功能,不会有超时的问题,会话被干掉了。实施无意中说到之前数据库归档满了,数据库重启了一下,中间件没有重启。dang,就是这个问题,重启一下就好了,说明这...

2020-01-14 17:15:10 1225

原创 ORA-3136 WARNING: inbound connection timed out

最近遇到一个奇怪的事情,每天晚上22点到第二天8点,使用系统经常会报错。数据库是Oracle,三个实例组成的RAC,中间件是weblogic。1.从中间件层面上看,这种错误意识是weblogic连不上数据库后,自动重连都连不上,就会出现这种问题。<2019-10-29 下午10时57分37,679秒 CST> <Received exception while crea...

2019-12-17 19:57:05 848

原创 postgresql JDBC操作数据库

先下载驱动:org.postgresqlpostgresql42.2.6package postgresql;import java.sql.*;public class TestPostreSQL {public static void main(String args[]) throws Exception{//executeSQL(“create table t_demo...

2019-12-09 15:17:50 587 1

原创 中间件数据库连接池不够用

中间件报In-use connections equal max-pool-size and expired max-wait-time. Cannot allocate more connections,说明连接池被用光了。分析jstack,发现很闲啊。推测是瞬间使用连接太多。加大max-pool-size,从100加到200。系统使用一段时间后还是报错。只能分析代码了,发现有循环连数据...

2019-11-27 18:17:11 1068

原创 Tomcat7中打印stuck的线程

在中间件层面,一些非常慢的请求就是性能杀手,weblogic可以很容易的配置超过多少秒打印出线程来,也叫stuck的线程。长期整改这些问题对系统的稳定运行有极大的帮组。修改context.xml文件,加入 org.apache.catalina.valves.StuckThreadDetectionValve。<?xml version='1.0' encoding='utf-8'...

2019-11-20 14:15:01 2426

转载 运维日记| MySQL/Oracle深度解析之一:逻辑读

运维日记| MySQL/Oracle深度解析之一:逻辑读原创: 吕海波 新运维新数据 今天各位新朋友~记得先点蓝字关注我哦~前言THE FIRST比较数据库优劣、异同的文章有很多了,使用压测工具,进行不同压力下的测试,就能大致上比较出来哪种数据库是“最快”的数据库。但从有经验的数据架构、DBA等专业人士角度,仅仅“最快”是不够的,数据库是十分复杂的体系,要考虑方方面面的问题。本文从...

2019-11-19 10:12:01 452

原创 MySQL5.6.35的bug

有一个系统,当在应用层面开启Job的时候,数据库就会宕机,Job里面是往一个表里面插入一些数据。错误日志如下: 2019-11-11 15:56:26 114028 [Note] /home/mysql/bin/mysqld: ready for connections.Version: ‘5.6.35-log’ socket: ‘/tmp/mysql.sock’ port: 33...

2019-11-12 18:00:11 664

原创 ORA-12152:TNS:无法发送中断消息

现场报dblink查询的问题,时好时坏:###Cause: org.hibernate.exception.GenericJDBCException: ORA-12152:TNS:无法发送中断消息ORA-02063:紧接着line(起自TARGET_MLJHXT)从metalink可以查到:Doc ID 1942951.1解决方案:Replace the client faulty eth...

2019-11-12 17:53:07 7039

原创 Oracle递归死循环怎么办?

drop table test1 purge;create table test1(id number, parent_id number,name varchar2(10));insert into test1 values(1,2,’’);insert into test1 values(2,1,’’);insert into test1 values(3,2,’’);commit;...

2019-11-12 16:05:24 2782

原创 不明真相的http code 497

刚开发找到我,反馈现场大量流程无法发送,说是锁的问题。我问:发送之后是一直在等待,还是马上会返回错误。得到答复:会马上报错。原本这种错误看下后台日志,不过节点过多,无法定位到是哪个节点,最快的方式是用chrome看看返回,捕获的请求headers如下:Request URL: http://11.15.22.1/web/gg/project/common/ggpmsOperateActio...

2019-11-06 11:00:19 7360

原创 系统从Tomcat迁移到Weblogic无法发布

有一个系统从开发环境部署到正式环境,开发环境用的是tomcat,正式环境用的是weblogic。部署一直不成功,启动失败。首先会报这个警告: <The list of resource packages: gg.soa.org.apache.cxf.jaxrs.provider;org.apache.cxf.jaxrs.provider.atom;gg.soa.org.apache...

2019-11-06 10:37:19 2161 6

原创 chrome+wireshark诊断网络问题

最近碰到一件棘手的事情,系统会莫名其妙的变慢,没有规律。 做第一次诊断:中间件日志,gc日志,httpwatch,Oracle数据库报告,服务器nmon日志,逐一检查,均无性能瓶颈。 做第二次诊断:慢的情况不是必现,多次httpwatch的结果发现,每次都是18.9s左右,有时候是红色的等待多(服务处理请求的等待),有时候是白色的等待多(浏览器发送给服务端的等待)。光看httpwatch,无...

2019-10-14 14:52:16 449

原创 Oracle11.2.0.4查询表一直卡住cursor:pin s on x

现场反馈:查询一张几千条数据的表,一直卡住,然后重启了数据库,还是这样。1.获取了数据库报告,发现排在第一位的是cursor:pin s on x等待事件。Top 10 Foreground Events by Total Wait TimeEvent Waits Total Wait Time (sec) Wait Avg(ms) % DB time Wait Classcursor: ...

2019-09-29 10:17:02 1176

转载 数据库的江湖情仇:事务篇

2015年左右,因为工作需要用MongoDB、CouchBase这两种文档型数据库,时不时到这两个数据库官网上查资料、报BUG。时常可以在MongoDB官网上看到这样一些新闻,“某某企业成功将MySQL替换成MongoDB,性能大幅提升”,“某某公司将Oracle替换成MongoDB,节约成本若干”……而在CouchBase官网上,又会时不时看到这样的新闻:“A公司将MongoDB替换成Couc...

2019-08-23 10:53:29 267

原创 Elasticsearch7.3.0导入测试数据

下载最MovieLens最小测试数据集:https://grouplens.org/datasets/movielens/Logstash下载:https://www.elastic.co/cn/downloads/logstashLogstash参考文档:https://www.elastic.co/guide/en/logstash/current/index.html配置logstas...

2019-08-09 14:56:28 1911

原创 ORA-12547:TNS:丢失连接

用sqlplus连接远程的数据库(不是同一网段),报ORA-12547:TNS:丢失连接。查看数据库的监听日志,发现错误:Thu Apr 18 18:30:23 201918-APR-2019 18:30:23 * * (ADDRESS=(PROTOCOL=tcp)(HOST=111.25.129.234)(PORT=11236)) * establish * * 12525TNS-12...

2019-04-19 09:25:18 8751

原创 Caused by: java.sql.SQLException: ORA-12543: TNS: 无法连接目标主机

中间件日志报执行一条很简单的SQL报错,在中间件的机器上telnet数据库服务器都是通的,最后诊断是高级复制导致的,备机关闭了。update gg_deploye_file set content=?, sync_sign=?, att_syn_flag=?,modify_date=systimestamp where deploye_id=?Caused by: java.sql.SQLEx...

2019-04-16 17:54:44 4449 1

编译原理及实践

一起来学编译原理,看看编译器内部的工作

2008-03-08

空空如也

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

TA关注的人

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