Oracle 9.2.0.1 , CentOS 4.4
昨天早上忽然发生程序连接问题, 程序输入用户名及密码后,连接数据库时程序一晃就消失了, 程序log文件中有记录一些信息:
IsNeedUpload`Commodity_ID`5User_ID`Location_ID`6144IP_Address`172.16.132.209Mac_Address`90 FB A6 31 BD 47 Host_Name`imb-sfc-rp01Occurs_Time`2011-01-17 08:04:48Login_Time`1899-12-30 00:00:00Code`30000102Add_Info`Method_Info`Description`Sys_Err_Code`-2147217900Sys_Err_Message`ORA-01455: 转换列溢出整数数据类型Property_01`Property_02`
同时在Oracle数据库中发现的alert log :
Mon Jan 17 07:00:09 2011
Thread 1 advanced to log sequence 41739
Current log# 2 seq# 41739 mem# 0: /opt/oracle/oradata/imb/redofile/redo02.log
Mon Jan 17 07:00:09 2011
ARC1: Evaluating archive log 1 thread 1 sequence 41738
ARC1: Beginning to archive log 1 thread 1 sequence 41738
Creating archive destination LOG_ARCHIVE_DEST_1: '/u06/oradata/imb/archivelog/1_41738.dbf'
ARC1: Completed archiving log 1 thread 1 sequence 41738
Mon Jan 17 07:30:07 2011
Thread 1 advanced to log sequence 41740
Current log# 3 seq# 41740 mem# 0: /opt/oracle/oradata/imb/redofile/redo03.log
Mon Jan 17 07:30:07 2011
ARC0: Evaluating archive log 2 thread 1 sequence 41739
ARC0: Beginning to archive log 2 thread 1 sequence 41739
Creating archive destination LOG_ARCHIVE_DEST_1: '/u06/oradata/imb/archivelog/1_41739.dbf'
ARC0: Completed archiving log 2 thread 1 sequence 41739
Mon Jan 17 07:35:37 2011
Errors in file /opt/oracle/admin/imb/udump/imb_ora_7424.trc:
ORA-00600: internal error code, arguments: [12333], [0], [7], [11], [], [], [], []
Mon Jan 17 07:35:37 2011
Errors in file /opt/oracle/admin/imb/udump/imb_ora_7424.trc:
ORA-07445: exception encountered: core dump [kdbmal()+27] [SIGSEGV] [Address not mapped to object] [0x38] [] []
ORA-00600: internal error code, arguments: [12333], [0], [7], [11], [], [], [], []
Mon Jan 17 07:35:38 2011
Errors in file /opt/oracle/admin/imb/udump/imb_ora_7424.trc:
ORA-07445: exception encountered: core dump [kdbmal()+27] [SIGSEGV] [Address not mapped to object] [0x38] [] []
ORA-07445: exception encountered: core dump [kdbmal()+27] [SIGSEGV] [Address not mapped to object] [0x38] [] []
ORA-00600: internal error code, arguments: [12333], [0], [7], [11], [], [], [], []
Mon Jan 17 07:35:38 2011
Errors in file /opt/oracle/admin/imb/udump/imb_ora_7424.trc:
ORA-07445: exception encountered: core dump [kdbmal()+27] [SIGSEGV] [Address not mapped to object] [0x38] [] []
ORA-07445: exception encountered: core dump [kdbmal()+27] [SIGSEGV] [Address not mapped to object] [0x38] [] []
ORA-07445: exception encountered: core dump [kdbmal()+27] [SIGSEGV] [Address not mapped to object] [0x38] [] []
ORA-00600: internal error code, arguments: [12333], [0], [7], [11], [], [], [], []
Mon Jan 17 07:36:13 2011
Errors in file /opt/oracle/admin/imb/udump/imb_ora_7454.trc:
ORA-00600: internal error code, arguments: [12333], [0], [7], [16], [], [], [], []
Mon Jan 17 07:36:13 2011
Errors in file /opt/oracle/admin/imb/udump/imb_ora_7454.trc:
ORA-07445: exception encountered: core dump [kdbmal()+27] [SIGSEGV] [Address not mapped to object] [0x38] [] []
ORA-00600: internal error code, arguments: [12333], [0], [7], [16], [], [], [], []
Mon Jan 17 07:36:14 2011
Errors in file /opt/oracle/admin/imb/udump/imb_ora_7454.trc:
ORA-07445: exception encountered: core dump [kdbmal()+27] [SIGSEGV] [Address not mapped to object] [0x38] [] []
ORA-07445: exception encountered: core dump [kdbmal()+27] [SIGSEGV] [Address not mapped to object] [0x38] [] []
ORA-00600: internal error code, arguments: [12333], [0], [7], [16], [], [], [], []
Mon Jan 17 07:36:14 2011
Errors in file /opt/oracle/admin/imb/udump/imb_ora_7454.trc:
ORA-07445: exception encountered: core dump [kdbmal()+27] [SIGSEGV] [Address not mapped to object] [0x38] [] []
ORA-07445: exception encountered: core dump [kdbmal()+27] [SIGSEGV] [Address not mapped to object] [0x38] [] []
ORA-07445: exception encountered: core dump [kdbmal()+27] [SIGSEGV] [Address not mapped to object] [0x38] [] []
ORA-00600: internal error code, arguments: [12333], [0], [7], [16], [], [], [], []
trace文件信息:
/opt/oracle/admin/imb/udump/imb_ora_7454.trc
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
ORACLE_HOME = /opt/oracle/product/9.2.0
System name: Linux
Node name: imbdb.localdomain
Release: 2.6.9-42.ELsmp
Version: #1 SMP Sat Aug 12 09:39:11 CDT 2006
Machine: i686
Instance name: imb
Redo thread mounted by this instance: 1
Oracle process number: 63
Unix process pid: 7454, image: oracle@imbdb.localdomain (TNS V1-V3)
*** SESSION ID 81.60124) 2011-01-17 07:36:13.783
*** 2011-01-17 07:36:13.783
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [12333], [0], [7], [16], [], [], [], []
Current SQL statement for this session:
BEGIN IMB.SP_NEXT_ID(:1,:2); END;
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
ksedmp()+267 call 00000000 0 ? A85DC00 ? BFFFDCA8 ?
8457FDE ? A8DE6E0 ? A01E968 ?
ksfdmp()+25 call ksedmp()+0 3 ? A85733C ? A8EEC78 ? 258 ?
0 ? 302D ?
kgesiv()+274 call ksfdmp()+0 A857260 ? 3 ? 8 ? 974C2FE ?
ksesic3()+115 call kgesiv()+0 A857260 ? A8EEC78 ? 302D ?
3 ? BFFFDD54 ? 1 ?
opitsk()+2077 call ksesic3()+0 302D ? 0 ? 0 ? 0 ? 7 ? 0 ?
10 ? 0 ?
opiino()+1603 call opitsk()+0 0 ? 0 ? BFFFF378 ? 8CB6122 ?
A85DC00 ? A8DE630 ?
opiodr()+1760 call opiino()+0 3C ? 4 ? BFFFF7E8 ?
BFFFF3D4 ?
opidrv()+647 call opiodr()+0 3C ? 4 ? BFFFF7E8 ? 0 ?
BFFFF7F8 ? A207204 ?
sou2o()+36 call opidrv()+0 3C ? 4 ? BFFFF7E8 ? 81E3112 ?
0 ? A07F7B9 ?
main()+244 call sou2o()+0 BFFFF7F8 ? 3C ? 4 ?
BFFFF7E8 ? B7B57FF4 ?
BFFFF8B0 ?
__libc_start_main() call main()+0 2 ? BFFFF8A4 ? BFFFF8B0 ?
+161 1A3FD4 ? 2 ? 81E2CD0 ?
--------------------- Binary Stack Dump ---------------------
========== FRAME. [1] (ksedmp()+267 -> 00000000) ==========
Dump of memory from 0xBFFFDBA8 to 0xBFFFDCA8
BFFFDBA0 BFFFDCA8 084580DB [......E.]
...........
临时解决方法: 重新启动数据库, 正常。
分析:
trace文件中的 BEGIN IMB.SP_NEXT_ID(:1,:2); END; 这个是一个procedure, 会不停向某个表中的一个id字段加 1, 某些逻辑运行一次加一次1, 增长得
非常快, 怀疑是number字段达到了最大值, 但是查询发现根本就没有(虽然很大), 且重新启动数据库可以解决, 也说明不是这个number字段的问题, 因为它
的数字不会减少, 进一步怀疑是delphi程序中不能处理这么大的number数字, 同样,这个数字没有减少, 也不太可能是delphi程序处理的问题, 数据库reboot
了就OK了, 看来还是要从数据库端着手, 9201的库, bug倒是很多, 但是在metalink 找了,也没有找到完全对应的文章 。
在测试库中建立了一个测试表, 并使用一个delphi测试程序进行procedure调用, 发现手工在id 字段上加多大都没有问题, 但是在程序中id号到了 4294967295
之后就会报错 (程序报错,数据库端没有error message) , 因为没有9201的库,使用的 9207的测试库。
昨天早上忽然发生程序连接问题, 程序输入用户名及密码后,连接数据库时程序一晃就消失了, 程序log文件中有记录一些信息:
IsNeedUpload`Commodity_ID`5User_ID`Location_ID`6144IP_Address`172.16.132.209Mac_Address`90 FB A6 31 BD 47 Host_Name`imb-sfc-rp01Occurs_Time`2011-01-17 08:04:48Login_Time`1899-12-30 00:00:00Code`30000102Add_Info`Method_Info`Description`Sys_Err_Code`-2147217900Sys_Err_Message`ORA-01455: 转换列溢出整数数据类型Property_01`Property_02`
同时在Oracle数据库中发现的alert log :
Mon Jan 17 07:00:09 2011
Thread 1 advanced to log sequence 41739
Current log# 2 seq# 41739 mem# 0: /opt/oracle/oradata/imb/redofile/redo02.log
Mon Jan 17 07:00:09 2011
ARC1: Evaluating archive log 1 thread 1 sequence 41738
ARC1: Beginning to archive log 1 thread 1 sequence 41738
Creating archive destination LOG_ARCHIVE_DEST_1: '/u06/oradata/imb/archivelog/1_41738.dbf'
ARC1: Completed archiving log 1 thread 1 sequence 41738
Mon Jan 17 07:30:07 2011
Thread 1 advanced to log sequence 41740
Current log# 3 seq# 41740 mem# 0: /opt/oracle/oradata/imb/redofile/redo03.log
Mon Jan 17 07:30:07 2011
ARC0: Evaluating archive log 2 thread 1 sequence 41739
ARC0: Beginning to archive log 2 thread 1 sequence 41739
Creating archive destination LOG_ARCHIVE_DEST_1: '/u06/oradata/imb/archivelog/1_41739.dbf'
ARC0: Completed archiving log 2 thread 1 sequence 41739
Mon Jan 17 07:35:37 2011
Errors in file /opt/oracle/admin/imb/udump/imb_ora_7424.trc:
ORA-00600: internal error code, arguments: [12333], [0], [7], [11], [], [], [], []
Mon Jan 17 07:35:37 2011
Errors in file /opt/oracle/admin/imb/udump/imb_ora_7424.trc:
ORA-07445: exception encountered: core dump [kdbmal()+27] [SIGSEGV] [Address not mapped to object] [0x38] [] []
ORA-00600: internal error code, arguments: [12333], [0], [7], [11], [], [], [], []
Mon Jan 17 07:35:38 2011
Errors in file /opt/oracle/admin/imb/udump/imb_ora_7424.trc:
ORA-07445: exception encountered: core dump [kdbmal()+27] [SIGSEGV] [Address not mapped to object] [0x38] [] []
ORA-07445: exception encountered: core dump [kdbmal()+27] [SIGSEGV] [Address not mapped to object] [0x38] [] []
ORA-00600: internal error code, arguments: [12333], [0], [7], [11], [], [], [], []
Mon Jan 17 07:35:38 2011
Errors in file /opt/oracle/admin/imb/udump/imb_ora_7424.trc:
ORA-07445: exception encountered: core dump [kdbmal()+27] [SIGSEGV] [Address not mapped to object] [0x38] [] []
ORA-07445: exception encountered: core dump [kdbmal()+27] [SIGSEGV] [Address not mapped to object] [0x38] [] []
ORA-07445: exception encountered: core dump [kdbmal()+27] [SIGSEGV] [Address not mapped to object] [0x38] [] []
ORA-00600: internal error code, arguments: [12333], [0], [7], [11], [], [], [], []
Mon Jan 17 07:36:13 2011
Errors in file /opt/oracle/admin/imb/udump/imb_ora_7454.trc:
ORA-00600: internal error code, arguments: [12333], [0], [7], [16], [], [], [], []
Mon Jan 17 07:36:13 2011
Errors in file /opt/oracle/admin/imb/udump/imb_ora_7454.trc:
ORA-07445: exception encountered: core dump [kdbmal()+27] [SIGSEGV] [Address not mapped to object] [0x38] [] []
ORA-00600: internal error code, arguments: [12333], [0], [7], [16], [], [], [], []
Mon Jan 17 07:36:14 2011
Errors in file /opt/oracle/admin/imb/udump/imb_ora_7454.trc:
ORA-07445: exception encountered: core dump [kdbmal()+27] [SIGSEGV] [Address not mapped to object] [0x38] [] []
ORA-07445: exception encountered: core dump [kdbmal()+27] [SIGSEGV] [Address not mapped to object] [0x38] [] []
ORA-00600: internal error code, arguments: [12333], [0], [7], [16], [], [], [], []
Mon Jan 17 07:36:14 2011
Errors in file /opt/oracle/admin/imb/udump/imb_ora_7454.trc:
ORA-07445: exception encountered: core dump [kdbmal()+27] [SIGSEGV] [Address not mapped to object] [0x38] [] []
ORA-07445: exception encountered: core dump [kdbmal()+27] [SIGSEGV] [Address not mapped to object] [0x38] [] []
ORA-07445: exception encountered: core dump [kdbmal()+27] [SIGSEGV] [Address not mapped to object] [0x38] [] []
ORA-00600: internal error code, arguments: [12333], [0], [7], [16], [], [], [], []
trace文件信息:
/opt/oracle/admin/imb/udump/imb_ora_7454.trc
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
ORACLE_HOME = /opt/oracle/product/9.2.0
System name: Linux
Node name: imbdb.localdomain
Release: 2.6.9-42.ELsmp
Version: #1 SMP Sat Aug 12 09:39:11 CDT 2006
Machine: i686
Instance name: imb
Redo thread mounted by this instance: 1
Oracle process number: 63
Unix process pid: 7454, image: oracle@imbdb.localdomain (TNS V1-V3)
*** SESSION ID 81.60124) 2011-01-17 07:36:13.783
*** 2011-01-17 07:36:13.783
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [12333], [0], [7], [16], [], [], [], []
Current SQL statement for this session:
BEGIN IMB.SP_NEXT_ID(:1,:2); END;
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
ksedmp()+267 call 00000000 0 ? A85DC00 ? BFFFDCA8 ?
8457FDE ? A8DE6E0 ? A01E968 ?
ksfdmp()+25 call ksedmp()+0 3 ? A85733C ? A8EEC78 ? 258 ?
0 ? 302D ?
kgesiv()+274 call ksfdmp()+0 A857260 ? 3 ? 8 ? 974C2FE ?
ksesic3()+115 call kgesiv()+0 A857260 ? A8EEC78 ? 302D ?
3 ? BFFFDD54 ? 1 ?
opitsk()+2077 call ksesic3()+0 302D ? 0 ? 0 ? 0 ? 7 ? 0 ?
10 ? 0 ?
opiino()+1603 call opitsk()+0 0 ? 0 ? BFFFF378 ? 8CB6122 ?
A85DC00 ? A8DE630 ?
opiodr()+1760 call opiino()+0 3C ? 4 ? BFFFF7E8 ?
BFFFF3D4 ?
opidrv()+647 call opiodr()+0 3C ? 4 ? BFFFF7E8 ? 0 ?
BFFFF7F8 ? A207204 ?
sou2o()+36 call opidrv()+0 3C ? 4 ? BFFFF7E8 ? 81E3112 ?
0 ? A07F7B9 ?
main()+244 call sou2o()+0 BFFFF7F8 ? 3C ? 4 ?
BFFFF7E8 ? B7B57FF4 ?
BFFFF8B0 ?
__libc_start_main() call main()+0 2 ? BFFFF8A4 ? BFFFF8B0 ?
+161 1A3FD4 ? 2 ? 81E2CD0 ?
--------------------- Binary Stack Dump ---------------------
========== FRAME. [1] (ksedmp()+267 -> 00000000) ==========
Dump of memory from 0xBFFFDBA8 to 0xBFFFDCA8
BFFFDBA0 BFFFDCA8 084580DB [......E.]
...........
临时解决方法: 重新启动数据库, 正常。
分析:
trace文件中的 BEGIN IMB.SP_NEXT_ID(:1,:2); END; 这个是一个procedure, 会不停向某个表中的一个id字段加 1, 某些逻辑运行一次加一次1, 增长得
非常快, 怀疑是number字段达到了最大值, 但是查询发现根本就没有(虽然很大), 且重新启动数据库可以解决, 也说明不是这个number字段的问题, 因为它
的数字不会减少, 进一步怀疑是delphi程序中不能处理这么大的number数字, 同样,这个数字没有减少, 也不太可能是delphi程序处理的问题, 数据库reboot
了就OK了, 看来还是要从数据库端着手, 9201的库, bug倒是很多, 但是在metalink 找了,也没有找到完全对应的文章 。
在测试库中建立了一个测试表, 并使用一个delphi测试程序进行procedure调用, 发现手工在id 字段上加多大都没有问题, 但是在程序中id号到了 4294967295
之后就会报错 (程序报错,数据库端没有error message) , 因为没有9201的库,使用的 9207的测试库。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-684183/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/35489/viewspace-684183/