请继续执行操作, 或者让您的系统管理员检查应用程序配置(如果仍有问题)。(SBL-DBC-00107)
Error while trying to retrieve text for error ORA-12545
GenericLogGenericError 1 00000222510a3d05:0 2013-01-31 23:54:40 (secmgr.cpp (2751) err=4597521 sys=0) SBL-SEC-10001: An internal error has occurred within the authentication subsystem for the Siebel application. Please contact your system administrator for assistance.
ObjMgrSessionLogError 1 00000222510a3d05:0 2013-01-31 23:54:40 (physmod.cpp (9377)) SBL-DAT-00565: An internal error has occurred within the authentication subsystem for the Siebel application. Please contact your system administrator for assistance.
ObjMgrSessionLog Error 100000222510a3d05:0 2013-01-31 23:54:40 (model.cpp (5970)) SBL-DAT-00565: An internal error has occurred within the authentication subsystem for the Siebel application. Please contact your system administrator for assistance.
ObjMgrSessionLog ObjMgrLogin 3 00000222510a3d05:0 2013-01-31 23:54:40 Login failed for Login name : YAPY
最近系统日志中经常出现如上错误 ,
解决过程:
---打开service trace :
change parameter EnableServiceArgTracing=True for component EaiObjMgr_enu
or
Administration-Server Configuration=>Servers
找到EAI组件 EAI ObjectManager(ENU)
Parameters点Advanced
找到参数 Enable Business Service Argument Tracing
---打开DBclient trace
“In order to see what is causing the error we need to enable sqlnet tracing on the client side, Siebel machine. Add the following parameters in the sqlnet.ora file on the CLIENT workstation:
DIAG_ADR_ENABLED=off # Diable ADR if version 11g
TRACE_LEVEL_CLIENT = 16 # Enable level 16 trace
TRACE_TIMESTAMP_CLIENT = ON # Set timestamp in the trace files
TRACE_DIRECTORY_CLIENT = <DIRECTORY> # Control trace file location
If you need to restrict the amount of disk space used by the long-term traces then you can also set the following:
TRACE_FILELEN_CLIENT =10240 #Control size of trace set in kilobytes eg 20480
TRACE_FILENO_CLIENT =2 #Control number of trace files per process
This will generate 20M of tracing/client process. As soon as the error reproduces, search in the tracing directory for the trace file containg strings "nserror" or "ns=12545" and upload it for review.
修改sqlnet.ora
vi sqlnet.ora
DIAG_ADR_ENABLED=off # Diable ADR if version 11g
TRACE_LEVEL_CLIENT = 16 # Enable level 16 trace
TRACE_TIMESTAMP_CLIENT = ON # Set timestamp in the trace files
TRACE_DIRECTORY_CLIENT = /opt/oracle/trace # Control trace file location
TRACE_FILELEN_CLIENT =10240 #Control size of trace set in kilobytes eg 20480
TRACE_FILENO_CLIENT =2 #Control number of trace files per process
配置完成后,发现trace 文件一直没生成,
后来在tnsname.ora配置中把域名改为IP
trace 文件就正常生成了,
后来发现trace 文件只在oracle用户下生成,siebel用户并没有生成,
经分析后找到原因,是因为siebel用户对trace文件生成的目录没有写的权限,增加了目录权限后,trace文件在siebel用户下生成正常了,
下面说下怎样找出相关错误日志的方法:
1.先在DB 的trace文件中找出包括 ORA-12549错误的trace 文件:
grep -i "ORA-12549" *.trc
2.找出trace文件后,根据关键字“EAIObj”查找,可以找到对应的session ID 是222301610
3.再根据session ID 找对应的EAI OM日志,
find . -name \* -type f -print | xargs grep '222301610'
4.如果siebel也开了trace,也可根据session ID 查找
find . -name \* -type f -print | xargs grep '222301610'
后来Oracle建议修改几个OS参数:
Parameters change have been done on appcnbj049. Please go ahead to restart the applications.
Before:
[oracle@appcnbj049 ~]$ ulimit -Hs
unlimited
[oracle@appcnbj049 ~]$ ulimit -Hn
1024
[siebel@appcnbj049 ~]$ ulimit -Hs
unlimited
[siebel@appcnbj049 ~]$ ulimit -Hn
1024
After:
[oracle@appcnbj049 ~]$ ulimit -Hs
32768
[oracle@appcnbj049 ~]$ ulimit -Hn
65536
[siebel@appcnbj049 ~]$ ulimit -Hs
32768
[siebel@appcnbj049 ~]$ ulimit -Hn
65536
重启服务器后,经过一段时间观察,没再检出ORA-12549 或 SBL-DAT-00565 错误,貌似问题就这样解决了。