Troubleshooting database crash and HPUX-ia64 Error: 11 caused by IO error( SFP 光衰 )
一个2节点RAC on HPUX平台的数据库实例1突然因为I/O 错误,数据文件读写失败,自动重启后不久再次因为Vating Disk不可用crs crash, 另一节点正常。后暂时停止问题节点,排查硬件的底层环境问题,确认数据库主机节点的SFP(Small Form-factor Pluggable)光衰减严重,导致数据传输丢帧,频繁重发数据帧导致数据库存储I/O延迟过高(58ms-100s)或间断,数据库IO错误。
案例: 修复Oracle 11.2.0.1 dblink 访问ORA-600 [2252]
2019.6.23 已过去,默认11.2.0.3 后的版本Compatibility 已auto Auto-rollover,开始解决方法还要大版本升级,目前Oracle 又陆续放出了几个低版本的opatch, 修复ORA-600 2552不用再大版本升级了,目前opatch 已经从10.2.0.4以后的版本都可以装one-off patch解决。更多信息可以看之前我的 《预警:2019年ORACLE SCN 兼容性特性( Compatibility)自动改变的影响》, 这里记录一下11.2.0.1 的修复方法.
How to clear the V$Database_block_corruption view?
如果V$Database_block_corruption 有记录有短时间内无法修复,如果告警天天告确实烦人,几年前有写过一篇Know more about V$BACKUP_CORRUPTION , 这里有个DG 环境中因为primary db 没有启用force logging, 结果Standby db上好多nologging corrupted block. 解决方法之前也有写过 利用RMAN增量备份(Incremental Backup)修复standby 环境中的nologging corupted blocks , 这里我想临时把这些记录清理掉,后期再修复。
都9102年了, 你还在考Oracle 11G、12C OCP?
最近有看到还有人在考oracle 11g, 12c 的OCP, 是陈年的OCP 有技术含量么? 在我个人认为2009年后拿到的都一个样,16年前的8i OCP要过4门,
从2019年开始 Oracle 认证有了新的变化:
1, 以后不再有OCA , 新Oracle OCP 只需要2门课程的考试(1Z0-082+1Z0-083)
Oracle 19c注意事项: DBMS_JOB 行为变化
DBMS_SCHEDULER 是一种新的JOB调度形式,提供了功能更加强大和跟踪的功能,说是新是相对DBMS_JOB, schedure从10G时引入已经十多年, 用于替换DBMS_JOB, 如果你升级19c 时原来的库有dbms_job对象,会在preupgrade.jar中提示Warning JOB_TABLE_INTEGERITY.注意从ORA 19C开始 DBMS_JOB总是以DBMS_SCHEDULER的形式创建,
PostgreSQL 12 : Prepare statement和plan_cache_mode 参数
在SQL的初始解析阶段PostgreSQL和ORACLE rdbms有很多相似之处, 如开始会进行语法、语义的检查,那些元数据存在system表空间(oracle)或 system catalog(PostgreSQL). 然后根据之前预准备的统计信息(可能动态采样),CBO 会为SQL执行生成一个执行计划. 但是在解析完成后ORACLE和PG(以下用PG代替PostgreSQL)会存在一些差异,oracle会把执行计划存储在shared pool(Libaray cache)中对于所有会话可以共享,但是PG存储在program的本地内存中
Oracle12c R2注意事项:ORA-12805问题
一套Oracle 12.2.0.1 4-nodes RAC on Linux 环境, 又一个BUG会生成大量的日志信息如下, 之前分享过一个生成大量trace的笔记
Oracle12c R2注意事项: 因BUG生成大量的trace file 包含KRB: (rman module), 这里记录另一个bug.
# db alert log
2019-08-02T16:45:30.696722+08:00
Errors in file /u01/app/oracle/diag/rdbms/anbob/anbob1/trace/anbob1_cjq0_24035.trc:
ORA-12805: parallel query server died unexpectedly
Oracle Kernel Layer & ORA-600 Code Info 内部错误分类
Indexes exist for versions 7.2.2 and 8.0.3. Author: Ric […]
利用RMAN增量备份(Incremental Backup)修复standby 环境中的nologging corupted blocks
有时为了提升SQL执行速度或减少redo而使用NOLOGGING选项, 或者在segment 级使用NOLOGGING属性, 将使用最少的信息记录到online redo logfile,但是对于DataGuard环境是基于redo应用,所以这也是在DATAGUARD配置时需要在数据库级启用FORCE_LOGGING原因,如果缺少了日志必要的信息,在RECOVERY介质恢复期间将受影响的块标记为已损坏, 查询V$DATABASE_BLOCK_CORRUPTION.CORRUPTION_TYPE为NOLOGGING
How to disable database link in Oracle? (如何禁用数据库dblink )
前几天有人问到是否有办法禁用Oracle database link?是的, 有时出于安全、性能、防止SCN传播等原因需要禁用本地创建DBLINK,同时也希望其它库不要DBLINK访问我们的库, 但是只要给其它人提供了本库的用户、密码、监听端口、服务名连接的信息,即使只有create session的权限,对方也可以dblink 从其它库连到本地数据库…
Troubleshooting High “enq: TX – index contention” events during index split?
经常发生在应用程序的并发性很高的表相关联的索引上,索引叶块、枝块争用较高,尤其当应用程序执行许多INSERT和DELETE时,通常会发生这种情况。原因是在向索引插入新行时索引块分裂,事务将必须在模式4下等待TX锁定,直到执行块拆分的会话完成操作为止, 常伴随[gc] buffer busy waits
Oracle Database 环境整改建议应对 Linux TCP SACK PANIC 内核安全高危漏洞 CVE-2019-11477
在 Linux 内核处理 TCP 网络数据的操作中发现了三个相关的安全漏洞。 其最严重的安全漏洞会被远程攻击者利用在运行受影响软件的系统上触发一个内核崩溃,从而影响到系统的可用性。对于安装现在运行oracle 数据库的环境,anbob建议禁用tcp_sack的方式解决SACK问题高危。
SCN compat no change even Auto-RollOver is enable (SCN 兼容级别未改变)
相信近几个月好些DBA一定都被SCN compat(兼容级别)在2019年6月23日自动从1直接跳级到3的问题搞的紧张兮兮, 现在这个特殊日期已经过去几天,不知道是不是觉的风平浪静有些失望, 最近应该都开始检查是否SCN Compat是否已自动变为3, 在auto rollover未禁用的情况下,还是有些情况下SCN compat当前并没有改变,下面列几种情况。
Instance Startup Fails With ORA-00205, ORA-15040 After Applying Patch (安装补丁后实例启动失败)
安装PSU或安装one-off patch补丁时,在relink编译oracle执行文件后文件的group ownership属组可能会发生改变,对比可以和oracle 执行文件相同路径下的oracle0文件(上一版oracle的mv)查看。 当oracle用户和oracle执行文件都没有OS ASM属组如asmadmin时,会无法读取ASM disk.
解决方法,手动修改或使用setasmgidwrap 修改;使用srvctl 启动实例,让oracle自动修改…
How to create ASM devices with UDEV
Udev is the mechanism used to create and name /dev device nodes corresponding to the devices that are present in the system. Udev uses matching information provided by sysfs with rules provided by the user to dynamically add the required device nodes.
Troubleshooting ORA-600 [kcrfw_search_blklctn: Dead loop] and more about NSA process
Starting with 11gR1, Oracle Data Guard asynchronous redo transport will read redo directly from the in-memory log buffer, provided that the requested redo blocks still reside in the log buffer, start 11g R2 use NSA backgroup process do that.
Scripts: Tablespace Report for Oracle 12c Multitenant Database
You can use this SQL script to report tablespace space details in 12c Multitenant database.
Wait Event: buffer deadlock
Buffer Deadlock is very typical wait event and not so much seen in database. But when you are encountering with this mysterious wait then you would see the effect of wait and performance bottleneck of the server.
Troubleshooting sqlplus logon instance slow and Swap usage high even memory is 50% free
A few days ago, I encountered a case, a 11.2.0.4 three-node Oracle RAC database on RHEL 6.6 , when trying to login to the database instance using sqlplus “/ as sysdba” on the third node, It’s very slow, and vmstat show that there is a very large swap in and out, but there is still a lot of memory free space
Troubleshooting Out-Of-Memory(OOM) killer db crash when memory exhausted
If kernel can not find memory to allocate when it’s needed, it puts in-use user data pages on the swap-out queue, to be swapped out. If the Virtual Memory (VM) cannot allocate memory and canot swap out in-use memory, the Out-of-memory killer may begin killing current userspace processes.