Oracle 数据库安全性评估工具 (DBSAT) 小试
Oracle 数据库安全性评估工具Oracle Database Security Assessment Tool (DBSAT) 可提供专业建议,助您降低 Oracle 数据库的安全风险或漏洞威胁。使用 DBSAT,您可以通过数据库当前状态评估(包括配置)和敏感数据发现等功能,全面洞察数据库的安全和合规态势。DBSAT区分 Oracle on-premises 数据库、自治数据库(共享和专用)和 DBCS,根据数据库目标类型,DBSAT 执行不同的检查项
MySQL8 ‘show engine innodb status’ 显示 “Total large memory allocated 0”
MySQL 中也有像oracle v$sysstat简化的实时监控InnoDB表内部计数器, MySQL 8.0.31 最新版有310多个计数器, 使用show engine innodb status可以查看,但可读性并不好,有些版本显示内存总扩展为0错误。这个问题影响>= 8.0.27.
Troubleshooting Oracle 19c RAC ORA-29770 with LMD hang, LMHB terminating the instance
前段时间一个oracle 19c RAC 1个节点异常重启,日志显示是lmd进程hang 丢失heartbaet 超过70s, Lmhb进程重启了实例, 操作系统资源空闲,从lmhb trace中确实lmd在做free memory的操作。
Linux message show “systemd-logind: Failed to start user slice xx, The maximum number of pending replies per connection has been reached”
最近操作系统的问题有点多,上周有套Oracle数据库RAC部分节点的日志在频繁输出“systemd-logind: Failed to start user slice user-1002.slice, ignoring: The maximum number of pending replies per connection has been reached (org.freedesktop.DBus.Error.LimitsExceeded)” 信息,找我协助分析一下。
Exadata 故障3例:ORA-27302: failure occurred at: skgxpcnclrpc, 内存耗尽,Cellserver disk error
上周遇到几例Oracle Exadata Machine上的故障,简单记录一下问题现象,涉及db 实例重启失败报措OS资源相关skgxpcnclrpc, 与内存耗尽后进程系统失败,IO hang/error , 及cell 存储节点坏盘日志的输出。
How to diag High Memory Utilization on HP-UX ? (内存使用高)
ile cache用于缓存文件数据的最小和最大内存数量由可调的内核参数filecache_min(5)和filecache_max(5)控制。参数filecache_min指定的部分内存专门用于加速文件I/O活动。内存不能用于任何其他目的,即使它不需要缓存文件数据。参数filecache_max指定filecache的最大大小。
Troubleshooting Oracle RAC node OS shutdown (‘crsctl stop crs -f’) cause db instance stop on another node
ORACLE 2-NODES RAC只关闭了node1上的db instace,当然此时业务不受影响,node2上的实例正常依旧可以对外提供服务, 1小时后OS组准备就绪,在节点1关闭操作系统,同步收到了业务无法访问,查看node2 db实例已自动shutdown, 其它资源正常,手动立即起动db实例2恢复业务,刺激,为什么停实例1 CRS会触发停实例2 的db instance?
Troubleshooting Oracle 19c sessions hang wait “enq: SS – contention” and “DFS lock handle” event
背景是了解到当晚B库的节点1有大量的数据加载操作。实例2 FG 并行查询Sort segment allocations空间紧张,通知所有实例CIC 等待DFS LOCK HANDLE, 其它会话等它完成 等ENQ SS, 而实例1一直未答复sort segment清理完成。 因为 Sort Segments cleanup是后台进程SMON责任,实例1 DBW似乎在等SMON或DBW很忙未完成,TEMP表空间已大到1.5TB,
Index Rebuild in Postgresql vs Oracle
在关系型数据库中,索引是SQL查询性能优化的常用技术,mysql可能不会创建太大的数据库,但是pg和oracle表达到100G或TB以上时,慢查询可能会比较明显,需要考虑创建适当的索引,但随着时间的推移,索引可能需要一些维护来保持性能. 通常当涉及到表时更新时,Oracle管理UNDO的方式和PostgreSQL中的MVCC工作方式略有不同,然而索引仍然可能碎片化,因此需要重新构建。
12cR2 ASM start fail when using multiple private interconnects, HAIP issue
Oracle从11.2.0.2开始引入了一个新特性网络冗余技术HAIP。HAIP的目的用来代替操作系统级别的网卡绑定以实现Active-Active的模式进行数据传输。Oracle HAIP 支持多个私网,之前通常使用OS层的网卡绑定,但Oracle一直在希望使用自己的技术而不依赖其他,但HAIP存在较多bug,个人还是比较推荐OS bond网卡,这里简单记录一个案例,当使用2个HAIP网卡时,节点间HAIP 1缺失并且交叉在两个网卡上的,导致ASM无法启动。
PostgreSQL explain解析(一): buffers
通过扩展EXPLAIN添加值来描述postgresql数据库中SQL的执行计划每个操作读/写的数据,需要使用ANALYZE参数,从Postgres 13开始,它可以额外报告planner的缓冲区使用情况。默认情况下,BUFFERS是关闭的。在更多的情况下,使用BUFFERS将极大地帮助我们理解内部发生了什么
RMAN Fails With RMAN-20021: Database Not Set On Physical Standby
前段时间一套11.2.0.4环境standby db因为password file问题与primary db产生了一个月的Archivelog GAP,修复密码文件后Standby已同步跟上Primary db ,但是原备份软件在Standby上的备份任务从那天起一直失败报错RMAN-20021
2022年年终总结
Anbob建站跨进第14年年头,习惯性在次年春节前前总结一年的经历,这一年都很难, 大疫三年,时间也不短,当家里的小孩儿都不再唱雇佣者,听我说谢谢你变成尬舞,临近年末宣布疫情新入新阶段,但也无奈有些人可能无法熬过这个春节,因为疫情影响实在太大,“二舅”可能都没冶好的矫情,在不断“续杯”疫情防控封小区囤菜打回现实,放开后报复性消费击倒了“海克斯科技”的冷静。
Oracle 12c后的安全增强查询sys.user$ ORA-01031
Oracle 12c后的安全增强可能会导致运维中出现些差异, 如有时需要非sys用户查询sys的user$、link$等基表,这些表是因为存有password hash值,在之前一些安全部门查询是否有弱密码时喜欢采集user$,之前授权select any dictionary系统权限或dba role可以,但在是12c后增强不再允许,还有像Toad这种第三方工具如11.6的老版本在连接数据库时还以检测select any dictionary 判断user$权限也提示ORA-1031错误
AIX 平台分析TOP CPU使用进程ps和topas差异
近日一客户应用反馈数据库使用较慢,每个数据库的性能分析应该先从操作系统负载分析开始,当CPU耗尽时,其它指标可能失真变的没有意义, 当系统缓慢时不应仅从DB里找原因,数据库中几乎无负载,查看OS层发现idle接近个位数, 操作系统为AIX, 从OS层定位top process的命令通常有topas, ps, vmstat,nmon -t等,发现ps和topas显示cpu占比存在较大差异,4%和90%. 简单记录一下。
如何恢复Truncate sys.IDL_UB1$?
近日一客户咨询truncate table sys.IDL_UB1$如何恢复, 为什么会有这样的需求?后来我在测试统计了一下system表空间的TOP 10的大对象,它确实在TOP 1。猜想应该是看到system表空间使用率高, 也未评估IDL_UB1$表的重要性,直接truncate释放了空间。 然后数据crash无法再启动。我找了个19c PDB测试库测试一下如何恢复?不要在生产库测试,也不要轻易删sys Schema下的对象。
Oracle迁移到PostgreSQL注意事项: to_date
近年来国家xc的推广,现阶段国产或开源库迁移逐渐列上日程,目前看已大势所趋, 在选择部分国产(基于)或开源数据库里安全健康的开源协议需要考虑, PostgreSQL是功能强大最接近Oracle的并有全球客户经过长期磨炼过生态健全的关系型数据库,最近有一个项目在原有一套Oracle的应用数据迁移到PG后,在两个PG环境中双数据源双写数据时,其中一套PG的数据库入库存在问题
Troubleshooting ORA-20 on ASM instance after ‘ntpdate’ change OS date
环境oracle 11.2.0.4 2-nodes RAC, 有一套ASM instance登录实例时总是提示ORA-20 进程数耗尽, 该错误常见于DB instance ,本次多台数据库同时出现该问题,但数据库实例暂时未挂,后发现所有机器有部署ntpdata crontab同步OS时间,最后一次错误向前调整了2年的时间后,又修改后出现的该问题,简单记录。
Oracle 11.2.0.4 SDO ORDIM XDB CATPROC XQQ invalid after install ojvm psu
在安装oracle 11.2.0.4后在应用OJVM PSU后错误执行了readme中的exec dbms_java_dev.disable; 后,数据库多个之前的组件都失效(INVALID), 大量invalid对象,查看dba_registry显示如下,像SDO ORDIM XDB CATPROC XQQ.
如何在mysql脚本中不使用明文密码?
之前在如何在Oracle 19c expdp/impdp 脚本中不使用密码? 一文记录过在Oracle备份的shell脚本中不配置明文密码,MySQL同样可以使用mysql_config_editor工具生成存储加密登陆的方式,使用的模糊处理可防止密码以明文形式显示,并提供 通过防止无意中泄露密码来衡量安全性