ORA-01012: not logged on 解决办法

rac 环境节点三 出现如下 问题

那么重新启动实例 就好了。

kill oracle 进程 或者关掉oracle

ps -ef|grep ora_dbw0_$ORACLE_SID
kill  -9 pid

 

重新启动oracle

sqlplus sys as sysdba
startup;

参考:

今天接到现场反馈,数据库出现ORA-01012: not logged on错误提示,这个问题上次也出现过一次,当时按照网上说的方法,直接重启数据库了,问题解决了,同时也导致因为数据库重启,现场破坏,而alert日志中无任何异常信息,所以不知从何处下手分析。这次我上数据库准备查看时,发现数据库已经正常,监控也显示正常,说明数据库已经恢复正常。从此我推理这个问题应该是外部因素导致,而不是数据库本身的bug,从而决定要找出该问题的原因来。有个重要的因素,该数据库是我几个月前因为undo损坏做过恢复的,查看相关参数,发现processes是默认值150,是不是该值导致的不敢肯定,因为一般process超了会报ORA-00020错误,而这次只有ORA-01012。但是心中还是没有底,总感觉这个的可能性最大,于是想通过试验来证实下自己的想法
1、数据库版本(10g结果相同)
SQL> select * from v$version where rownum=1;

BANNER
—————————————————————-
Oracle9i Enterprise Edition Release 9.2.0.4.0 – Production

2、创建pfile,修改processes,重启数据库,查看processes值
SQL> select name,value from v$parameter where name=’processes’;

NAME VALUE
——————– ——————–
processes 30

3、查看系统processes数量
SQL> select count(*) from v$process;

COUNT(*)
———-
13

4、添加数据库连接数(为了增加process数目)
[oracle@localhost ~]$ sqlplus chf/xifenfei

SQL*Plus: Release 9.2.0.4.0 – Production on Wed Jul 27 23:11:50 2011

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 – Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 – Production

SQL> !

5、重复3和4,发现当process数量为29时出现激动人心一幕
5.1)继续访问数据库
[oracle@localhost ~]$ sqlplus system/xifenfei

SQL*Plus: Release 9.2.0.4.0 – Production on Wed Jul 27 23:12:06 2011

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

ERROR:
ORA-00020:
maximum number of processes (%s) exceeded

Enter user-name:

5.2)使用其他用户访问
[oracle@localhost ~]$ sqlplus /nolog

SQL*Plus: Release 9.2.0.4.0 – Production on Wed Jul 27 23:12:49 2011

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> conn / as sysdba
Connected to an idle instance.
SQL> select * from dual;
select * from dual
*
ERROR at line 1:
ORA-01012:
not logged on

SQL> conn chf/xifenfei
ERROR:
ORA-00020:
maximum number of processes (%s) exceeded

[oracle@localhost ~]$ sqlplus “/ as sysdba”

SQL*Plus: Release 9.2.0.4.0 – Production on Wed Jul 27 23:29:52 2011

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Connected.
SQL> select * from dual;
select * from dual
*
ERROR at line 1:
ORA-01012:
not logged on
现象说明:
1)终于发现了ORA-01012错误,期待了很久。发现只有当sys登录系统,对数据库进行查询或者操作之时才会出现ORA-01012,其他用户只要一登录数据库就会提示ORA-00020错误。

2)当process达到数据库最大限时,sysdba登录系统是也显示不正常
2.1)当使用sqlplus “/ as sysdba”登录时,缺少:
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 – Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 – Production
2.2)当使用conn / as sysdba登录时,提示为:
Connected to an idle instance.

此条目发表在 ORA-xxxxx 分类目录,贴了 ORA-01012 标签。将固定链接加入收藏夹。

← ORA-01031:
insufficient privileges

Total insert
collisions (ogg) →

《ORA-01012: not logged on》

  1. (1)怎能随便abort?!
    (2)改这个值重启DB,所以在规划DB的时候必须考虑这个问题;
    (3)processes设置得过大也没用,当系统资源到一定限度的时候,没到processes,也会出现这个现象!
    (4)存在这个问题很多时候应用程序有bug,没及时释放连接!

      [引用]  [回复]

  2. 遇到使用sysdba登录出现ORA-01012
    可以采用以下四种思路处理,治本的办法还是修改processes值,或者禁止一些异常访问
    1、等访问数下降下来再登录
    2、sqlplus “/ as sysdba”
    shutdown abort
    3、ps -ef|grep ora_dbw0_$ORACLE_SID
    kill -9 pid
    4、kill掉一些不重要的session

 rac 环境节点三 出现如下 问题

