召冠的博客

做对的事,脚踏实地,保持正直。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

摘要: tcpdump是Linux环境的抓包工具,可以使用此工具抓取指定host的所有网络包,在wareshark工具中进行查看。 tcpdump -i any host [IP 或域名] -w [文件名] // 注,-i 指定监听的网络接口(网卡) -i any 表示监听所有网卡; -w 指定存储的文件名 阅读全文

posted @ 2024-01-10 17:43 江城2211 阅读(505) 评论(0) 推荐(1)

摘要: -- 查询活跃会话 SELECT * FROM V$SESSIONS WHERE STATE='ACTIVE'; --查询已执行超过 2 秒的活动 SQL。 SELECT* FROM ( SELECT SESS_ID,SQL_TEXT,DATEDIFF(SS,LAST_RECV_TIME,SYSDA 阅读全文

posted @ 2023-06-15 20:48 江城2211 阅读(781) 评论(0) 推荐(0)

摘要: PostgreSQL select * from pg_settings; select version(), txid_current(), pg_backend_pid(), current_user, current_schema, current_timestamp; -- 查询所有会话信息 阅读全文

posted @ 2022-12-06 14:42 江城2211 阅读(599) 评论(0) 推荐(0)

摘要: 一般性的问题,采用 jcmd命令抓取进程的堆栈或内存快照分析即可(jcmd pid Thread.print | GC.heap_dump),但复杂问题可能需要获取方法调用时的上下文等更多信息,此时就需要更强大的工具协助分析。 Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load 阅读全文

posted @ 2022-12-06 14:18 江城2211 阅读(330) 评论(0) 推荐(0)

摘要: /* MySQL */ select * from information_schema.PROCESSLIST p ; select * from information_schema.INNODB_TRX it ; --未提交的事务 select * from performance_schem 阅读全文

posted @ 2021-12-31 14:16 江城2211 阅读(436) 评论(0) 推荐(0)

摘要: 对于支持多种数据库平台及各类字符集的通用产品,可变字符类型会是个未预知的坑,在此记录。取各种制约条件的最严约束如下: 1、varchar/nvarchar类型的最大长度不能超过1300(nvarchar在dm环境映射为varchar),如果需要更大空间请选择Clob/Text 2、数据表所有字段占用 阅读全文

posted @ 2021-08-11 07:40 江城2211 阅读(250) 评论(0) 推荐(0)

摘要: Eclipse Memory Analyzer 是一款功能强大的java内存快照的分析工具。 常见的分析方法,在此记录。 jcmd PID Thread.print pid-threadprint.logjcmd PID GC.heap_dump pid-heapdump.bin jcmd PID 阅读全文

posted @ 2021-03-07 18:09 江城2211 阅读(484) 评论(0) 推荐(0)

摘要: 1、查看Linux版本 [root@localhost ~]# cat /proc/version Linux version 3.10.0-862.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (R 阅读全文

posted @ 2020-07-30 20:46 江城2211 阅读(419) 评论(0) 推荐(0)

摘要: DB SQL Monitor v1.7.6 Designed by Wang Zhaoguan 工具说明 ------------------------------------------------------------------------------------ 从会话状态和等待事件的角度,了解数据库的运行情况,供DBA和开发人员分析优化... 阅读全文

posted @ 2016-03-24 19:29 江城2211 阅读(4853) 评论(0) 推荐(0)

摘要: 有时会考虑一件事情,如果在Oracle环境下出现了锁阻塞的情况,如何定位到SQL源头(通过session、lock、transaction等视图仅能定位到会话)?或许有人会想有没有可能通过AWR相关的数据库性能历史视图找到有用的信息呢?答案是否定的,因为AWR仓库中的历史性能数据都是收集的有性能问题的会话、语句、活动,而最初加锁的那个update语句执行速度非常快,往往根本达不到AWR收集的阀值,不被Oracle注意到。而Oracle注意到的都是被“它”给阻塞的那些会话。 是不是没方法,找到那个始作俑者?有的,只不过比较麻烦,有一个地方是始终会忠实记录DML活动-----日志(打开Oracle的补充日志) 阅读全文

posted @ 2016-01-18 17:48 江城2211 阅读(2580) 评论(0) 推荐(1)

摘要: cache(L1,L2,L3):1、延迟:0.5-15us2、带宽:20-60GB/s内存:1、延迟:30-100us2、带宽:2-12GB/s硬盘:一、SSD:1、延迟:10us-1ms2、带宽:50MB-2GB/s二、普通硬盘1、延迟:5-20ms2、带宽:50-200MB/s网卡:1、延迟:1 阅读全文

posted @ 2015-12-16 17:53 江城2211 阅读(249) 评论(0) 推荐(0)

摘要: 一招鲜,吃遍天:索引字段的选择性和顺序至关重要,实际分析优化过程中屡试不爽。 关注当前已有索引的情况,寻找索引的创建依据,监测索引的有效性。掌握索引相关的性能脚本、注意事项、案例。 阅读全文

posted @ 2015-06-27 14:21 江城2211 阅读(8550) 评论(2) 推荐(1)

摘要: 【问题描述】: 前段时间有一项目反馈,常用的审批功能有时的响应较慢,多个管理员功能不定期的出现客户端无响应的状况,并且管理员功能一旦出现卡死,也会影响到普通的业务用户致使很多用户无法操作。该系统为混合场景,管理员功能使用的CS客户端,业务用户使用的是WEB。 【环境信息】: 应用服务器:Window 阅读全文

posted @ 2015-06-24 17:55 江城2211 阅读(2837) 评论(2) 推荐(3)

摘要: sqlserver常用性能诊断脚本 dm_db_*:数据库和数据库对象 dm_exec_*:执行用户代码和关联的连接 dm_os_*:内存、锁定和时间安排 dm_tran_*:事务和隔离 dm_io_*:网络和磁盘的输入/输出 阅读全文

posted @ 2015-06-18 14:40 江城2211 阅读(1027) 评论(1) 推荐(2)

摘要: Oracle性能相关的诊断脚本,关注阻塞情况、会话的等待事件,定位稳定性问题的源头;找出最消耗资源的SQL,了解内存设置及实际使用情况,定位性能瓶颈,掌握v$session、v$sql等性能视图。 阅读全文

posted @ 2015-06-17 20:27 江城2211 阅读(2411) 评论(0) 推荐(1)

摘要: windbg简介 Windbg是在windows平台下,强大的用户态和内核态调试工具。相比较于Visual Studio,它是一个轻量级的调试工具,所谓轻量级指的是它的安装文件大小较小,但是其调试功能,却比VS更为强大。它的另外一个用途是可以用来分析dump数据。哈哈,这是我们最需要的,可以用来分析 阅读全文

posted @ 2015-06-12 13:55 江城2211 阅读(4208) 评论(1) 推荐(2)

2025年10月28日

摘要: 问题描述: Java后端的默认序列化方法: 当数值过大(如 1000000000000000000.00)或过小(如 0.0000000001)时,会默认使用科学计数法序列化(如 1E+18、1E-10) JavaScript 原生 Number 类型有安全范围(±9007199254740991) 阅读全文

posted @ 2025-10-28 14:37 江城2211 阅读(7) 评论(0) 推荐(0)

2025年10月13日

摘要: 事务的四大属性(ACID) Atomicity(原子性):一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被恢复到事务开始前的状态,就像这个事务从来没有执行过一样。 Consistency(一致性):在事务开始前、进行中、结束后,数据库的完整性 阅读全文

posted @ 2025-10-13 21:22 江城2211 阅读(15) 评论(0) 推荐(0)

2025年9月28日

摘要: 因产品存在支持多种数据库平台的需求,采用JPA方式可以有效屏蔽不同数据库的语法差异,尤其是分页查询场景。 但访问异构数据源时,需要基于数据库连接信息动态构造JPA上下文,基于大模型查询了几种实现并进行验证可行的方式如下: 核心办法是使用PersistenceProvider.createContai 阅读全文

posted @ 2025-09-28 14:33 江城2211 阅读(12) 评论(0) 推荐(0)

摘要: Q: 有了 https 为什么还需要接口加密? A:https 是通信加密,而接口的加密、校验,属于内容加密,HTTPS 加密的是传输过程中的数据,确保数据在客户端和服务器之间传输时不会被窃听或篡改。而接口加密是对接口内容的加密,即报文实体加密。 Q:用了 https 做通信加密,为什么本地抓包或者 阅读全文

posted @ 2025-09-28 14:15 江城2211 阅读(25) 评论(0) 推荐(0)

2025年9月10日

摘要: RSA加密算法,加解密、签名验签示例Demo: package com.example.demo; import javax.crypto.Cipher; import java.nio.charset.StandardCharsets; import java.security.*; import 阅读全文

posted @ 2025-09-10 20:50 江城2211 阅读(21) 评论(0) 推荐(0)

摘要: Java代码SM2算法加解密、签名验签的实现Demo: package com.example.demo; import org.bouncycastle.asn1.gm.GMNamedCurves; import org.bouncycastle.asn1.x9.X9ECParameters; i 阅读全文

posted @ 2025-09-10 20:37 江城2211 阅读(36) 评论(0) 推荐(0)

2025年1月24日

摘要: 看《Java深度调试技术》,偷懒拍照的方式记录一些JVM线程堆栈中的基础概念解读。 线程状态的解读: NEW 线程被创建但尚未启动时的状态,此时线程尚未调用 start() 方法。 RUNNABLE 从jvm角度看,线程处于正在运行的状态。在调用native本地代码时,由于jvm无法获取本地代码的内 阅读全文

posted @ 2025-01-24 13:52 江城2211 阅读(34) 评论(0) 推荐(0)

2025年1月23日

摘要: 一个使用kafka的Java项目,在Windows环境启动后不久出现进程崩溃的情况,反复验证偶发的能得到hs_err_pid.log致命错误日志,始终没有生成coredump。 通过错误日志确实看到了导致崩溃的线程堆栈跟kafka客户端有关,但栈顶显示当前在执行native本地代码,我们分别替换了k 阅读全文

posted @ 2025-01-23 11:32 江城2211 阅读(271) 评论(0) 推荐(0)

2024年9月7日

摘要: 问题描述: 存在视图依赖的数据表,DDL字段扩容时,不同数据库有特殊的限制要求。 例如,PostgreSQL不允许随便修改已被视图使用依赖的数据表字段,会报如下错误: 错误: 不能使用视图或规则改变一个字段的类型 详细:规则 _RETURN 在 视图 viewXXXXX倚赖于字段 "columnXX 阅读全文

posted @ 2024-09-07 14:57 江城2211 阅读(262) 评论(0) 推荐(0)

2024年9月5日

摘要: 问题描述: 之前有信创项目反馈了一个批量导入的性能问题,400条数据需要3分钟,5000条需要20分钟以上,系统初始需要导入的各类数据有上百万。 原因分析: 联系项目导入20~30条数据,并启用程序跟踪收集性能数据发现,有大量对字典表的SQL查询。 与功能开发同事沟通确认,该SQL是导入模板中有几个 阅读全文

posted @ 2024-09-05 17:33 江城2211 阅读(76) 评论(0) 推荐(0)

2024年8月29日

摘要: 在Garmin Connect APP或网页上面自己创建的路线(不是通过已经跑过或骑行的历史记录另存的线路),同步到设备(255)时提示不支持(无兼容设备),历史记录另存的路线如果进行了标注等修改,也会出现同样的无法同步问题。联系客服了解并从网上查阅资料,说是在Garmin Connect 网页版上 阅读全文

posted @ 2024-08-29 19:59 江城2211 阅读(2377) 评论(0) 推荐(0)

2024年8月7日

摘要: 问题背景: 系统在月底高峰期出现严重的整体性能问题,经分析应用的线程dump,发现大量线程在等待数据库请求返回或等待数据库连接,而从数据库层面跟踪,存在大量等待事件为磁盘IO的会话,通过windows资源管理器查看,发现磁盘IO出现明显的瓶颈(平均响应时间超长,队列严重)。 从分析结果和现象来说,问 阅读全文

posted @ 2024-08-07 16:09 江城2211 阅读(683) 评论(0) 推荐(0)

2024年7月30日

摘要: 产品或项目开发过程中,经常遇到一些存在上下级关系的树形结构,但在数据库中存储为二维表关系数据的情况。而前端树形控件又要求按照树形层级组织数据,这就存在一个平铺的关系数据转换为树形层级结构的典型问题。 表结构及二维数据示例(以id,parentid自关联为例): Create Table TreeDa 阅读全文

posted @ 2024-07-30 12:09 江城2211 阅读(84) 评论(0) 推荐(0)

2024年7月6日

摘要: Oracle create table TestTable as select lower(sys_guid()) AS guid, rownum as inc_id, trunc(dbms_random.value(0, 100)) as random_id, trunc(dbms_random. 阅读全文

posted @ 2024-07-06 15:45 江城2211 阅读(122) 评论(0) 推荐(0)

2024年6月22日

摘要: 百万级以上的大数据量的批量更新或删除,如果直接采用传统update、delete等DML,在高并发的生产系统有可能导致数据库宕机乃至触发数据库bug导致数据不一致等问题。 考虑了一下可行的解决方案: 方案一,只保留少量数据的删除场景,可以先将保留的数据查出并插入中间表,truncate原表然后再将中 阅读全文

posted @ 2024-06-22 16:53 江城2211 阅读(77) 评论(0) 推荐(0)

2024年5月31日

摘要: 使用工具进行批量反编译+差异对比,检查确认补丁变更D:\tmp\test\CodeDecom>CodeDecom.exe source D:\tmp\test\jarForder D:\tmp\test\codeForder 阅读全文

posted @ 2024-05-31 14:41 江城2211 阅读(182) 评论(0) 推荐(0)

2024年5月28日

摘要: 异常说明: 当Oracle客户端(应用)接收数据库服务器发送的数据时,它会从套接字中读取数据。如果在读取数据的过程中,套接字中没有更多的数据可供读取,那么Oracle客户端就会报告“没有更多数据从套接字读取”错误。 常见原因: 应用使用了连接池,当从连接池取得的connection失效或者超时的时候 阅读全文

posted @ 2024-05-28 14:57 江城2211 阅读(1810) 评论(0) 推荐(0)

2024年4月30日

摘要: 数据库 驱动类 JDBC连接 Oracle oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@//127.0.0.1:1521/Service_Name SQL Server com.microsoft.sqlserver.jdbc.SQLServe 阅读全文

posted @ 2024-04-30 11:09 江城2211 阅读(53) 评论(0) 推荐(0)

摘要: 配置对数据库的JDBC连接时,总是提示连接失败!也没有任何其他信息,查阅网上资料并实际验证,按如下步骤可以成功: 1、因为PowerDesigner是32位的程序,需要使用 x86-32位版本的JDK 2、配置PowerDesigner -》Tools -》General Options -》var 阅读全文

posted @ 2024-04-30 10:58 江城2211 阅读(141) 评论(0) 推荐(0)