熊军(老熊) 云和恩墨西区总经理 Oracle ACED,ACOUG核心会员 无响应故障现象分析 ---- Oracle数据库无响应故障,简单地讲就是数据库实例不能响应客户端发起的请求,客户端提交一个SQL后,就一直处于等待数据库实例返回结果的状态。更严重的现象是客户端根本不能连接到数据库,发起一个连接请求后,一直处于等待状态。 无响应的故障现象一般有以下几种: 1.Oracle的进程在等待某个资源或事件 这种现象一般可以从V$SESSION_WAT、V$LATCH、V$LATCHHOLDER等动态视
随着大型模型的参数量从十亿量级跃升至万亿级别,其训练规模的急剧扩张不仅引发了集群成本的显著上涨,还对系统稳定性构成了挑战,尤其是机器故障的频发成为不可忽视的问题。对于大规模分布式训练任务而言,可观测性能力成为了排查故障、优化性能的关键所在。所以从事大型模型训练领域的技术人,都会不可避免地面临以下挑战:
正如题目所述,在自动化测试场景下,通过 systemd 无法启动 MySQL。连续 kill -9 结束实例进程,检测 mysqld 在退出后是否会被正确拉起。
以下对 DBLE 3.21.10.0 版本的 Release Notes 进行详细解读。
爱可生 dble 项目测试组成员,负责 dble 相关测试工作,拥有多年数据库中间件测试经验,擅长故障排查及性能调优。
崔华,网名 dbsnake Oracle ACE Director,ACOUG 核心专家 编辑手记:感谢崔华授权我们独家转载其精品文章,也欢迎大家向“Oracle”社区投稿。 我们都知道在 Oracle 数据库里是“读不阻塞写,写不阻塞读”,那么是否可以认为在正常情况下,select 操作是怎样都能执行,始终不会被 hang 住的呢?注意这里提到的是正常情况下,不包括那些由于 latch 被 hold 住、或者 bug 等相关异常导致的 select 操作 hang 住的情况。 答案是:不可以这样认为
最近在导出schema级别的数据时被hang住,不得不停止当前的导出作业,如果你有类似的问题,请继续往下看。 1、问题描述 导出整个schema时数据库被hang住,如下所示 符号">"是由SecureCRT设定的每300秒发送一次 oracle@Dev-DB-04:~> expdp goex_admin/xxx directory=db_dump_dir dumpfile=gobo2.dmp logfile=gobo2.log schemas=goex_admin Export: Release 10.2.0.4.0 - 64bit Production on Thursday, 23 May, 2013 9:30:52 Copyright (c) 2003, 2007, Oracle. All rights reserved. Connected to: Oracle Database 10g Release 10.2.0.4.0 - 64bit Production Starting "GOEX_ADMIN"."SYS_EXPORT_SCHEMA_01": goex_admin/******** directory=db_dump_dir dumpfile=gobo2.dmp logfile=gobo2.log schemas=goex_admin >>>> -->查询超长时间的操作,没有任何结果,也就是说datapump压根啥也没有做 goex_admin@GOBO2> @long_ops no rows selected -->查询job产生的对象的表,表存在 goex_admin@GOBO2> @datapump_master_tb STATUS OBJECT_ID OBJECT_TYPE OWNER_OBJECT ------- ---------- ------------------- -------------------------------------------------- VALID 315838 TABLE GOEX_ADMIN.SYS_EXPORT_SCHEMA_01 2、问题解决 参数fixed_date引起数据库导入导出被hang住 [ID 563171.1] goex_admin@GOBO2> show parameter fixed NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ fixed_date string 20130506 16:00:00 -- Author : Robinson -- Blog : http://blog.csdn.net/robinson_0612 goex_admin@GOBO2> alter system set fixed_date=none; System altered. -->参数fixed_date被移除后,导出正常 oracle@Dev-DB-04:~> expdp goex_admin/xxx directory=db_dump_dir dumpfile=gobo2.dmp logfile=gobo2.log schemas=goex_admin Export: Release 10.2.0.4.0 - 64bit Production on Thursday, 23 May, 2013 9:30:52 Copyright (c) 2003, 2007, Oracle. All rights reserved. Connected to: Oracle Database 10g Release 10.2.0.4.0 - 64bit Production Starting "GOEX_ADMIN"."SYS_EXPORT_SCHEMA_01": goex_admin/******** directory=db_dump_dir dumpfile=gobo2.dmp logfile=gobo2.log schemas=goex_admin >>>> Esti
今天调研基于Web的SSH的应用程序的时候无意间看到了一个Web Console的工具,虽然没有满足我的最终需求,但还是试了一下,可以当作一个受限的基于Web远程执行命令工具使用。
日常Bug排查系列都是一些简单Bug排查,笔者将在这里介绍一些排查Bug的简单技巧,同时顺便积累素材^_^。
SQL> create table tbl_ora_60 ( id number(5), name varchar2(5) ); SQL> insert into tbl_ora_60 values(1, 'a'); 1 row created. SQL> insert into tbl_ora_60 values(2, 'b'); 1 row created. SQL> commit; Commit complete. SQL> select * from tbl_ora_60; ID NAME ---------- ----- 1 a 2 b 实验开始 Session1: SQL> update tbl_ora_60 set name='c' where id=1; 1 row updated. Session2: SQL> update tbl_ora_60 set name='d' where id=2; 1 row updated. Session1: SQL> update tbl_ora_60 set name='e' where id=2; hang住 Session2: SQL> update tbl_ora_60 set name='f' where id=1; hang住 此时,Session1: SQL> update tbl_ora_60 set name='e' where id=2; update tbl_ora_60 set name='e' where id=2 * ERROR at line 1: ORA-00060: deadlock detected while waiting for resource 说明: Session1 Session2 获取id=1的资源锁 获取id=2的资源锁 等待id=2的资源锁 等待id=1的资源锁 id=2的SQL报ORA-60,自动rollback 1、因为id=2的资源锁是Session2先获取的,因此Oracle会自动rollback产生死锁时后需要资源锁的SQL,Session1的更新id=2操作被rollback。 2、从中可以发现,真正报ORA-60错误的SQL获取的资源(此例中id=2),并不是触发死锁产生的那个资源(此例中id=1),此例用的是同一个表的不同行,对不同表的相同行也如此,也可以解释之前夜维出现ORA-60时显示的SQL之间表是不同的原因,因为夜维执行的某个表更新与当前应用执行的某个表更新之间存在互锁的情况,因此可能导致夜维SQL报ORA-60或应用报ORA-60的错误。 此时,Session1: SQL> select * from tbl_ora_60; ID NAME ---------- ----- 1 c 2 b 说明:此处可以证明产生报错后,Oracle自动执行的rollback操作是基于单条SQL,不是整个事务的,所以这里只有id=2的记录被rollback,id=1的执行仍正常。 Session2: SQL> update tbl_ora_60 set name='f' where id=1; hang住 继续,Session1: SQL> commit; Commit complete. Session2: SQL> update tbl_ora_60 set name='f' where id=1; 1 row updated. Session1: SQL> select * from tbl_ora_60; ID NAME ---------- ----- 1 c 2 b 只有id=1更新成功。 Session2: SQL> select * from tbl_ora_60; ID NAME ---------- ----- 1 f 2 d id=1和id=2都更新成功,但未COMMIT。 SQL> commit; Commit complete. Sess
备注:研究方向+地点+学校/公司+昵称,更快通过申请,长按加细分领域技术交流群,目前有细分领域:图像分割、图像目标检测、论文写作、车道检测、模型优化、目标跟踪、SLAM、点云处理(分割检测)、深度学习。
库存可能会修改,每次修改都要去更新这个缓存数据; 每次库存的数据,在缓存中一旦过期,或者是被清理掉了,前端的nginx服务都会发送请求给库存服务,去获取相应的数据
数据的世界无奇不有,常常会遇到一些超出常识之外的故障的发生。这就要求广大的DBA要深入了解数据库的内部机制,面对一些奇葩的故障或者问题能够拨开迷雾找到真相。今天我们一起来盘点一下Oracle数据库中,
最近PL/SQL包在编译时被hang住,起初以为是所依赖的对象被锁住。结果出乎意料之外。下面直接看代码演示。
在使用shutdown immediate关闭数据库时hang住,查看alert 日志,遭遇了SHUTDOWN: Active processes prevent shutdown operation。也即是说有一些活动进程阻止了当前的shutdown操作。咦,数据库是测试数据库啥也没有干,也没有配置db console,还有活动进程阻止呢?
select * from v$session_Wait order by event desc
生活就像一盒巧克力,你永远不知道下一颗是什么味道。 --《阿甘正传》 在DBA的世界里,数据库的新特性就是这样一盒巧克力,可能是惊喜也可能是坑。毋庸置疑,新特性总是伴随着新功能而来,然而在企业最核心的数据资产面前,某些新功能的出现所带来的好处,远远不及其对于性能和稳定性带来的危害。因此我们常常会选择禁用一些新特性,今天要分享的DRM就属于其中一个。 为什么DRM通常会被列入禁用的名单,今天我通过一个真实案例来认识DRM可能会导致的数据库故障。 什么是DRM 在Oracle 10g版本中,开始提出了DRM特性
某头部金融机构采用MongoDB存储重要的金融数据,数据量较大,数据规模约2000亿左右,读写流量较高,峰值突破百万级/每秒。本文分享该千亿级高并发MongoDB集群的踩坑经验及性能优化实践,通过本文
http://doc.dpdk.org/guides/prog_guide/mbuf_lib.html
现象:系统hang住,可以ping通,但ssh无响应 在导入数据的时候,服务器突然无反应,连接不上,基本上就判定死掉了,重启服务器后查看日志如下: Mar 26 08:13:01 localhost kernel: INFO: task flush-8:0:26079 blocked for more than 120 seconds. Mar 26 08:13:01 localhost kernel: Tainted: P --------------- 2.6.32-431.el6.x86_64 #1
2、通过dba_jobs_running和dba_scheduler_running_jobs数据字典确定了该job调用方式为Scheduler;
这篇文章继续聊聊 EliteDesk 800G6 SFF 作为家用存储服务器的折腾过程。
KIND 是我很喜欢也一直在参与贡献的 Kubernetes SIG 子项目,本周 KIND 发布了 v0.9 版本,距离上次 v0.8 版本已过去了 4 个多月,在此期间,我们做了很多的优化和改进。下面我来具体介绍下:
在一个数据为王时代,数据安全视为一家企业命根子,因此如何保障企业数据安全尤为重要。本文主要从数据库容灾方案视角,基于当前客户业务并结合技术&产品,制定最佳容灾方案。主要从以下三个方面来介绍:
Tokio[1] 的 task(一个Future) 里如果使用了阻塞调用, 例如 std::sync::Mutex, 会阻塞当前的 tokio-worker 线程, 这个 worker 无法再执行其他 task. 所以代码里如果不可避免的有(少量的)阻塞调用, 就要为 runtime 启动更多的 worker 线程, 保证存在没被阻塞的 worker 来执行待调度的 task, 以避免整个tokio runtime 完全 hang 住(有 task 但没 worker 运行它).
作为一名混迹数据库江湖十几年的老DBA,当你对关系型数据库的了解越来越深入时,你会发现,Oracle数据库真的是强大到令人发紫! Oracle数据库的强大,不仅体现在其对ACID的巧妙实现,其对高并发的完美支持,更重要的是他的可管理性,包括可度量、可回溯,以及出现问题后的问题核查接口和问题检查方法论,真是强大到令人发紫,这是其他关系型数据库短期内还无法超越的。 中亦科技小y(黄远邦) 问题引入 电话响了,是某银行一位熟悉的资深DBA的来电。 “小y,现在应用连接数据库会hang住,sysdba登陆也会han
TensorFlow Serving服务在Kubernetes集群中的部署方案,如果是从零开始建设,那么可以通过Kubernetes原生的Service+KubeDNS实现服务的注册与发现,并通过对接LVS集群进行负载均衡。因此我们在TaaS中开发了Kube2LVS模块,负责对TensorFlow Serving服务进行ListAndWatch,实现TensorFlow Serving Service Info动态reload到LVS config中。
若系统不是严格要求缓存/数据库必须一致性,缓存可以稍微和数据库偶尔不一致,最好不要做双写。 读请求和写请求串行化,串到一个内存队列里去,这样就可以保证一定不会出现不一致。 串行化后,就会导致系统吞吐量骤降,就需要比正常情况下多几倍的机器去支撑线上环境请求。
Redis是企业级系统高并发、高可用架构中非常重要的一个环节。Redis主要解决了关系型数据库并发量低的问题,有助于缓解关系型数据库在高并发场景下的压力,提高系统的吞吐量(具体Redis是如何提高系统的性能、吞吐量,后面会专门讲)。
某用户A反馈CDB实例读业务数据库没有响应,在控制台界面看到ro节点被剔除,剔除之前数据库监控上面cpu负载正常,活跃线程数出现大量的堆积;提单后,平台紧急介入,观察到ro节点出现大量的waiting for table metadata lock的报错。
通过把jbd2不调度来实现,方式是把他和一个rt进程绑到一个cpu上。README该脚本利用ext4的日志功能模拟一个io hang的场景在使用该脚本前,请确保:1.机器上有盘是挂载为ext4的,可通过 mount | grep ext4 命令查看确认2.挂载点的ext4打开了日志功能,可通过 dumpe2fs /dev/vda1(这里是挂载为ext4的盘,上面mount命令可以看到)| grep features | grep has_journal 命令查看确认3./proc/sys/kernel/hu
Notes:发现JOB运行显示停留在2天前21/05/10 06:08分,查看JOB调用存储过程中存在DBLINK。
墨墨导读:在Oracle 11g中,大量的登录失败可能会导致library cache lock;或者大量的使用同一用户登录且登录失败,导致用户登录hang的问题,本文记录整个分析、处理过程。
p0就是上一篇波哥说的那个ETCD扩容导致整个业务不可用,我在产房门口坐地上处理的那次。
注: 今天看到的一篇讲hashMap,hashTable,concurrentHashMap很透彻的一篇文章, 感谢原作者的分享. 原文地址: http://blog.csdn.net/zhangerqing/article/details/8193118 Java集合类是个非常重要的知识点,HashMap、HashTable、ConcurrentHashMap等算是集合类中的重点,可谓“重中之重”,首先来看个问题,如面试官问你:HashMap和HashTable有什么区别,一个比较简单的回答是:
现在nginx + fpm 基本成为主流的配置,其中我们比较关注的是pm.max_chindren的配置
某客户生产系统核心库在2019-08-21 23:50:00左右出现了业务告警,应用无法连接的情况。
你只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题?
作者 | 张乐奕:Oracle ACE 总监,ACOUG (中国 Oracle 用户组)联合发起人。Oracle 数据库高可用解决方案与 Exadata 一体机专家。长于数据库故障诊断,性能调优。作为多家知名论坛版主,热衷社区技术分享,同时也是 Exadata 用户组的发起人,组织策划并作为技术分享者的活动已超过百场。
因为本地的服务器硬件出现故障,导致一台 Windows 系统的开发环境挂了,且无法短时间内恢复状态。
在使用vim的时候,如果打开的小文件,没啥问题,如果打开的超大类型的文件,那么就会引发巨大的风险,轻则内存使用爆炸,重则引发操作系统oom。
注:OCP-052最新题库完整详细解答版请联系小麦苗私聊。解题不易,请大家尊重原创。
主备流复制,是PostgreSQL最常用、最简单的一种高可用、读写分离的形式,类似于Oracle的ADG,主库用于读写,备库可以只读。
当清理进程或在监听注册时,PMON进程占用CPU较高资源的主要原因可能是某个BUG。
上回书(Android架构纵横谈之——软件自愈能力 (2))说到Android中生死与共的Zygote和SystemServer,今回书我们讲SystemServer的watchdog,也为软件架构自愈系列的终结篇。
前面的文章,我们分析了压测的时机,压测的指标,那么这次呢,我们来看下,我们这些压测的指标,常见的都需要性能压测中观测点,有了对指标的梳理 ,我们才有重点的关注点,下面,我列举一些常见的指标。
一般来说,我们过滤Kernel-PnP、Disk日志就能看到与控制台挂载、卸载云盘失败相关的日志了
docker安装新的ca证书后无法正常启动, 表现为/sbin/iptables --wait -t filter -N DOCKER-ISOLATION-STAGE-2 hang住, 日志有报错 xtables contention detected while running ..
我们知道数据库创建索引可能会锁住创建索引的表,并且用该表上的一次扫描来执行整个索引的构建,这样在创建索引时会影响在线业务,非常大的表创建索引可能会需要几个小时,这样阻塞业务是不被允许的。商业数据库一般都提供在线创建索引的能力,PostgreSQL作为开源数据库,也提供了这样的功能。我们在CREATE INDEX命令中新增CONCURRENTLY选项来实现索引的在线创建。
领取专属 10元无门槛券
手把手带您无忧上云