Monthly Archives: October 2011

ORA-600(2103)错误

检查客户数据库告警日志时,发现ORA-600(2103)错误。 这是一个9208 RAC for Linux 32bit环境,当出现这个错误时,LGWR进程CRASH,导致数据库实例DOWN掉: Sun DEC 7 18:15:02 2008 Errors IN file /u01/product/admin/RAC/bdump/rac2_lgwr_491766.trc: ORA-00600: internal error code, arguments: [2103], [0], [0], [1], [900], [], [], [] Sun DEC 7 18:15:03 2008 Errors IN file /u01/product/admin/RAC/bdump/rac2_lgwr_491766.trc: ORA-00600: internal error … Continue reading

Posted in BUG | Tagged , | Leave a comment

ORA-600(ksxprqfre3)错误

客户的9208环境下的RAC出现这个错误。 详细错误信息为: Errors IN file /u01/product/admin/RAC/bdump/rac1_ora_708706.trc: ORA-00600: internal error code, arguments: [ksxprqfre3], [0x110320F28], [], [], [], [], [], [] ORA-10382: parallel query server interrupt (reset) . . . Errors IN file /u01/product/admin/RAC/bdump/rac1_p002_1212438.trc: ORA-00600: internal error code, arguments: [ksxprqfre3], [0x110319308], [], … Continue reading

Posted in BUG | Tagged , , | Leave a comment

系统统计信息的保存位置

从9i开始,Oracle就提供了收集系统统计信息的能力,不过直到11.2的文档中,Oracle都从来没有提过统计信息可以从哪个视图中获取。 虽然Oracle提供了一个GET_SYSTEM_STATS的功能,但是使用非常不方便,不如直接查看视图那么简单直观。 既然Oracle自己没有说明,可以通过TRACE的方式来获取Oracle将统计信息存储到哪个基表中: SQL> ALTER SESSION SET EVENTS ‘10046 TRACE NAME CONTEXT FOREVER, LEVEL 12’; 会话已更改。 SQL> EXEC DBMS_STATS.GATHER_SYSTEM_STATS PL/SQL 过程已成功完成。 SQL> ALTER SESSION SET EVENTS ‘10046 TRACE NAME CONTEXT OFF’; 会话已更改。 SQL> SELECT SPID 2 FROM V$SESSION S, V$PROCESS … Continue reading

Posted in ORACLE | Tagged , , | Leave a comment

ORA-600(kdsgrp1)错误

在一个客户的数据库告警日志中,频繁出现ORA-600(kdsgrp1)错误。 详细错误信息为: /oracle/admin/tjsb/udump/tjsb1_ora_1701138.trc Oracle DATABASE 10g Enterprise Edition Release 10.2.0.4.0 – 64bit Production WITH the Partitioning, REAL Application Clusters, DATA Mining AND REAL Application Testing options ORACLE_HOME = /oracle/product/10.2.0/db_1 System name: AIX Node name: p570c Release: 3 Version: 5 Machine: … Continue reading

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

ORA-7445(qeshIHInsertPRowInBkt)错误

客户数据库告警日志出现了这个错误信息。 错误信息如下: Fri Mar 18 09:52:26 2011 Errors IN file /oracle/db/admin/B1EDB/udump/b1edb_ora_20076.trc: ORA-07445: exception encountered: core dump [qeshIHInsertPRowInBkt()+48] [SIGSEGV] [Address NOT mapped TO object] [0x000B2B7B0] [] []Fri Mar 18 09:52:26 2011 Errors in file /oracle/db/admin/B1EDB/udump/b1edb_ora_20076.trc: ORA-07445: exception encountered: core dump [qeshIHInsertPRowInBkt()+48] … Continue reading

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

Windows环境下的ORA-7445(ACCESS_VIOLATION)和ORA-4030错误

客户Windows环境下32位的Oracle 10.2.0.3,在告警日志中发现多次ORA-7445和ORA-4030错误信息。 详细信息为: Mon Aug 01 15:06:06 2011 Errors IN file e:\oradata\acscnprd\trc\usr\acscnprd_ora_3356.trc: ORA-07445: exception encountered: core dump [ACCESS_VIOLATION] [unable_to_trans_pc] [PC:0x605033BB] [ADDR:0x4] [UNABLE_TO_WRITE] [] Mon Aug 01 15:06:06 2011 Errors IN file e:\oradata\acscnprd\trc\usr\acscnprd_ora_3356.trc: ORA-04030: OUT OF process memory WHEN trying TO … Continue reading

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

ORA-600(qknltAllocate_10)错误

虽然访问外部表时Oracle提供了ROWID伪列,但是尝试通过ROWID访问外部表就会导致这个ORA-600的错误。 外部表的ROWID信息:https://yangtingkun.net/?p=176 详细错误如下: SQL> CREATE TABLE t_alert 2 (text varchar2(1000) 3 ) 4 organization external 5 (TYPE oracle_loader 6 DEFAULT directory d_alert 7 access parameters 8 (records delimited BY newline 9 FIELDS (text (1:255) CHAR)) 10 location (’alert_ytk102.log’)); 表已创建。 SQL> … Continue reading

Posted in BUG | Leave a comment

外部表的ROWID信息

ROWID是访问数据库中表的物理地址信息,Oracle提供了ROWID伪列,可以通过ROWID直接访问表中的数据。 ROWNUM固化外部表结果集存在问题:https://yangtingkun.net/?p=38 ROWNUM固化外部表结果集存在问题(二):https://yangtingkun.net/?p=103 在测试外部表时,意外发现,外部表同样存在ROWID伪列: SQL> CREATE directory d_alert AS ‘D:\ORACLE\PRODUCT\ADMIN\YTK102\BDUMP’; 目录已创建。 SQL> CREATE TABLE t_alert 2 (text varchar2(1000) 3 ) 4 organization external 5 (TYPE oracle_loader 6 DEFAULT directory d_alert 7 access parameters 8 (records delimited BY newline 9 FIELDS … Continue reading

Posted in ORACLE | Tagged , | 1 Comment

Database Firewall管理员手册

公司今后很多业务会和安全性有关,Oracle推出了Oracle Database Firewall,对这个产品目前还缺乏最基本的了解,先看看文档扫扫盲。 Oracle的这款安全性产品据说在国内还没有应用,不过随着国内环境对安全性越来越重视,相信不久之后就会有应用出现,所以现在进行一点知识储备还不算晚。 Database Firewall其实并不需要安装在数据库服务器上,它通过网络获取所有访问数据库的SQL语句,并送到专门的服务器上进行分析和报告。当然也可以在数据库服务器上安装一个本地的监视器,可以用来监控流量,以及一些用户和进程的直接访问。 这篇文档在官方网站在线地址是:http://download.oracle.com/docs/cd/E20465_01/doc/doc.50/e18695/toc.htm

Posted in BOOKS | Leave a comment

Logmnr获取SQL长度超过4000的问题

如果LOGMNR获取的SQL_REDO或SQL_UNDO的长度超过4000,则会导致Oracle自动合并拆分行记录。 一个简单的例子来描述这个问题: SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; DATABASE altered. SQL> SELECT GROUP# FROM V$LOG WHERE STATUS = ‘CURRENT’; GROUP# ———- 2 SQL> ALTER SYSTEM SWITCH LOGFILE; System altered. SQL> SELECT GROUP# FROM V$LOG WHERE STATUS = ‘CURRENT’; GROUP# … Continue reading

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