Monthly Archives: October 2011

DATA CARTRIDGE开发手册总结

这篇文档看完了,不过其中内容学到不到一成。 以前提到过,如果追溯我第一篇的博客,就是看了这篇文章后,仿写了一个例子,当时觉得这个内容比较复杂,如果不记录下来恐怕自己都会记不住,因此才开始了记录BLOG的习惯。不过这篇文档中的内容还是相当小众的,这篇文档介绍的内容实际上是在Oracle提供的架构上扩展用户自定义的功能。 而对于绝大部分人而言,现有Oracle提供的功能已经足够了,或者应该这么说,绝大部分人都只用数据库最基本的功能就够了,甚至很多Oracle的功能大部分都不清楚,更不用说用了。因此这篇文档的内容对于大部分人而言并不实用,如果没有特殊的要求,可以不必细读。

Posted in BOOKS | Leave a comment

ORA-600(ktecgeb-2)错误

还是一个ORA-600错误,这个错误出现在10.2环境中。 客户的DATA GUARD环境中的物理备库,由于要进行测试,因此设置了FLASHBACK ON,创建了恢复点,然后激活成主库并打开,准备进行测试,但是发现在后台告警日志中出现了这个错误,详细的错误信息如下: Completed: ALTER DATABASE OPEN Wed Oct 26 22:08:27 2011 Errors IN file /oracle/admin/standdb/bdump/standdb_j003_446902.trc: ORA-00600: internal error code, arguments: [ktecgeb-2], [788585233], [0], [], [], [], [], [] Wed Oct 26 22:08:33 2011 Errors IN file /oracle/admin/standdb/bdump/standdb_j003_446902.trc: ORA-00600: … Continue reading

Posted in BUG | Tagged , , , | Leave a comment

ORA-600(kjcsombd:2)错误

又是一个9208 RAC上的错误,事实上这个错误和上一篇文章中描述的错误相关性很大,因为在上一篇节点关闭并报错的同时,这个节点出现了这个ORA-600错误。 ORA-600(kjccgmb:1)错误:https://yangtingkun.net/?p=245 在当前节点上的详细错误信息为: Thu Oct 13 18:13:10 2011 IPC Send timeout detected. Sender ospid 1228900 Thu Oct 13 18:13:12 2011 Communications reconfiguration: instance 1 Thu Oct 13 18:13:12 2011 Trace dumping IS performing id=[cdmp_20111013181312] Thu Oct 13 18:13:17 2011 … Continue reading

Posted in BUG | Tagged , , , , | Leave a comment

ORA-600(kjccgmb:1)错误

在客户的9208 RAC环境中碰到了这个错误。 相信信息如下: Thu Oct 13 18:07:25 2011 Shutting down instance: further logons disabled Shutting down instance (immediate) License high water mark = 369 Thu Oct 13 18:07:45 2011 ALTER DATABASE CLOSE NORMAL Thu Oct 13 18:07:45 2011 SMON: disabling … Continue reading

Posted in BUG | Tagged , , | Leave a comment

11g改变了DELETE语句的执行计划

在11.2中,如果DELETE的时候没有限制条件,且表上存在主键的话,执行计划会变为索引全扫。 在和600聊天的时候听说了这个现象,开始的时候还不是很相信。当时600特意验证了一下,事实确实如此。 于是特意自己也做了个简单的例子: SQL> SELECT * FROM v$version; BANNER ——————————————————————————– Oracle DATABASE 11g Enterprise Edition Release 11.2.0.2.0 – Production PL/SQL Release 11.2.0.2.0 – Production CORE 11.2.0.2.0 Production TNS FOR Linux: Version 11.2.0.2.0 – Production NLSRTL Version 11.2.0.2.0 – Production SQL> … Continue reading

Posted in ORACLE | Tagged , , | 1 Comment

查询条件为ROWNUM=1仍产生长时间等待

