Monthly Archives: July 2012

删除归档出现ORA-15028错误

在10.2.0.4 RAC环境中使用RMAN删除归档报错ORA-15028。 错误信息如下: RMAN> DELETE archivelog ALL completed BEFORE ‘sysdate-3’; Do you really want TO DELETE the above objects (enter YES OR NO)? YES RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03009: failure OF DELETE command … Continue reading

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

ORA-600(kffmXpGet)错误

第一次碰到Exadata上的bug。 数据库环境Exadata V2-2,数据库版本为11.2.0.2,错误信息为: Wed Apr 25 11:32:35 2012 Errors IN file /u01/app/oracle/diag/rdbms/ods/orcl2/trace/orcl2_ora_9495.trc (incident=304808): ORA-00600: internal error code, arguments: [kffmXpGet], [145], [69784], [], [], [], [], [], [], [], [], [] ORA-03135: connection lost contact Incident details IN: /u01/app/oracle/diag/rdbms/orcl/orcl2/incident/incdir_304808/orcl2_ora_9495_i304808.trc USE ADRCI … Continue reading

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

数据安全警示录——Oracle DBA手记4

Eygle的新书经历了4个多月的等待,终于面世了。 我应该是这本书的第一个读者,4个月前Eygle刚刚完成初稿的时候,我就完整的看过一遍了。 我平常看书比较慢,不过那次却看得很快。一方面是由于大部分案例都比较熟悉;另一方面得益于Eygle的文笔,把故障原因、分析过程、解决思路和处理过程描述得非常清晰,给人一种一气呵成的感觉。导致我这个帮忙审稿的,多次都陷入到具体的内容中了,虽然对于我来说看得很爽,但是对于审稿而言并不是一件好事。审稿应该始终站在一个中立的角度,而如果在审稿的过程中过于关注内容,就会忽略掉一些细节的问题。好在Eygle对于自己文章的严谨程度很高,因此通篇看完也没有发现多少不妥之处,估计也不会遗漏太多的问题。 书中的所有内容都来自真实的案例,而且其中有三个个重要的案例都是来自2011年12月30日到2011年12月31日这两天。在2012年元旦马上要来临之前,Eygle接连帮助三个客户进行了数据库的恢复,这件事刺激了Eygle,于是元旦回来,Eygle就开始构思并执笔他的新作。一个多月的时间,这本《数据安全警示录》就基本上完成了。 上次看得是电子版,拿到实体书后感觉这次的印刷质量还是很不错的,等有空的话还要再把这本书再看一遍。

Posted in BOOKS | Leave a comment

ORA-600(kfnsBackground03)错误

客户的数据库出现了ORA-600(kfnsBackground03)错误。 数据库版本为10.2.0.3 RAC for HP-UX 11.23。这个错误在ASM实例和数据库实例都可能出现,如果发生在ASM实例,并不会导致ASM实例的崩溃,但是如果发生在数据库实例,则会导致数据库实例被强制关闭: Tue May 15 10:28:05 2012 NOTE: DATABASE ORCL1:ORCL failed during msg 19, reply 2 Tue May 15 10:32:50 2012 NOTE: DATABASE ORCL1:ORCL failed during msg 19, reply 2 Tue May 15 10:33:05 2012 NOTE: … Continue reading

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

DROP PARTITION为什么不进回收站

前几天在给公司的员工讲一个案例的提到这个问题。 其实当时提到了这个特点,DROP TABLE会进入回收站,但是DROP PARTITION并不会,因此DROP PARTITION之后,数据无法简单的回复,只能通过逻辑或物理备份的方式来进行数据的回复。 SQL> CREATE TABLE t_drop (id NUMBER); TABLE created. SQL> DROP TABLE t_drop; TABLE dropped. SQL> SELECT object_name, original_name FROM recyclebin; OBJECT_NAME ORIGINAL_NAME —————————— ——————————– BIN$xJhZqpmfWZXgRDzZK0pZWw==$0 T_DROP SQL> CREATE TABLE t_part_drop (id NUMBER) partition BY range … Continue reading

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

11gr2增强CREATE OR REPLACE TYPE功能

11.2对于CREATE OR REPLACE TYPE语句进行了增加,增加了FORCE选项。 在11.2之前,只要有其他的表或TYPE依赖了当前对象,这个对象就无法进行REPLACE了: SQL> CREATE TYPE t_num_tab IS TABLE OF NUMBER; 2 / TYPE created. SQL> CREATE TYPE t_record IS object (id NUMBER, n_tab t_num_tab); 2 / TYPE created. SQL> CREATE OR REPLACE TYPE t_num_tab IS TABLE OF … Continue reading

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

