ORA-01034とORA-27101エラーでSQLPlusでログインできない

 Oracle XEを使い始めてしばらくするとログインできなくなっていた。

 JDBC経由だとなぜか接続できるが、SQLPlusだとORA-01034とORA-27101エラーが発生してログインできない。

ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux Error: 2: No such file or directory

 

ORA-01034エラーの原因は、環境設定が変更されたときに発生するとのこと。

そういえば、NTPで日付を設定し直したので、それが原因と考えられる。

 

で、Oracle XEを再起動したところ、状況は変わらなかった。

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

 

次に環境変数をチェックした。

$ env | grep ORACLE_SID
ORACLE_SID=orcl

 

このマシンは、以前SIDがorclで起動していたが、途中でSIDをXEに変更した。よって環境変数が古いマシンの設定を引き継いでいたので、.bash_profileからOracle環境変数の設定を削除した。

 

Oracle XEの環境変数は、/etc/profile.d/oracle_env.sh で設定されている。 

 

シェルをログインし直すと、ちゃんとSQLPlusでログインできるようになった。 

 

参考URL:

http://www.oracle.co.jp/2shin/ora66/18.html

http://biz.rivus.jp/technote507058.html

http://q.hatena.ne.jp/1121132650