那么重新启动实例 就好了。

kill oracle 进程 或者关掉oracle

ps -ef|grep ora_dbw0_$ORACLE_SID
kill  -9 pid

 

重新启动oracle

sqlplus sys as sysdba
startup;

参考:

今天接到现场反馈,数据库出现ORA-01012: not logged on错误提示,这个问题上次也出现过一次,当时按照网上说的方法,直接重启数据库了,问题解决了,同时也导致因为数据库重启,现场破坏,而alert日志中无任何异常信息,所以不知从何处下手分析。这次我上数据库准备查看时,发现数据库已经正常,监控也显示正常,说明数据库已经恢复正常。从此我推理这个问题应该是外部因素导致,而不是数据库本身的bug,从而决定要找出该问题的原因来。有个重要的因素,该数据库是我几个月前因为undo损坏做过恢复的,查看相关参数,发现processes是默认值150,是不是该值导致的不敢肯定,因为一般process超了会报ORA-00020错误,而这次只有ORA-01012。但是心中还是没有底,总感觉这个的可能性最大,于是想通过试验来证实下自己的想法
1、数据库版本(10g结果相同)
SQL> select * from v$version where rownum=1;

BANNER
—————————————————————-
Oracle9i Enterprise Edition Release 9.2.0.4.0 – Production

2、创建pfile,修改processes,重启数据库,查看processes值
SQL> select name,value from v$parameter where name=’processes’;

NAME VALUE
——————– ——————–
processes 30

3、查看系统processes数量
SQL> select count(*) from v$process;

COUNT(*)
———-
13

4、添加数据库连接数(为了增加process数目)
[oracle@localhost ~]$ sqlplus chf/xifenfei

SQL*Plus: Release 9.2.0.4.0 – Production on Wed Jul 27 23:11:50 2011

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 – Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 – Production

SQL> !

5、重复3和4,发现当process数量为29时出现激动人心一幕
5.1)继续访问数据库
[oracle@localhost ~]$ sqlplus system/xifenfei

SQL*Plus: Release 9.2.0.4.0 – Production on Wed Jul 27 23:12:06 2011

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

ERROR:
ORA-00020:
maximum number of processes (%s) exceeded

Enter user-name:

5.2)使用其他用户访问
[oracle@localhost ~]$ sqlplus /nolog

SQL*Plus: Release 9.2.0.4.0 – Production on Wed Jul 27 23:12:49 2011

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> conn / as sysdba
Connected to an idle instance.
SQL> select * from dual;
select * from dual
*
ERROR at line 1:
ORA-01012:
not logged on

SQL> conn chf/xifenfei
ERROR:
ORA-00020:
maximum number of processes (%s) exceeded

[oracle@localhost ~]$ sqlplus “/ as sysdba”

SQL*Plus: Release 9.2.0.4.0 – Production on Wed Jul 27 23:29:52 2011

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Connected.
SQL> select * from dual;
select * from dual
*
ERROR at line 1:
ORA-01012:
not logged on
现象说明:
1)终于发现了ORA-01012错误,期待了很久。发现只有当sys登录系统,对数据库进行查询或者操作之时才会出现ORA-01012,其他用户只要一登录数据库就会提示ORA-00020错误。

2)当process达到数据库最大限时,sysdba登录系统是也显示不正常
2.1)当使用sqlplus “/ as sysdba”登录时,缺少:
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 – Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 – Production
2.2)当使用conn / as sysdba登录时,提示为:
Connected to an idle instance.

此条目发表在 ORA-xxxxx 分类目录,贴了 ORA-01012 标签。将固定链接加入收藏夹。

← ORA-01031:
insufficient privileges

Total insert
collisions (ogg) →

ORA-01012: not logged on》有
2 条评论

  1. xff 说:

    2011
    年 08 月 05 日09:55

    (1)怎能随便abort?!
    (2)改这个值重启DB,所以在规划DB的时候必须考虑这个问题;
    (3)processes设置得过大也没用,当系统资源到一定限度的时候,没到processes,也会出现这个现象!
    (4)存在这个问题很多时候应用程序有bug,没及时释放连接!

      [引用]  [回复]


  2. 分飞
     说:

    2011
    年 08 月 04 日20:37

    遇到使用sysdba登录出现ORA-01012
    可以采用以下四种思路处理,治本的办法还是修改processes值,或者禁止一些异常访问
    1、等访问数下降下来再登录
    2、sqlplus “/ as sysdba”
    shutdown abort
    3、ps -ef|grep ora_dbw0_$ORACLE_SID
    kill -9 pid
    4、kill掉一些不重要的session

