- 博客(23)
- 收藏
- 关注
原创 MogDB cm_ctl stop报错python3:error while loading sha
cm_ctl stop关闭异常,报错python3: error while loading shared libraries: libpython3.7m.so.1.0。不能通过LD_LIBRARY_PATH 设置python3的环境变量,pssh脚本运行的时候会把这个环境变量清空,因为如果不清空,使用数据库的Lib库,会导致ssh不可用。1、在 /etc/ld.so.conf.d 目录下新建了一个 python3.conf 的文件,在这个文件里把 python3 的lib目录写进去。
2024-06-24 16:10:55
364
原创 数据压缩还能这么玩,国产数据库有救了!
如果3.0版本中有段页式压缩表,升级前请将段页式压缩表中的数据导入非压缩表进行备份,然后将段页式压缩表删除,升级完成后重新创建段页式压缩表,并将备份的数据导入新创建的段页式压缩表;opengauss数据库是以数据页面(Page)为单位进行压缩解压,本特性自openGauss 3.0.0版本开始引入,通过对数据页的透明页压缩和维护页面存储位置的方式,做到高压缩、高性能。表的压缩效果对用户透明。采用多数据页共享字典的方案,相比单表训练字典的方案,压缩字典可以随数据的变更自动演进,没有字典逐渐失效的问题。
2024-06-18 16:20:51
562
原创 Oracle异常掉电导致的ORA-600 [kfrValAcd30]故障处理
云和恩墨资深Oracle dba,专注于数据库运维、架构和行业发展,有12年左右的金融、保险、政府、地税、运营商等业务关键型系统的运维经验,曾担任公司异常恢复东区接口人,负责紧急异常恢复工作,技术二线专家。ASM的Active Change Directory(ACD)简单来说就相当于asm元数据重做记录,需要说明的是,每一个asm实例,都用有其自己的ACD目录,也就说,如果你是双节点的rac,那么就有84m的ACD 目录信息。如果acd的信息出现损坏,磁盘组将不能够被mount。手工mount磁盘组。
2024-04-28 09:32:03
378
原创 AIX7环境上一次艰难的Oracle打补丁经历
云和恩墨资深Oracle dba,专注于数据库运维、架构和行业发展,有12年左右的金融、保险、政府、地税、运营商等业务关键型系统的运维经验,曾担任公司异常恢复东区接口人,负责紧急异常恢复工作,技术二线专家。根据mos的建议,需要安装补丁27212837,不过由于也需要调用perl,也会出现/usr/opt/perl5/lib/5.28.1/aix-thread-multi/POSIX.pm line 185.的报错,出现了一个死循环,那么需要首先解决perl的问题。出师未捷,做relink,失败。
2024-04-26 18:21:41
965
5
原创 拨云见日:揭开ORA-00600:[4193]的神秘面纱
云和恩墨资深Oracle dba,专注于数据库运维、架构和行业发展,有12年左右的金融、保险、政府、地税、运营商等业务关键型系统的运维经验,曾担任公司异常恢复东区接口人,负责紧急异常恢复工作,技术二线专家。将这个块从asm到本地,发现无法拷贝。通过上面的分析,发现通过Tx table中的uba地址,定位到最新使用的undo block地址,这个块根本不存在,多次尝试重建undo没作用。这里的XID,上面的第七行,表示当前undo block所记录的事务xid,对应V$TRANSACTION.XID信息。
2024-04-25 09:43:13
554
1
原创 OGG extract进程占据大量虚拟内存导致服务器内存异常增长分析
VSZ是虚拟内存大小,这是linux给进程的内存大小,但是这并不一定意味着这个进程使用了所有的内存。因此,VSZ大小通常不是一个进程正在使用多少内存的精确度量,而是一个进程在将其所有函数和库装入物理内存时可以使用的最大内存量和指示。EXTRACT启动时,会分配CACHESIZE大小的VM来缓存事务数据能够用来缓存事务数据的VM的大小,为PROCESS VM AVAIL FROM OS。|CACHESIZE|EXTRACT进程可用的用于缓存未提交的事务数据的初始化分配的VM容量。
2024-04-24 19:20:29
1028
2
原创 【全网首发】Mogdb 5.0.6新特性:CM双网卡生产落地方案
支持双网段后,某个节点在发生单网段故障后仍然能保证正常工作,提供网段级故障的高可用管理能力,保驾了数据库底座的稳定运行。云和恩墨资深Oracle dba,专注于数据库运维、架构和行业发展,有12年左右的金融、保险、政府、地税、运营商等业务关键型系统的运维经验,曾担任公司异常恢复东区接口人,负责紧急异常恢复工作,技术二线专家。如图为完整架构方案,MogDB支持主备双机房的方案,A和B网络物理隔离,分别联通独立的A和B交换机,两者不互通,并且在A和B上挂载两个vip,对应用服务器供服务。
2024-04-23 22:43:38
1944
1
原创 Oracle特殊恢复:异常掉电导致的ORA-600 [kfrValAcd30]故障处理
作者介绍:云和恩墨资深Oracle dba,专注于数据库运维、架构和行业发展,有12年左右的金融、保险、政府、地税、运营商等业务关键型系统的运维经验,曾担任公司异常恢复东区接口人,负责紧急异常恢复工作,技术二线专家。ASM的Active Change Directory(ACD)简单来说就相当于asm元数据重做记录,需要说明的是,每一个asm实例,都用有其自己的ACD目录,也就说,如果你是双节点的rac,那么就有84m的ACD 目录信息。如果acd的信息出现损坏,磁盘组将不能够被mount。
2024-04-23 10:18:52
582
2
原创 太奇怪了!99%的人没见过的Oracle故障:网络恢复后,集群的监听和vip无法启动
由于监听资源是crs的Oragent_grid负责,查看日志报ora.ons stop后,监听状态异常。ioctl函数是文件结构中的一个属性分量,就是说如果你的驱动程序提供了对ioctl的支持,用户就可以在用户程序中使用ioctl函数来控制设备的I/O通道。既然是报ora.net1.network不正常,我们就来看下orarootagent_root的日志。中描述,如果在不同的网络接口上找到 ioctl(),则检查操作可能会失败,跟此次故障100%匹配。网络恢复后,节点1的监听和vip无法启动。
2024-04-22 22:52:09
727
1
原创 入职外包仅两天,就利用ASP技能搞定核心问题,女上司直呼:提前转正
GS_ASP的数据来源 为选取g_instance.stat_cxt.active_sess_hist_arrary->active_sess_hist_info 里的部分采样并持久化到磁 盘中。视图DBE_PERF.local_active_session的实现是通过调用函数get_local_active_ session()获取g_instance.stat_cxt.active_sess_hist_arrary->active_sess_hist_info里的采样数据数据生成 视图。
2024-04-21 22:39:24
334
1
原创 一线实战,一次底层超融合故障导致的Oracle异常恢复
数据库宕机之后,现场工程师开始用rman备份恢复数据库,当数据库alert日志提示控制文件有大量坏块。发现访问14号回滚段后出现故障,_corrupted_rollback_segments来屏蔽回滚段。然后对系统进行validate校验,发现两个对象有坏块,还好不是业务数据,truncate搞定。重建控制文件,并且必须确保redo都recover完成后再resetlogs。查看x$kcvfh.afs,发现都为0,不需要介质恢复。并且dbv未发现物理坏块,都是逻辑坏块,影响不大,可控。
2024-04-21 08:47:12
760
原创 刚刚下岗的Oracle DBA学了这个国产数据库技能后,下午就上岗了
asp_flush_rate 指定哪些内存中的样本数据会被刷盘记录到GS_ASP表中,判断时会计算LOCAL_ACTIVE_SESSION中记录的sampleid字段值,其中 sampleid%asp_flush_rate == 0的记录会被标志为need_flush_sample=true,这些记录都会被持久化保存(在内核函数Asp::SubAspWorker中定义)。MMON负责执行与AWR相关的任务。asp_retention_days 指定在GS_ASP中保留的数据的时限,默认为2天,最多7天。
2024-04-20 22:53:47
707
原创 Mogdb 5.0新特性:SQL PATCH绑定执行计划
当前,除DML语句之外,其他SQL语句(如CREATE TABLE等)的Unique SQL ID是对语句文本直接哈希生成的,所以对于此类语句,SQL PATCH对大小写、空格、换行等敏感,即不同的文本的语句,即使语义相对,仍然需要对应不同的SQL PATCH。熟悉Oracle的dba都知道,生产系统出现性能问题时,往往是SQL走错了执行计划,紧急情况下,无法及时修改应用代码,dba可以采用多种方式针对于某类SQL进行执行计划绑定,比如SQL Profile、SPM、SQL Plan Base、等等。
2024-04-19 09:27:05
1005
1
原创 Centos 7部署sysbench测试Opengauss/MogDB性能
操作系统版本:Red Hat Enterprise Linux Server release 7.9 (Maipo)sysbench手工下载: https://github.com/akopytov/sysbench。原因在于python版本,环境版本是3.8, 而yum要求的版本是2.x。数据库版本:MogDB 5.0.3。2、下载sysbench和dep。2、生成config.yaml。3、源码编译sysbench。安装sysbench。sysbench测试。4、混合读写场景测试。
2024-04-19 09:21:39
400
1
原创 一线实战:国产数据库Mogdb双网卡同步最佳实践
作者介绍:云和恩墨资深Oracle dba,有12年左右的金融、保险、政府、地税、运营商等业务关键型系统的运维经验,曾担任公司异常恢复东区接口人,负责紧急异常恢复工作,技术二线专家。例如,FIRST 2 (node1,node2)表示选择node1作为同步复制的第一备机名称,node1作为同步复制的第二备机名称。配置replconninfoN,主备云因为是单网,只需要配置一个流复制通道,线控站有A\B网,因此需要配置两个流复制通道。:在高负载或网络不稳定的情况下,双网卡配置提供了更高的可靠性和稳定性。
2024-04-15 15:34:57
1281
1
原创 史上最全:Kubernetes 一主两从集群最佳实践
需要注意的是,CRI和CNI 是每个Kubernetes集群必需部署的基础组件,而CSI 则根据需求而定,通常在运行有状态服务时才会用到。当集群中出现尚未分配给任何节点的新Pod时,kube-scheduler 会基于节点的当前负载、应用的高可用性、性能要求和数据亲和性等因素来决定最合适的节点。通过以上步骤,我们成功地配置并初始化了一个Kubernetes集群,从基本的系统设置到集群的部署与网络配置,每一步都至关重要。在本篇技术文章中,我将分享在Kubernetes集群中进行配置和初始化的完整过程。
2024-04-15 09:38:26
1270
1
原创 担心码农“rm -rf”删库跑路?运维必须掌握这个基本技能
相比extundelete,可以做到基于时间点、inode、指定文件恢复,全量恢复,恢复覆盖的文件。还可以恢复硬盘的第一个扇区被意外覆盖的故障,比如使用dd前100MB覆盖了磁盘,MBR 和包含的分区表也已被破坏,我们也可以通过ext4magic恢复。需要另一个ext3/4文件系统ins中有足够的可用磁盘空间(例如:/mnt/FREE_SPACE)来写入恢复的文件(建议是已删除文件的150%)3、建议在恢复之前,请先将日志的副本创建到其他文件系统,有12年左右的金融、保险、政府、地税、
2024-04-12 09:45:37
603
原创 牛刀小试:PostgreSQL高可用之Patroni + etcd
作者介绍:云和恩墨资深Oracle dba,有12年左右的金融、保险、政府、地税、运营商等业务关键型系统的运维经验,曾担任公司异常恢复东区接口人,负责紧急异常恢复工作,技术二线专家。如果主节点出现问题,Patroni会自动进行故障转移,将从节点提升为新的主节点,并在etcd中更新状态。Patroni + etcd 架构提供了一个强大的解决方案,用于维护PostgreSQL数据库的高可用性,它适合于需要确保持续运行的关键业务应用。应用程序使用etcd中的信息来发现当前的主数据库实例,并连接到它进行读写操作。
2024-04-12 09:28:16
1272
原创 循序渐进|Mogdb性能增强之并行索引扫描
MogDB通过将查询任务分解为多个并行的子任务,同时扫描多个索引,可以避免扫描全部数据文件,提高查询效率,加快数据访问速度。indexonlyscan:在进行表扫描时,当目标列都包含在索引中时,可以仅扫描索引数据,减少需要扫描的文件,同时可根据约束条件来对确定范围的索引数据进行并行扫描。indexscan:在对数据表进行范围查询时,可以通过索引定位到起始和结束位置,先扫描索引数据,再根据扫描结果对数据文件进行并行扫描,提升查询效率。5.0版本的并行索引扫描支持了分区表,提升了部分场景的性能。
2024-04-09 22:48:06
368
原创 刺激! 浅谈3*2*2*3种随机方法的Oracle异常恢复案例
2.itl有活动事务,回查undo段头发现事务已经提交或者回滚,那么需要做块清除来确定commit scn,如果query scn
2024-04-08 13:44:36
660
原创 99%的人不知道的功能丨MogDB 数据库特性之动态数据脱敏机制
当管理员指定待脱敏对象和定制数据脱敏策略后,用户所查询的数据库资源如果关联到对应的脱敏策略时,则会根据用户身份和脱敏策略进行数据脱敏,从而限制非授权用户对隐私数据的访问。不允许多个脱敏策略对同一个资源标签进行脱敏,除以下脱敏场景外:使用FILTER指定策略生效的用户场景,包含- 相同资源标签的脱敏策略间FILTER生效场景无交集,此时可以根据用户场景明确辨别资源标签被哪种策略脱敏。|randommasking |'hello word' 将会被脱敏为 'ad5f5ghdf5',将文本按字符随机脱敏。
2024-04-08 10:51:22
1285
原创 循序渐进丨MogDB 对 Oracle DBLink兼容性增强
本特性支持Oracle DBLink语法,可以使用@符号访问Oracle数据库中的表。5、创建MogDB数据库到Oracle数据库的DBLink连接。7、通过DBLink在MogDB数据库中查询Oracle表。赋予用户sysadmin权限,以用户名test为例。以数据库postgres,端口号26000为例。4、以test用户登录MogDB数据库。已安装oracle_fdw插件。3、用户创建用户映射密钥文件。已安装MogDB数据库。1、登录MogDB数据库。2、Oracle 环境。1、MogDB 环境。
2024-04-08 09:57:34
242
原创 出乎意料,未来90%的数据恢复工作即将消亡,原因竟然是。
闪回truncate基于回收站机制,通过还原回收站中记录的表的物理文件,实现已truncate表的恢复。truncate table 是一种快速清空表内数据的一种方式,与delete方式不同,truncate只产生非常少的redo和 undo,就实现了清空表数据并降低表HWM的功能。一旦误操作,在没有备份的情况下,又对表进行了更新操作,那么数据很有可能无法找回。从上面几个方法可以可以看出,Oracle的truncate恢复异常的繁琐,并且应用没停止的情况下,数据被覆盖后,很难被恢复,大大增加了坐牢的风险。
2024-04-08 09:34:05
1277
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人