正常情况下,指定了ROWNUM=1会迅速的返回结果,但是也有异常的情况产生。 其实ROWNUM=1之所以可以快速的返回结果,是由于执行计划中采用了STOPKEY的方式,当查询到第一条符合要求的记录后,执行就中止了。 但是ROWNUM=1并非对所有情况都适用,比如如果内存查询包含GROUP BY操作,那么ROWNUM=1就无法推到GROUP BY查询内部,因此这时的ROWNUM=1的条件对于查询速度的提高就非常有限了。还有一种情况,在指定了一个限制条件后,加上ROWNUM=1后,发现查询效率仍然不高。这时因为表中满足指定限制条件的记录非常少或者根本没有,以致于Oracle要扫描全部表数据后才能返回结果。 但是客户碰到了的现象和上面描述的几种情况都不相符,查询只是一个单表查询,唯一的限制条件就是ROWNUM=1,没有GROUP BY和ORDER BY语句,语句就是简单到不能再简单的:select * from RTDRULETRACEHISTORY where rownum = 1。 检查了这个语句的执行计划,并未发现异常之处: Id Operation Name ROWS Bytes Cost (%CPU) TIME 0 SELECT STATEMENT 2 (100) 1 COUNT STOPKEY 2 TABLE ACCESS FULL RTDRULETRACEHISTORY 1 827 2 … Continue reading

Posted in ORACLE | Tagged , , | Leave a comment

FAL_SERVER设置错误导致SWITCHOVER切换HANG住

客户在进行DATA GUARD的SWITCHOVER时,操作长时间没有反应。 操作如下: SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN;SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN; 这个命令等待很长时间没有结束,虽然数据库的SWITCHOVER_STATUS并非TO STANDBY而是SESSION ACTIVE,但是几乎所有的LOCAL=NO的连接已经在操作系统级kill掉了,而且使用了WITH SESSION SHUTDOWN语法,理论上不应该是连接问题导致SWITCHOVER无法完成。 检查告警日志: Fri Oct 14 23:03:45 2011 ALTER DATABASE COMMIT … Continue reading

Posted in ORACLE | Tagged , , , | Leave a comment

DATA GUARD出现ORA-16032错误

客户在配置DATA GUARD过程中碰到ORA-1031和ORA-16032错误。 其中ORA-1031错误很直观,直接报错在归档时没有权限: Wed Sep 28 15:43:26 2011 ALTER SYSTEM SET log_archive_dest_2=’service=db1st lgwr async valid_for=(ONLINE_LOGFILES,PRIMARY_ROLE) db_unique_name=db1st’ SCOPE=BOTH; Wed Sep 28 15:43:26 2011 ALTER SYSTEM SET log_archive_dest_state_1=’enable’ SCOPE=BOTH; Wed Sep 28 15:43:26 2011 ALTER SYSTEM SET log_archive_dest_state_2=’enable’ SCOPE=BOTH; Wed Sep 28 … Continue reading

Posted in ORACLE | Tagged , , , , , | Leave a comment

DATA GUARD出现ORA-26040错误

客户在搭建好的DATA GUARD环境出现了ORA-26040错误。 在备库只读打开时,出现了下面的错误: ORA-12801: error signaled IN parallel query server P000 ORA-01578: ORACLE DATA block corrupted (file # 75, block # 1046445) ORA-01110: DATA file 75: ‘/oradata2/accdb/a_txn_data09.dbf’ ORA-26040: DATA block was loaded USING the NOLOGGING OPTION ORA-12801: error signaled IN … Continue reading

Posted in ORACLE | Tagged , , , , | Leave a comment

《Oracle DBA手记3——数据库性能优化与内部原理解析》出版

发现最近总在打广告,等待已久的《Oracle DBA手记3——数据库性能优化与内部原理解析》一书终于出版了。 在前两天我们组织的Oracle技术嘉年华大会上,有一些朋友已经拿到了这本书,而我是今天刚刚才拿到手的。 DBA手记2在筹划阶段,Eygle就要我提供稿件,当时手头事情比较多,稿件的整理慢了一步,发给Eygle的时候,他已经将其他的稿件提交给出版社了,于是这些文章就放到了DBA手记3中。 无论是自夸也好,自谦也罢,书已经出版了,作者再说什么就都没有什么意义了,还是让读者去自己评判吧。

Posted in NEWS | Leave a comment