前回の記事でOracleDatabase12cのサイレントインストール方法を紹介しました。
スルスルと何事も無く終わっているように見えますが、
もちろん、一発ではできませんでした!(てへっ☆)
OSDBAユーザ(oracle)でアイドルインスタンスにつなごうとすると……
$ sqlplus / as sysdba SQL*Plus: Release 12.1.0.2.0 Production on Sat Aug 20 00:49:02 2016 Copyright (c) 1982, 2014, Oracle. All rights reserved. ORA-12547:TNS:lost contact
何かエラー出た。
「lost contact」って何ぞや。 このメッセージから分かるのは「接続ができなかった」ってことだけですね! 安定の不親切さ。
Google先生に聞いた結果、以下のページが回答になりました。
http://ruleoftech.com/2016/problems-with-installing-oracle-db-12c-ee-ora-12547-tns-lost-contactruleoftech.com
oracleバイナリが0バイト!?
リンク先にあるように、$ORACLE_HOME/bin/oracleを確認してみると……
$ ls -la $ORACLE_HOME/bin/oracle -rwsr-s--x 1 oracle oinstall 0 Aug 11 22:10 2016 oracle
「oracle」というバイナリファイルが0バイト
これ明らかにコアになるモジュールですやん。 これが0バイトって明らかにおかしいやん。
魔法のコマンド「relink all」
ということで、「relink all」を実行すると解決するらしい。
relinkコマンドを実行すると、Oracle製品の実行可能ファイルが再リンクされます。 再リンクの意味がイマイチ分からないのですが、要は最新の状態に作りなおすってことだよね!?
$ relink all
うん、リンク先だと「Segmentaion fault」が出てるけど自分のは出てないしOKだね!
$ ls -la $ORACLE_HOME/bin/oracle -rwsr-s--x 1 oracle oinstall 0 Aug 11 23:10 2016 oracle
うん、変わってない。
ログを見よう
そこで気付いた。あれ、ログのパスが出てるじゃん。
ということで「$ORACLE_HOME/install/relink.log」を確認してみます。
$view $ORACLE_HOME/install/relink.log …… INFO: make: *** [/opt/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/oracle] Error 1 INFO: End output from spawned process. INFO: ---------------------------------- SEVERE: oracle.sysman.oii.oiil.OiilActionException: Error in invoking target 'irman ioracle' of makefile '/opt/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/opt/app/oracle/product/12.1.0/dbhome_1/install/relinkActions2016-08-11_04-37-05-PM.log' for details. at oracle.sysman.oii.oiis.OiisMakeDeps.invokeMakefile(OiisMakeDeps.java:537) at oracle.sysman.oii.oiis.OiisMakeDeps.doRelink(OiisMakeDeps.java:614) at oracle.sysman.oii.oiis.OiisMakeDeps.doOperation(OiisMakeDeps.java:799) at oracle.sysman.oii.oiis.OiisMakeDeps.main(OiisMakeDeps.java:809)
エラー出てるじゃないですか。
makeでrelinkを実行しよう
見よう見まねで、makeによるrenlinkの実行を試みます。
$ cd $ORACLE_HOME/rdbms/lib make -f ins_rdbms.mk install …… collect2: ld terminated with signal 9 [Killed]
なんじゃこりゃ。
このメッセージで検索してみると、同じエラーで困っている人がちらほら。 こちらのサイトを見て解決。(Oracleとは全然関係ないです。)
メモリ不足だってよ。
ということで
不要なプロセス切りまくって再度relinkを実行しました。
$ relink all …… $ ls -la $ORACLE_HOME/bin/oracle -rwsr-s--x 1 oracle oinstall 323762222 Aug 12 22:12 oracle
できてるぅ!!
$ sqlplus / as sysdba SQL*Plus: Release 12.1.0.2.0 Production on Sat Aug 20 01:34:36 2016 Copyright (c) 1982, 2014, Oracle. All rights reserved. Connected to an idle instance. SQL>
無事つながりました。
なお搭載メモリサイズは1GBです。(激安レンタルサーバなんでね……)
ログはきちんと確認しよう。システム要件も確認しよう。(おわり)
図解入門 よくわかる 最新Oracleデータベースの基本と仕組み [第4版]
- 作者: 水田巴
- 出版社/メーカー: 秀和システム
- 発売日: 2015/10/27
- メディア: Kindle版
- この商品を含むブログを見る