Oracle-Database
Oracle:ORA-01089:正在立即關閉 - 不允許任何操作
我的開發系統上安裝了 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