10g RMAN的REDUNDANCY策略改变

最近发现10g的RMAN备份保留REDUNDANCY策略和9i相比发生了改变。 在Oracle9i中,备份保留策略的REDUNDANCY的值,指的是备份冗余的个数。也就是说,如果REDUNDANCY设置为1,那么Oracle会保留2个备份。 但是在10g以后,REDUNDANCY的值,就是最终备份保留的值,手头没有10g的环境,用11g的rman做了一个例子: solaris*orcl-/home/oracle$ rman target / Recovery Manager: Release 11.2.0.3.0 – Production ON Sun Jul 8 19:04:43 2012 Copyright (c) 1982, 2011, Oracle AND/OR its affiliates. ALL rights reserved. connected TO target DATABASE: ORCL (DBID=1299676637) RMAN> SHOW retention policy; … Continue reading

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

9iRAC环境遭遇library cache lock和library cache load lock等待

客户数据库版本为9208 RAC FOR AIX,客户反应系统缓慢,检查告警日志,发现大量Library cache lock和Library cache load lock等待。 由于客户的原因,这个问题只是远程协助的方式帮忙检查了一下,因此没有留下任何的操作记录,这里只是简单描述一下问题。 客户反应数据库操作响应变慢,平时一个执行很快的基于主键的UPDATE操作也变得异常缓慢,且执行计划本身并未发生改变。 登录数据库后检查两个节点上的告警日志,并未发现任何异常报错。分别检查两个实例的等待信息,发现除了上面提到的大量Library cache lock和Library cache load lock以外,还有明显的gc等待。 但是随后发现,查询V$SESSION和GV$SESSION的结果居然没有区别,接着查询GV$INSTANCE视图,发现只有当前的实例存在,而此时恰好连接另一个节点的工具出现了断连,以至于我一度以为另外一个节点上的实例已经DOWN掉,但是随后重新登录到该节点上,发现数据库实例仍然存在,而且登录到数据库实例中也可以进行任何正常的操作。不过发现在当前节点所有的GV$视图都只会返回当前实例的信息,这与另外一个节点的情况完全一样。显然两个节点间的通信出现了问题,当前节点已经不清楚另外一个节点的状态的。 现在再去分析那些等待信息已经没有太多的意义了,因为整个数据库已经处于不正常的状态。不难推断,当前数据库的异常是由于节点间的通信异常导致。由于9i使用的操作系统的CLUSTER,还没有Oracle的clusterware,剩下只能由操作系统或硬件维护人员去进一步跟踪了。 最终数据库和系统在夜间闲时进行了重启操作,重启后数据库恢复正常,GV$视图的结果也恢复了正常。

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

DBMS_OUTPUT包无法输出空行

正常情况下,DBMS_OUTPUT包无法直接输出一个空行。 以前还真没有注意这个问题,前两天想在输出结果的时候进行一下简单的格式化,发现了这个问题: SQL> SET serverout ON SQL> BEGIN 2 dbms_output.put_line(’a’); 3 dbms_output.put_line(’ ‘); 4 dbms_output.put_line(’b’); 5 dbms_output.new_line; 6 dbms_output.put_line(’c’); 7 END; 8 / a b c PL/SQL PROCEDURE successfully completed.SQL> set serverout on SQL> begin 2 dbms_output.put_line(‘a’); 3 dbms_output.put_line(‘ ‘); … Continue reading

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

升级不正确导致ORA-27468错误

客户10.2.0.4环境告警日志出现ORA-27468错误。 详细错误信息为: Errors IN file /u01/app/oracle/admin/orcl/bdump/orcl1_j000_18724.trc: ORA-12012: error ON auto EXECUTE OF job 42791 ORA-27468: "EXFSYS.RLM$EVTCLEANUP" IS locked BY another processErrors in file /u01/app/oracle/admin/orcl/bdump/orcl1_j000_18724.trc: ORA-12012: error on auto execute of job 42791 ORA-27468: "EXFSYS.RLM$EVTCLEANUP" is locked by another process 导致这个错误的原因在于升级时没有执行catupgrd.sql,而是执行了建库的部分脚本如catalog.sql和catproc.sql,这导致只有CATALOG视图和系统的PACKAGE以及TYPE的版本更新到10.2.0.4,而其他数据库中组件的版本并没有升级,仍然是10.2.0.1。 … Continue reading

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