スポンサーリンク

2015年12月22日火曜日

java の実行エラーの原因が SELinux である場合の対処

 java で作られたプログラムを実行したときに以下のエラーが出た。環境は CentOS 5.5。

Error: dl failure on line 863
Error: failed /opt/jdk1.7.0_79/jre/lib/i386/client/libjvm.so, because /opt/jdk1.7.0_79/jre/lib/i386/client/libjvm.so: cannot restore segment prot after reloc: Permission denied

 原因は SELinux。実際に機能を落としてみるとちゃんと実行される。

# setenforce 0

 SELinux 自体の機能は生かしたまま java を実行したい場合、Permission denied と出ているライブラリに対してコンテキストの変更を行う必要がある。

# chcon -t textrel_shlib_t /opt/jdk1.7.0_79/jre/lib/i386/client/libjvm.so

 ライブラリに対してのパスは適宜読み替えを。

2015年12月21日月曜日

ESXi 6.0 のインストールで NIC または HDD/SSD が認識しない場合の対処

 ESXi は標準で Intel 系以外の NIC と SATA 接続の HDD/SSD は認識しないためインストールできない。
 この場合、ESXi-Customizer-PS を使用して手動で上記ドライバを組み込んだカスタム ISO を作成することで解決する。

前提条件

  • .NET Framework 4.0 以降
  • Windows PowerShell 2.0 以降
  • VMware vSphere PowerCLI 5.1 以降

 今回の記事では VMware vSphere PowerCLI 6.0 Release 3 を使用するので、.NET Framework は 4.5 以降、Windows PowerShell は 3.0 以降が必要です。

2015年12月9日水曜日

Oracle Grid Infrastructure のインストールで管理データベース構成アシスタントに失敗する~その後②

 少し時間が空いてしまいました。
 その他諸々の環境構築に時間を取られてしまい、なかなかその後を追記する余裕がなかった。

 結果として、原因はブロックサイズが 4K の ASM ディスクにサーバパラメータファイル(spfile)が配置されていると読み込みに失敗する、らしい。
 Oracle パッチを適用すれば解決する、ということで Oracle のサポートを受けながら作業したけど結局管理データベース構成アシスタント、mgmtdb は動きませんでした。

 なくてもクラスタは動作するのでとりあえず無効化して運用することとなりました。

 mgmtdb 自体、Oracle Database(しかもどこかで見た記憶によると XE……これがパッチを当てても駄目な理由じゃないか?と邪推)なので、本番の Oracle Database 12c も同じ理由でこけるんじゃないかと思ったけど、意外にもすんなりインストール完了。
 もちろん、パッチは適用しました。
 パッチ番号は「p16870214」です。My Oracle Support が利用できないと入手できないかも?

 結局無効化するサービス、つまり極論を言えばなくてもいいサービスである mgmtdb を動かすのにほぼ 1 週間を費やしてしまった。

 サーバパラメータファイルの配置場所とか細かく設定してインストールすれば動かせるかも知れないけど……Oracle Grid Infrastructure のインストーラでこれに関する設定ってインストールするかしないかのラジオボタン 1 つしかないんだよね。
 インストール後でもサーバパラメータファイルの場所を変更できるかどうかは調査しきれてません。