sqlplus中prelim / as sysdba宕机且无法进入怎么办

63次阅读
没有评论

共计 2439 个字符,预计需要花费 7 分钟才能阅读完成。

这篇文章主要介绍 sqlplus 中 prelim / as sysdba 宕机且无法进入怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

遇到一个系统,数据库无法正常运行,查看数据库的进程发现数据库已宕,结果如下:

[oracle@xiaowu ~]$ ps -ef | grep
ora_

oracle 6218 6161 0 09:39 pts/2 00:00:00 grep
ora_

用超级管理员用户登录数据库时,系统报 ORA-00020
的错误,很奇怪,数据库未启动,还报进程数超上限的错误。

[oracle@xiaowu ~]$ sqlplus / as
sysdba

SQL*Plus: Release 11.2.0.1.0
Production on Wed Oct 23 10:48:12 2013

Copyright (c) 1982, 2009, Oracle.
 All rights reserved.

ERROR:

ORA-00020:maximum number of
processes (500) exceeded

Enter user-name:

解决 ORA-00020
错误,加大 processes 的参数值即可,但是需要正常启动数据库并成功登陆后才能修改,但是现在数据库都无法正常启动,一时想不到解决方法,最后求助资深 DBA 解决,方法如下:

首先通过加参数“-prelim”成功登陆数据库

[oracle@xiaowu ~]$ sqlplus -prelim / as sysdba

SQL*Plus: Release 11.2.0.1.0
Production on Wed Oct 23 11:10:09 2013

Copyright (c) 1982, 2009, Oracle.
 All rights reserved.

SQL  

此时就可以正常关闭和开启数据库,安装如下命令操作解决问题:

shutdown immediate;

startup;

show parameter processes;

alter system set processes=1000 scope=spfile;

startup force;

show parameter
processes;

exit;

************************************************************************************************
未完全关闭数据库导致 ORA-01012: not logged 的解决
首先使用 SHUTDOWN NORMAL 方式关闭数据库,在数据库未关闭时 CTRL+ Z 停止执行,退出用 SQLPLUS 重登陆,出现报错:ORA-01012: not logged on

实验如下:

首先执行

SYS@bys1 shutdown

ORA-01013: user requested cancel of current operation

[oracle@bys001 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Sat Sep 7 09:05:08 2013

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected.

ERROR:

ORA-01012: not logged on

Process ID: 0

Session ID: 0 Serial number: 0

SYS@bys1 startup

ORA-01012: not logged on

SYS@bys1 conn / as sysdba

Connected to an idle instance.

ERROR:

ORA-01012: not logged on

Process ID: 0

Session ID: 0 Serial number: 0

SYS@bys1 conn bys/bys

ERROR:

ORA-01090: shutdown in progress – connection is not permitted

Process ID: 0

Session ID: 0 Serial number: 0

Warning: You are no longer connected to ORACLE.

解决方法:

找到进程,kill 掉就可以了。

[oracle@bys001 ~]$ ps -ef |grep ora_dbw0_

oracle    6519     1  0 Sep06 ?        00:00:15 ora_dbw0_bys1

oracle   20947 20924  0 09:08 pts/0    00:00:00 grep ora_dbw0_

[oracle@bys001 ~]$ kill -9 6519

[oracle@bys001 ~]$ ps -ef |grep ora_dbw0_

oracle   20949 20924  0 09:08 pts/0    00:00:00 grep ora_dbw0_

[oracle@bys001 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Sat Sep 7 09:08:22 2013

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SYS@bys1 startup

ORACLE instance started.

Total System Global Area  631914496 bytes

Fixed Size                  1338364 bytes

Variable Size             264242180 bytes

Database Buffers          360710144 bytes

Redo Buffers                5623808 bytes

Database mounted.

Database opened.

SYS@bys1

以上是“sqlplus 中 prelim / as sysdba 宕机且无法进入怎么办”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-20发表,共计2439字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)