ORA-24324 ORA-24323 ORA-01090

关闭过程中断—— ORA-24324: 未初始化服务句柄 ORA-24323: 不允许此值 ORA-01090: 正在关闭 - 不允许连接

C:\Documents and Settings\Administrator>sqlplus " /as sysdba"

SQL> startup mount
ORA-01081: 无法启动已在运行的 ORACLE- 请首先关闭它
SQL> shutdown

--好久没有关闭,CTRL+C

C:\Documents and Settings\Administrator>sqlplus " /as sysdba"

已连接。
SQL> shutdown immediate
ORA-24324: 未初始化服务句柄
ORA-24323: 不允许此值
ORA-01090: 正在关闭 - 不允许连接
SQL> shutdown immediate
ORA-24324: 未初始化服务句柄
ORA-24323: 不允许此值
ORA-01090: 正在关闭 - 不允许连接
SQL> shutdown abort
ORA-01031: insufficient privileges
SQL> quit
已断开连接

C:\Documents and Settings\Administrator>sqlplus/nolog

SQL> conn sys/oracle as sysdba
已连接到空闲例程。
SQL> shutdown abort
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area 1073741824 bytes
Fixed Size                  1253072 bytes
Variable Size             281018672 bytes
Database Buffers          784334848 bytes
Redo Buffers                7135232 bytes

数据库装载完毕。
数据库已经打开。
SQL>
 

 

从出现问题的原因中我们可以看到,数据库是因为关闭过程被中断所引起的,之后用shutdown命令也无法关闭数据库,因此可以想到,在正常关闭和立即关闭无法工作时,我们可以用shutdown abort来中止当前的数据库实例。

Shutdown abort中止一个实例时具有如下特点:

l Oracle服务器立即中止当前正在处理的sql语句;

l ORACLE服务器不会等待当前与数据库连接的用户断开连接;

l 数据重做日志缓冲不会写到磁盘中;

l 未完成的事务不会回滚;

l 实例终止,而不会关闭文件;

l ORACLE关闭和卸载数据库;

l 下一次启动需要实例恢复,这是自动的。

 

疑问:

为什么第一次 shutdown abort 不行?

为什么第二次重新连接后可以?

因为第一次执行时是在oracle正在关闭,在此之前执行的shutdown immediate属于非法操作,固oracle断开连接。当再执行shutdown abort时已经是出来非连接状态了

你可能感兴趣的:(职场,休闲,ORA-24324,ORA-01090,ORA-24323)