ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 前台ORA-1075错误后台ORA-18错误

前台ORA-1075错误后台ORA-18错误

原创 Linux操作系统 作者:yangtingkun 时间:2009-05-31 23:26:34 0 删除 编辑

今天碰到一个有趣的bug,使用SYSDBA连接数据库报错,错误信息为ORA-1075,但是后台alert文件中显示的错误信息为ORA-18错误。

 

 

这个错误信息还是第一次碰到:

SQL> CONN / AS SYSDBA
ORA-01075: you are currently logged on

查看了一下Oracle错误的文档描述:

ORA-01075: you are currently logged on
Cause: Attempt to login while logged in.
Action: None

根据这个错误描述,看不到任何有意义的信息。首先错误描述就很奇怪:你当前已经登陆,这也算错误信息吗。而原因描述也让人摸不着头脑,在登陆的情况下尝试登陆。确实现在处于登陆状态,但是在SQLPLUS下经常会在登陆的情况下,执行CONNECT操作,SQLPLUS会自动的退出当前的会话,并建立新的连接。而这个ORA-1075错误还是第一次碰到。而Oracle给出的建议居然没有,实在是一个很奇怪的错误信息。

既然前台看不到什么有价值的信息,只好看看后台alert文件中是否有对应的错误,结果发现,后台出现了大量的ORA-18错误:

Tue May 26 17:13:24 2009
Errors in file /opt/oracle/admin/tradedb/bdump/tradedb2_q002_6234.trc:
ORA-00018: maximum number of sessions exceeded
Tue May 26 17:15:27 2009
Errors in file /opt/oracle/admin/tradedb/bdump/tradedb2_smon_8768.trc:
ORA-00018: maximum number of sessions exceeded
Tue May 26 17:15:27 2009
Errors in file /opt/oracle/admin/tradedb/bdump/tradedb2_smon_8768.trc:
ORA-00018: maximum number of sessions exceeded
Tue May 26 17:23:21 2009
Errors in file /opt/oracle/admin/tradedb/bdump/tradedb2_q002_23030.trc:
ORA-00018: maximum number of sessions exceeded
Tue May 26 17:36:44 2009
Errors in file /opt/oracle/admin/tradedb/bdump/tradedb2_q000_10124.trc:
ORA-00018: maximum number of sessions exceeded
Tue May 26 17:41:33 2009
Errors in file /opt/oracle/admin/tradedb/bdump/tradedb2_m002_25005.trc:
ORA-00018: maximum number of sessions exceeded
.
.
.
Errors in file /opt/oracle/admin/tradedb/bdump/tradedb2_m002_25960.trc:
ORA-00018: maximum number of sessions exceeded
Tue May 26 18:20:15 2009
Errors in file /opt/oracle/admin/tradedb/bdump/tradedb2_ora_29282.trc:
ORA-00018: maximum number of sessions exceeded
Tue May 26 18:22:26 2009
ksvcreate: Process(m002) creation failed
Tue May 26 18:23:30 2009
Errors in file /opt/oracle/admin/tradedb/bdump/tradedb2_m002_4872.trc:
ORA-00018: maximum number of sessions exceeded
Tue May 26 18:24:30 2009
Errors in file /opt/oracle/admin/tradedb/bdump/tradedb2_m002_6522.trc:
ORA-00018: maximum number of sessions exceeded
.
.
.
Tue May 26 19:25:48 2009
Errors in file /opt/oracle/admin/tradedb/bdump/tradedb2_m002_18763.trc:
ORA-00018: maximum number of sessions exceeded

检查这些错误发现,大部分是后台进程启动时碰到ORA-18错误,由于当前实例中会话数量太多,导致后台进程报错:

bash-3.00$ more /opt/oracle/admin/tradedb/bdump/tradedb2_q002_6234.trc
/opt/oracle/admin/tradedb/bdump/tradedb2_q002_6234.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
ORACLE_HOME = /opt/oracle/product/10.2/database
System name:    SunOS
Node name:      ahrac2
Release:        5.10
Version:        Generic_118833-33
Machine:        sun4u
Instance name: tradedb2
Redo thread mounted by this instance: 2
Oracle process number: 166
Unix process pid: 6234, image: oracle@ahrac2 (q002)

*** 2009-05-26 17:13:24.874
*** SERVICE NAME:(SYS$BACKGROUND) 2009-05-26 17:13:24.860
*** SESSION ID:(136.55749) 2009-05-26 17:13:24.860
KSV 18 error in slave process
*** 2009-05-26 17:13:24.875
ORA-00018: maximum number of sessions exceeded
OPIRIP: Uncaught error 447. Error stack:
ORA-00447: fatal error in background process
ORA-00018: maximum number of sessions exceeded
bash-3.00$ more /opt/oracle/admin/tradedb/bdump/tradedb2_m002_25005.trc
/opt/oracle/admin/tradedb/bdump/tradedb2_m002_25005.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
ORACLE_HOME = /opt/oracle/product/10.2/database
System name:    SunOS
Node name:      ahrac2
Release:        5.10
Version:        Generic_118833-33
Machine:        sun4u
Instance name: tradedb2
Redo thread mounted by this instance: 2
Oracle process number: 52
Unix process pid: 25005, image: oracle@ahrac2 (m002)

*** ACTION NAME:(Auto-CPUUSAGE Action) 2009-05-26 17:41:33.273
*** MODULE NAME:(MMON_SLAVE) 2009-05-26 17:41:33.273
*** SERVICE NAME:(SYS$BACKGROUND) 2009-05-26 17:41:33.273
*** SESSION ID:(144.1011) 2009-05-26 17:41:33.273
KSV 18 error in slave process
*** 2009-05-26 17:41:33.288
ORA-00018: maximum number of sessions exceeded
OPIRIP: Uncaught error 447. Error stack:
ORA-00447: fatal error in background process
ORA-00018: maximum number of sessions exceeded

但是其中有一个错误比较特别,可能就是SQLPLUS的登陆造成的:

bash-3.00$ more /opt/oracle/admin/tradedb/bdump/tradedb2_ora_29282.trc
/opt/oracle/admin/tradedb/bdump/tradedb2_ora_29282.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
ORACLE_HOME = /opt/oracle/product/10.2/database
System name:    SunOS
Node name:      ahrac2
Release:        5.10
Version:        Generic_118833-33
Machine:        sun4u
Instance name: tradedb2
Redo thread mounted by this instance: 2
Oracle process number: 182
Unix process pid: 29282, image: oracle@ahrac2

KSV 18 error in slave process
*** 2009-05-26 18:20:15.519
ORA-00018: maximum number of sessions exceeded

查询了一下metalink,果然发现类似的bug存在:Bug No. 7033844Oracle居然要在11.2版本才解决这个bug,好在这个bug对系统影响不大,只是错误信息不明确,让人容易产生误会,不好确定问题的原因而已。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-604584/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1955
  • 访问量
    10455950