Oracle-Database

Oracle:ORA-01089:正在立即關閉 - 不允許任何操作

  • September 22, 2016

我的開發系統上安裝了 Oracle XE 10.0.2。

最近一直無法重啟:

$ sudo /etc/init.d/oracle-xe stop
Shutting down Oracle Database 10g Express Edition Instance.
Stopping Oracle Net Listener.

$ sudo /etc/init.d/oracle-xe start
Starting Oracle Net Listener.
Starting Oracle Database 10g Express Edition Instance.

$ sqlplus 

SQL*Plus: Release 10.2.0.1.0 - Production on Tue Feb 4 19:54:53 2014

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

Enter user-name: hr
Enter password: 
ERROR:
ORA-01089: immediate shutdown in progress - no operations are permitted

所以我嘗試手動殺死所有的 oracle 程序:

$ sudo killall oracle tnslsnr

這會殺死程序(它們不再列在 中ps)。然後我嘗試再次啟動 Oracle:

$ sudo /etc/init.d/oracle-xe start
Starting Oracle Net Listener.
Starting Oracle Database 10g Express Edition Instance.

SQL*Plus 給出了同樣的錯誤。

/usr/lib/oracle/xe/app/oracle/admin/XE/bdump/alert_XE.log 說:

Starting Oracle Database 10g Express Edition Instance.
Tue Feb  4 19:59:30 2014
Starting ORACLE instance (normal)

我最近沒有重新配置Oracle,但是我已經硬關閉它(關機),所以它可能處於不一致的狀態,我需要強制它從中恢復。

關於如何在 GNU/Linux 上擺脫 ORA-01089 的 Oracle 的完整指南在這裡

這個想法基本上是以 sysdba 身份登錄 Oracle 並發出關閉命令(OS 中的 oracle 使用者是本範例中提供的連結中的標準):

root# sudo su - oracle
oracle$ sqlplus
SQL*Plus: Release 10.2.0.1.0 - Production on Sun Feb 9 15:16:09 2014
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
Enter user-name: / as sysdba
Connected to:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
SQL> shutdown abort
ORACLE instance shut down.

在一行中:

echo shutdown abort | sudo su - oracle -c "sqlplus / as sysdba"

如果這不起作用,請嘗試https://dba.stackexchange.com/questions/15888/oracle-shutdown-method上的一些咒語並完成:

/etc/init.d/oracle-xe stop
/etc/init.d/oracle-xe start

引用自:https://unix.stackexchange.com/questions/113538