时间: 2024-11-27 09:35:44

ORA-01012: not logged on 解决办法的相关文章

plsql在64位机器下读取tnsname.ora 及oracle_home异常的解决办法

问题是: 我在自己电脑(win7  64bit)上安装了oracle的64位数据库   通过sqlplus能正常连接 主要是安装pl/sql时   我是这样安装的1.在网上下载了个instantclient-basic-nt-11.2.0.3.0包  解压放在E盘下   路径如下E:\instantclient-basic-nt-11.2.0.3.0\instantclient_11_2 2.我在PL/SQL中的perferences中connection中的oracle_home:E:\ins

Oracle数据库ORA 54013错误的解决办法_oracle

ORA-54013: 不允许对虚拟列执行 INSERT 操作 这是Oracle 11 的新特性 -- 虚拟列. 在以前的Oracle 版本,当我们需要使用表达式或者一些计算公式时,我们会创建数据库视图,如果我们需要在这个视图上使用索引,我们会创建基于函数的索引.现在Oracle 11允许我们直接在表上使用虚拟列来存储表达式.虚拟列的值是不存储在磁盘的,它们是在查询时根据定义的表达式临时计算的.我们不能往虚拟列中插入数据,我们也不能隐式的添加数据到虚拟列,我们只能使用物理列来插入数据.然后可以查询

ORA-01034错误的解决办法

错误|解决 ORA-01034错误的解决办法 --Oracle常见错误之一 事先说明,Oracle高手是不需要看本文的. 这是个Oracle数据库服务器比较常见的错误.有经验的用户几乎马上就能解决这个错误,再不济也能马上到Metalink(http://metalink.oracle.com)去搜索一下. 不幸的是,大多的时候,都是初级用户遇到的这样的问题(对他们提Metalink也起不到什么作用--一般都没有上面的帐号:)).所以,这个小帖子可能还有一定的作用. 问题描述======= 在试图

ORACLE920与ASP的连接问题的解决办法

oracle|解决|问题 ORACLE920与ASP的连接问题的解决办法 代码如下: <% on error resume next '连接数据库 Set OraSession = CreateObject("OracleInProcServer.XOraSession") set oradatabase=orasession.dbopendatabase("数据库名","用户名/密码",0) '出错处理 if err.number >

使用eclipse进行Android编程发生崩溃的问题及解决办法

刚才在使用eclipse的时候发生了vm占用过高而无法使用的问题,最初我以为只要重启eclipse就可以解决,重启之后仍然没有效果.重启PC之后打开eclipse仍然无法打开.eclipse是有自己的崩溃日志的,找到崩溃日志,经过尝试确认stackoverflow中的一个回答对于我的问题是有效的,具体步骤如下. 一.查看eclipse的崩溃日志 eclipse的崩溃日志保存的位置是 (工作空间目录/.metadata/.log).打开.log文件,可以看到eclipse运行的日志,也有最近崩溃的

Oracle数据库ORA-12514错误的解决办法

  问题提示 错误提示:ERROR:ORA-12514: TNS:listener could not resolve SERVICE_NAME given in connect 解决方法: 代码如下 1. 打开/network/admin/listener.ora文件,找到: SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = D:oracleproduct10.1.0db_1)

Oracle的常见错误及解决办法

                      ORA-12528: TNS:listener: all appropriate instances are blocking new connections     ORA-12528问题是因为监听中的服务使用了动态服务,实例虽然启动,但没有注册到监听.实例是通过PMON进程注册到监听上的,而PMON进程需要在MOUNT状态下才会启动.所以造成了上面的错误. 解决这个问题,有三种方法:1.把监听设置为静态:2.在tnsnames.ora中追加(UR=

oracle适配器连接不上的解决办法_oracle

racle 的Developer连接不上报错:listener does not currently know of SID given in connect descriptor 解决办法: 在 D:\app\Administrator\product\..\dbhome_\NETWORK\ADMIN中找到listener.ora文件,修改后的文件在"下面"中,复制并覆盖就ok了. # listener.ora Network Configuration File: D:\app\A

POS链路不能打开的解决办法

介绍的是POS链路不能打开的解决办法,其原因是C2字节不匹配,这里以华为路由器为组网环境. 一.网络环境 路由器A有GE接口和2.5G POS接口与其他路由器连接,启动路由器A后,发现GE端口的状态为正常开启,但2.5G POS端口无法开启. 1.POS接口的配置如下: interface Pos7/0/0 undo shutdown link-protocol hdlc undo scramble ip address 10.112.0.1 255.255.255.252 2.查看系统日志,发