菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
256
0

【翻译自mos文章】在10g中,当发生ORA-00020时,sqlplus登陆会报“connected to an idle instance”

原创
05/13 14:22
阅读数 78225

在10g中。当发生ORA-00020时,sqlplus登陆会报“connected to an idle instance”

来源于:
Sqlplus Logon Reports 'connected to an idle instance' when ORA-20 happens in 10g (文档 ID 1370000.1)

说的比較经典, 不做翻译,直接转帖:

APPLIES TO:

Oracle Server - Enterprise Edition - Version: 10.1.0.4 to 10.2.0.5 - Release: 10.1 to 10.2
Information in this document applies to any platform.

SYMPTOMS

When the maximum number of processes is reached, and a next normal logon reports an ORA-20, a subsequent local connect as sysdba reports:

SQL> connect / as sysdba
Connected to an idle instance.


Trying to start up the database reports:

ORA-01081: cannot start already-running ORACLE - shut it down first


The issue can be reproduced with the following steps:
1. Using a 10g database, build sufficient processes until an ORA-20 occurs
2. Then execute

SQL> connect / as sysdba



 

NOTE:
Connecting from the OS command prompt using
$ sqlplus / as sysdba
the SYSDBA would get the "Connected" message


 

CAUSE

This is expected behavior in Oracle 10g, and is explained in unpublished 
Bug 2935090 - SQLPLUS REPORTS CONNECT TO IDLE INSTANCE WHEN INSTANCE REACHES MAX PROCESSES.

  The reason we don't display error ORA-20 is because you are login as
  sysdba. Being DBA user you must be able to login regardless of the status of
  the database, so that you can take the necessary action to rectify the
  problem.

  As when login as normal user, you are getting the appropriate error but does
  not tell you the process limit. This is because the message is from rdbms
  layer so we have no control of that. In any case, the cause and Action for
  this message state very clear that what you need to do.
  .
  00020, 00000, "maximum number of processes (%s) exceeded"
  // *Cause: All process state objects are in use.
  // *Action: Increase the value of the PROCESSES initialization parameter.

SOLUTION

Ignore this 'Connected to an idle instance.' message and handle it just as a normal ORA-20 error.
The behavior has been changeg in Oracle 11g where it reports an 'ORA-20' instead of 'Connected to an idle instance.'

发表评论

0/200
256 点赞
0 评论
收藏
为你推荐 换一批