在alter system switch logfile;后,shutdown时不小心关闭了cmd窗口,导致了关闭过程被中断,再次以sys登录进去后变成:
SQL> conn / as sysdba
已连接到空闲例程。
SQL> startup nomount
ORA-01081: cannot start already-running ORACLE - shut it down first
SQL> shutdown immediate
ORA-24324: 未初始化服务句柄
ORA-24323: 不允许此值
ORA-01090: 正在进行关闭 --- 不允许连接
SQL> startup
ORA-01031: insufficient privileges
SQL> conn / as sysdba
已连接到空闲例程。
SQL> startup nomount
ORA-01081: cannot start already-running ORACLE - shut it down first
SQL> shutdown immediate
ORA-24324: 未初始化服务句柄
ORA-24323: 不允许此值
ORA-01090: 正在进行关闭 --- 不允许连接
SQL> show users
SP2-0158: 未知的SHOW选项"users"
SQL> show user
USER 为"SYS"
SQL> shutdown abort
ORA-01031: insufficient privileges
SQL> show user
USER 为"SYS"
SQL> shutdown abort
ORA-01031: insufficient privileges
SQL> shutdown abort
ORA-01031: insufficient privileges
SQL> quit
已断开连接
C:Documents and SettingsAdministrator>sqlplus /nolog
SQL*Plus: Release 9.2.0.4.0 - Production on 星期一 5月 19 16:23:59 2008
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn sys/oracle as sysdba
已连接到空闲例程。
SQL> shutdown abort
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 64036336 bytes
Fixed Size 454128 bytes
Variable Size 50331648 bytes
Database Buffers 12582912 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
SQL>
从出现问题的原因中我们可以看到,数据库是因为关闭过程被中断所引起的,之后用shutdown命令也无法关闭数据库,因此可以想到,在正常关闭和立即关闭无法工作时,我们可以用shutdown abort来中止当前的数据库实例。
Shutdown abort中止一个实例时具有如下特点:
l Oracle服务器立即中止当前正在处理的SQL语句;
l ORACLE服务器不会等待当前与数据库连接的用户断开连接;
l 数据重做日志缓冲不会写到磁盘中;
l 未完成的事务不会回滚;
l 实例终止,而不会关闭文件;
l ORACLE关闭和卸载数据库;
l 下一次启动需要实例恢复,这是自动的。
[@more@]来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/786540/viewspace-1004242/ ,如需转载,请注明出处,否则将追究法律责任。