“Out of Range” 谓词越界 dbms_stats.copy_table_stats

BMS_STATS.COPY_TABLE_STATS存储过程通常用于大的分区表的统计信息复制,当增加一个新分区后,如果立即收集统计信息使用dbms_stats.gather_table_stats当前的数据又不能反应数据的真实分布,更容易因统计不准确出现错误的执行计划或out-of-range(越界)使CBO估算错误的Cardination, 所以可以使用dbms_stats.copy_table_stats直接复制上个分区的统计给新的分区

Troubleshooting Oracle wait event ‘buffer busy wait’

在许多情况下,数据块的Buffer busy waits是因为多个进程重复访问相同的块。例如,如果多个用户正在扫描同一个索引,则第一个会话会快速处理缓冲区缓存中已有的块。但是,当需要从磁盘读取某个块时,扫描同一索引的其他会话会赶上并也需要该块。因此,它们必须等待缓冲区缓存,因为另一个会话已在从磁盘读取该块。

Oracle 18.3 hidden undocumented parameter list

here is all of the Oracle 18c 18.3 on-premises hidden undocumented parameters: SQL> select n.ksppinm p_name, c.ksppstvl p_value 2 from sys.x$ksppi n, sys.x$ksppcv c 3 where n.indx=c.indx 4 and lower(n.ksppinm) like lower(‘\_%’) escape ‘\’; P_NAME P_VALUE ————————————————– ————————————————– _appqos_qt 10 _appqos_po_multiplier 1000 _appqos_cdb_setting 0 _ior_serialize_fault 0 _shutdown_completion_timeout_mins 60 _inject_startup_fault 0 _wait_outlier_detection_enable OFF _wait_outlier_event_names _wait_outlier_lambda_x1000 1500 … Read more

Troubleshoot DDL递归SQL触发的row cache lock deadlock(死锁)

两个同时启动的JOB, truncate 了不同的对象DDL, 递归触发了DDL trigger的审计操作,在insert DDL日志表时,遇到了回收站空间再利用,再次递归触发了drop table BIN$ purge, 又属于DDL操作, 并且申请的回收站对象的row cache enqueue时,在2个跨实例会话互相等待对方持有对象lock造成死锁

Oracle 12cR2 RAC新特性”fast index split wait” 引入gc index split transaction增长导致ora-4031

几日朋友有套数据库升级到oracle 12C r2后出现了ORA-4031, 是一套on Linux x86 64-bit 2节点的RAC数据库,Hard parse并不高,并且没有使用AMM, ASMM。SGA分配80G, shared pool固定在13Gb.”gc index split transaction”也是在持续增长,符合bug 27163928.

MariaDB学习系列(一): MariaDB TX 3.0

MariaDB已联合Alibaba, Google 和 Facebook等改进和整合新的特性服务于整个社区,意在提供替代传统数据库的解决方案 。

MariaDB上周推出了MariaDB TX 3版本, MariaDB TX有一系列组件组成,有MariaDB Server、 MariaDB Cluster、 MariaDB MaxScale、 MariaDB connectors 、MariaDB tools、 MariaDB services。

案例: checkpoint hang等待log file switch(checkpoint incomplete) 11.2.0.4 on Solaris OS 5.11

前段时间遇到的一个案例,朋友开始给我说是数据库连接数很高,让我帮分析一下。这是一套 11.2.0.4 2nodes RAC on Sun OS 5.11环境,大多数会话等待enq: sq – contention, log file switch (checkpoint incomplete) , checkpoint 无法完成…

预警:2019年ORACLE SCN 兼容性特性( Compatibility)自动改变的影响

Oracle MOS中新发布预警对于版本和对应版本的已安装PSU高于11.1.0.7.20,11.2.0.7.57(for Windows), 11.2.0.3.9,11.2.0.3.29 (for Windows), 11.2.0.3 BP22(for Exadata), 11.2.0.4,12.1.0.2 ,12.2.0.1 的Oracle 数据库, 将在2019年06月23日后自动调整SCN的增长速率为更大的上限,DBLINK 在不同数据库之间访问时会同步SCN, 为了避免不同SCN 上限数据库之间因SCN拒接访问,建议所有DBLINK访问的数据库升级为相同的SCN 兼容性。

Know more about Temporary Tablespaces ORA-1652 and event 60025 temp space never release

众所周知, oracle临时表空间是用于存储数据库的排序数据和全局临时表数据,tempfile不同于datafile因为不存在控制文件中,在恢复数据库后需要重建tempfile,也可以在standby环境中配置不同的temp表空间。用监控数据表空间间的脚本也许看到临时表空间使用率100%,但并且有时并非真实,DBA_FREE_SPACE 不会记录临时表空间的可用空间,使用v$sort_segments, V$TEMP_SPACE_HEADER 和v$tempseg_usage监控临时表空间的使用,如果临时表空间不足会提示ORA-1652错误。