Troubleshooting Oracle wait event ‘buffer busy wait’
在许多情况下,数据块的Buffer busy waits是因为多个进程重复访问相同的块。例如,如果多个用户正在扫描同一个索引,则第一个会话会快速处理缓冲区缓存中已有的块。但是,当需要从磁盘读取某个块时,扫描同一索引的其他会话会赶上并也需要该块。因此,它们必须等待缓冲区缓存,因为另一个会话已在从磁盘读取该块。
Troubleshoot RMAN session fail ORA-01861 during restore database
朋友一套数据库版本10.2.0.5 on HPUX 11, 源库是noarchivelog read-only database open mode时备份,在目标库(其它主机)还原时遇到 ora-1861, 错误很简单就是遇到了不标准的时间日期字符串,如2月30日,4月31日等。
Oracle 18.3 hidden undocumented parameter list
here is all of the Oracle 18c 18.3 on-premises hidden u […]
Troubleshoot 11.2.0.4 CRS stop fail, ora.asm resource “UNKNOWN”state
前几日朋友一套CRS停不下来,RAC版本是11.2.0.4, 停在关闭ASM阶段, 手动尝试了停资源也不成功,使用-f选项一样失败, 查看ora.asm资源当前是UNKNOWN状态.
Troubleshoot DDL递归SQL触发的row cache lock deadlock(死锁)
两个同时启动的JOB, truncate 了不同的对象DDL, 递归触发了DDL trigger的审计操作,在insert DDL日志表时,遇到了回收站空间再利用,再次递归触发了drop table BIN$ purge, 又属于DDL操作, 并且申请的回收站对象的row cache enqueue时,在2个跨实例会话互相等待对方持有对象lock造成死锁
Troubleshooting Wait event “inactive Transaction Branch”
the wait event “inactive transaction branch” are related to externally coordinated transaction branches, typically from XA clients.
A wait on this event typically means that the XA client/s have asked different sessions to work on the same transaction branch concurrently.
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.
oracle 12c等待事件: Failed Logon Delay
Oracle 12C R2的AWR top event是”Failed Logon Delay”, 发现12c 在安全方面又有几个参数的变化,这个等待事件常常是因为有程序尝试使用错误的用户密码登录数据库, 如暴力破解程序.
案例: 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 无法完成…
Oracle 12c 关于密码(password)的几个新特性小结
整理几个12c 关于password几个新特性:1. 新的password hash算法
2. 新的password verify function
3. 密码文件可以存储到ASM
4. 密码自动从primary同步到standby端在Dataguard环境中
5. 新的密码认证协议
预警: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 兼容性。
oracle 12.1 db alert日志显示(:GPNP01002:)Failed to open wallet file
[ GPNP]clsgpnpkwf_initwfloc: [at clsgpnpkwf.c:471] Result: (7) CLSGPNP_IO. (:GPNP01002:)Failed to open wallet file. dir ‘peer’ in ‘/u01/app/12.1.0/grid/gpnp/ccwlracnode01/wallets/’, cannot check wallet home.
2018-03-26 09:23:57.675: [ GPNP]clsgpnpkwf_initwfloc: [at clsgpnpkwf.c:469] (:GPNP01002:)SlfFopen2
Oracle 12/18c 如何重建PDB$SEED PDB?
因为一先特性原因PDB$SEED数据库损坏后,影响使用pdb$seed创建新的PDB, 这里演示了几种修改PDB$SEED的方法:1. 使用建库时保存的脚本
2. 使用rman 恢复pdb$seed(前提有备份)
3. 使用同一个CDB的其它较干净的已存在的PDB创建PDB$SEED(不用备份)
4. 使用其它CDB的PDB$SEED复制PDB$SEED
What is “_enable_shared_pool_durations” ?
What is the meaning of “_enable_shared_pool_durations” parameter?
With sga_target set, the shared pool and the streams pool have of subpools subpools for 4 durations.
The durations are “instance”, “session”, “cursor”, and “execution”.
Oracle 18c 新特性 (一)小特性
当前oracle 18c on-premise 还没正式发布,我只是用XD版简单测试几个小功能::
Feedback sql id
private temporary table
CANCEL SQL statement
SEQUENCE增强
Read-only Oracle Home (ROOH)
DBMS_SESSION.SLEEP
Inline External Table
Troubleshooting Instance crash with ORA-29770 LMS is hung on SLES-11
Oracle RAC环境中有时常因为LMS进程取不到足够的CPU而hang,最终在lmhb监控进程发现lms hung超过70秒后而终止实例。lmhb是11G R2引入的RAC环境中新的后台进程,用于监控LMON、LMD、LMSn等RAC关键的后台进程
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错误。
ora-600 [kclfadd_1] 安装one-off patch后一个节点无法启动
朋友有套数据库出现了ora-600 [kclfadd_1]引起数据库实例crash, 数据库版本10.2.0.2 2-nodes RAC, 找我帮分析原因,定位BUG后,在不升级版本并安装oneoff patch后,节点2实例无法启动,在startup 过程种从alert log看在提示了一些后台进程启动后,到LCK0 进程启动后没有任何报错挂起,节点1正常
ORA-00600: [kwqidrdq: loop], [0] in Oracle 9i
ORA-00600: [kwqidrdq: loop] reported on dequeue of a message from an Advanced Queueing (AQ) Multi-Consumer Queue Table.
Exadata Instance crash ORA-600 [ksz_cln_proc1] and restart fail due to breakdown of one CellServer (案例)
cell03存储主机的文件系统异常,导致ASM Hang,数据库实例crash, 虽然是NORMAL级别的冗余,但是数据库实例此时不能于ASM通信,重启CRS进程恢复,可使用剩余的2条CELL继续为数据库提供服务。 在延长了disk_repair_time时间后,等待时间后强置重启CELL03主机操作系统后,一切恢复。