为什么在update或者insert大量数据后,索引占空间比表大以及解决方案。
最近同事吐槽说有个库中几张表的索引比表都大很多,想知道索引为什么这么大,其实经常update或者insert操作的表,难以避免发生这样的现象,下面通过测试说明这个问题以及解决方法。
由于HAIP地址冲突导致的RAC数据库实例重启故障分析
HAIP是Oracle的RAC用于数据库实例与ASM实例之间通信使用的地址,这个地址由RAC软件分配,要求集群私网中不允许由相同网段地址,否则会引起集群通信异常,这次是一个典型的案例,涉及IBM小机管理的IMM机制涉及的地址,同时改系统在安装时也不规范,否则也不会引起这个隐藏故障。
序列Sequence等待及SQL全表扫的分析调优。
创建sequence是开发的任务,正如创建索引一样,但是每个操作都需要考虑因素,否则很容易引起性能问题,比如sequence争用以及索引不合理,这是一次真实的 生产库性能分析,用户抱怨最近很慢,希望给处理下。
修改私网的回退方案测试
对于实施的变更,必须设计回退方案,总结各种资料我们测试修改私网的回退方案通过oifcfg指令做相应恢复操作,之前备份gpnp的profile.xml文件,这里记录详细的测试过程。
Oracle RAC 如何增加私网,删除私网以及修改私网相关属性
RAC的私网及其重要,一旦系统配置与gpnp记录不匹配,集群就无法启动,我们往往有这样的需求,增加私网,删除故障私网,或者修改私网属性,这里是完整的测试。也是我们后续一个实施方案的测试过程。
通过DBMS_MONITOR.session_trace_enable开启会话跟踪
DBMS_MONITOR.session_trace_enable会话跟踪时很不错的一个跟踪工具,可以根据用户给定或者自己查到会话,分析用户执行了那些SQL,以及这些SQL的执行计划,从而进一步定位业务问题还是执行计划问题。有效帮助我们定位性能问题
Lock表统计信息的隐患测试
当lock表的统计信息时,如果后续创建索引成功,会导致索引统计信息为null这会为Oracle判断执行计划带来严重干扰,下面测试这个现象,并给出总结建议
解决language_mismatch,bind_mismatch导致的高版本问题
高版本会导致sql执行变慢,增大搜索子游标的时间,高并发下也容易产生"cursor mutex x" , "cursor mutex s"争用,所以,需要认真对待并解决高版本问题。
何解决language_mismatch导致的高版本问题
高版本会导致sql执行变慢,增大搜索子游标的时间,高并发下也容易产生cursor mutex x 争用,而对于language_mismatch 导致的高版本问题,可以采用两种解决方案,下面是测试过程。
Oracle SQL 高版本与Cursor Mutex X争用严重性能故障分析
近遇到一个系统,在游标失效后,并发业务导致了大量的Cursor Mutex X,基本是同一个SQL改SQL的版本高达900多 通过分析日志,trc文件以及AWR,初步分析可能是bug导致。
位图与或运算导致的执行计划异常分析-cost更低执行时间更长
遇索引位图与或计算再回表的方式是Oracle对于索引回表的一种优化,这些索引在同一个表上,但是有时因为索引创建不合理导致这种执行计划不是最优。我们分析如何解决这个问题
RMAN-06091分析备份脚本的存在问题
这是一个生产库之前DBA部署的脚本,因为backup备份目录满了,所以仔细分析了脚本的内容,发现了几个问题,这里分析下。
通过ORA-609深入理解监听的原理
Oracle的网络连接是通过监听代理开始,通过监听fork服务器进程,进而转发改连接,完成客户端和数据库服务器的通信,这个过程中任何环节出现问题都会导致用户连接异常。
Oracle虚拟列分区测试
虚拟列分区是基于其他列进行虚拟计算的结果做分区,这个虚拟列不会实际存储值,是通过其他列计算而来,虚拟列丰富了Oracle分区键的选择。
19C中用户行为审计高级功能
审计是对行为的跟踪记录,对于核心表,我们希望记录该表的DML操作信息,这样再出现问题比如误删除数据,更新失误以及性能问题时回溯历史 SQL。下面我们测试和模拟19C中的用户行为审计,这些SQL可以是用户直接发出的,也可以是是通过调用存储过程或者函数实现,具体审计 哪个行为用户可以自己定义。
oracle 19C rolling patch点滴
oracle 19C rolling patch步骤和注意事项
Oracle 19C 中使用sqlplus完成DG切换的注意事项
容灾环境切换演练是核心系统必备的日志运维工作,基本会在半年或者三个月做一次,此时切换是否成功显得十分重要,此时需要做一系列的前期检查,从而保证切换的成功,这里我们根据MOS的文章详细整理的这个过程,期间遇到的问题其实海需要扩展,比如日志状态异常,这个需要具体问题具体分析。
WRI$_ADV_OBJECTS占用过多SYSAUX空间的处理
表WRI$_ADV_OBJECTS存储统计信息顾问任务的数据,在SYSAUX表空间中占比较高,这跟数据的保留策略有关,可以通过策略自动清理,也可以genuine需求手动清理
ASM磁盘头块分析与磁盘头损坏恢复(自动备份的恢复)
asm磁盘格式化的单位是AU 默认一个AU为1M,ASM磁盘中存放两种数据元数据和用户数据(数据文件,归档文件,日志文件,密码文件),ASM磁盘 的第一个AU用户存储ASM元数据。AU以元数据库的方式格式化,一个元数据块大小为4k,对于AU为1M的ASM磁盘,第一个AU有256个块,其中 第一个块,即block 0 是ASM磁盘头。
ASM的normal模式的某个失败组磁盘失效如何mount磁盘
ASM磁盘组的某个失败组磁盘都坏了,我们通过摘盘模拟这个过程,再重启服务器后,此时数据库无法打开,通过日志发现ASM磁盘组由于缺少失败组而无法mount,这里测试改故障告警日志如何展示以及如何mount磁盘组。