LOB 不当的RETENTION 会导致严重的空间浪费(二)
之前记录过一篇关于lob 《 LOB 不当的chunk size会导致严重的空间浪费》,最近一个案例关于enq:hw 的wait event在lob段,而SQL语句是一个update,发现也存另一种情况因为retention过大,导致的lob快速扩展,简单记录。
提供综合数据库运维服务与优化方案(不限Oracle MySQL PG GaussDB GoldenDB OceanBase等), 微信/Tel:(+86)134-365-60330
之前记录过一篇关于lob 《 LOB 不当的chunk size会导致严重的空间浪费》,最近一个案例关于enq:hw 的wait event在lob段,而SQL语句是一个update,发现也存另一种情况因为retention过大,导致的lob快速扩展,简单记录。
之前已经记录过多篇关于用户密码的问题, 今天又看到一则19c 在XTTS升级时,用户创建拼密码SQL脚本失败的问题,对于拼接user$.password和user$.spare$列时值错误,导致密码不能登录问题,对于19c中2个字段值哪种情况下没有值,简单的测试记录。
最近上海某客户一套ORACLE RAC发生1节点驱逐, 问题前CPU利用率并不高, CRS日志有I/O响应和IPC超时错误, 部分进程hang死,操作系统是RHEL7.5, 在操作系统meesage提示如下信息:
“kernel: NMI watchdog: BUG: soft lockup – CPU#25 stuck for 22s!”
oracle11g add default values columns(增加默认值列的改进)11年前 学习oracle初期测试过oracle 11g相对oracle 10g的增强, 对于增加列default not null 时只增加数据字典定义,而不有update 表现有数据,给对于大表比如上亿记录的列增加带来不小的提升, 今天看到同事在使用ogg 从19c to 11g同步DDL 又看到了这个现象。
最近遇到了2个客户出现在11.2.0.4环境中频繁出现ora-8103的问题,基本上都是索引对象object mismatch, 重建后过段时间会再现, 该类问题使用rman validate logical 还无法发现,算是当前oracle软件的一个未知bug.
最近在测试oracle to postgreSQL项目中,计划使用oracle standby database做为数据库初始化的静态数据,这没有任何问题, 那是否可以从standby database捕捉变化呢?如配置ogg extract抽取进程。
近日分析一个数据库checkpoint long time 未完成的一个case时,本想分析dbwr trace file中看看是否有报错,发现dbwr的trace file并不存在,并且重启数据库后也并未生成,发现这并非个案,好多环境中dbwr trace不存在, 下面记录一种启用方式。
最近一套ORACLE 19C RAC 因一个节点主机故障重启后,其中1节点启动失败, 2节点正常启动,网络traceroute 、 ping 、多播测试均正常,幸存节点也有尝试重启、包括Kill gipc gpnp 进程,及重建过node 1的tmp 下的network soket临时文件, node1 依旧启动失败, 启动分析Init启动进程发现是gipcd启动后直接terminal中断
10多年前测试过10g的logmnr用于从redo或archivelog中分析DDL DML记录, 当做一些误操作无法flashback技术恢复或无备份时,可以尝试用来从redo log中恢复一些操作, 最近测试了一个19c多租户环境中的logmnr,记录如何恢复某个PDB中deleted 记录。
When CSSD process is unable to get real-time priority and is not running in real-time, it may lead to various HA issues. From 19c, this is treated as a fatal error.CSS cannot start normally if failed to get real-time priority.
环境Oracle 11g(11.2.0.4) on RHEL6.9, 文件存储在SATA SSD的文件系统,每秒redo 50-100MB, 存在部分时间段40多组2GB online redo logfile 同时”active”状态的现象,cpu使用率60%左右。除了优化checkpoint外发现有2个少见的TOP event, 查看FG top event为’free buffer waits’, BG top event为 ‘db file async I/O submit’。
ANSI/ISO SQL 标准定义了4 种事务隔离级别,对于相同的事务,采用不同的隔离级别分别有不同的结果。这些隔离级别是根据3 个“现象”定义的,在Oracle 中READ COMMITTED 则有得到读一致查询所需的所有属性,在其他数据库中的读READ COMMITTED 可能会有不同的答案, 最近有个客户在测试migrate oracle to postgreSQL测试发现一个批处理的结果并非一致,
在有些程序员开发习惯中,喜欢为了应用代码的简洁或复用,而在数据库创建一个复杂关连查询的VIEW,甚至是VIEW套VIEW嵌套使用, 这里就有个问题如果上线后如发现依赖的表字段类型或长度不足时,修复一个view依赖的table列时发现在oracle、mysql、postgresql(本篇等同pg)中有不同的表现, 尤其是使用postgresql的用户需要格外注意, 因为pg 不允许直接修改
某客户一套Oracle 11.2.0.4 4-node RAC ON RHEL 7.6 环境 ,ASM High冗余Diskgroup 有600TB存储(没错是个超级大库), 其中有1个1TB的ACFS DG. 一日突然节点1个节点ASM和DB实例crash, 重启后正常, 分析当时的日志是ASM 实例的VDBG后台进程出现的ora-4030错误,目前需要分析一下原因。 简单记录。
近日1客户环境的oracle 12cR2 6-nodes RAC多个节点脑裂后无法启动加回cluster, 分析日志又是经典的“has a disk HB, but no network HB“, 最近安全加固需求颇多,当心过度封锁影响到了RAC 间的interconnect 通信。 这里简单记录一下case现象的分析方法。
在创建表时,如果相同的列类型,不同表列的顺序是否会影响数据库占用空间大小?使用oracle、mysql或postgresql是不是相同的表现呢? 不是的Postgresql近期发现空间使用会因为columns的顺序而占用不同的大小,当然也和实际的数据有关,简单的测试。
某客户一套linux container环境(LinuxOne大机)中的Oracle 19c RAC, 在启动阶段总是因为CTSS资源无法启动,导致Crs重启后需要手动干预, 通过kill local node gipcd.bin进程可以启动成功。多套环境有这问题,看来可能是Oracle软件在该环境存在缺陷,简单记录处理方法。
数据库运行过程中在错误日志或SQL运行时报错难以避免,oracle预制了好多错误代码,也有不确定性的会在ora-600 700 7445中, 所以Oracle DBA通常是先看ORA-xxxxx编号的错误,确认是否与数据库层相关,oracle database提供了一个命令行工具oerr工具查看错误代码的message和一些很友善action简单的处理建议。 好奇其它两个主流开源数据库有没有相同的工具?这里简单的记录
最近某客户一套Oracle19c RAC 环境,在负载相对空闲时也面临一个常见的问题”log file sync”, 数据库存储已经是较快的SSD设备, 下面记录一下容易忽略的RAID配置,居然对数据库的影响如此之大的案例。