LoginSignup
0
0

More than 3 years have passed since last update.

Mac OSX上に立てたVM環境にOracle Grid Infrastructure 12cR1をインストールする際のトラブル

Last updated at Posted at 2019-08-10

環境

  • Oracle Grid Infrastructure 12.1.0.2
  • Oracle Linux 6.5
  • VirtualBox 6.0 (5.0以降も同様のはず) または Parallels Desktop 14
  • Mac OSX Mojave

現象

Grid Infrastructureインストール時に、Linking RMAN Utilityの過程で、

Error in invoking target 'irman ioracle' of makefile '/u01/app/gi/12.1.0/grid/rdbms/lib/ins_rdbms.mk'.

というメッセージダイアログが出ます。

error1

それ自体は、libjavavm12.a$GRID_HOME/lib/にコピーして再実行すると回避できるのですが、その後、以下のようなメッセージで、rootスクリプトの実行で詰まることとなります。

/u01/app/12.1.0/grid/crs/config/rootconfig.sh: line 131: 16191 Segmentation fault      (core dumped) $ROOTSCRIPT $ROOTSCRIPT_ARGS
The command '/u01/app/12.1.0/grid/perl/bin/perl -I/u01/app/12.1.0/grid/perl/lib -I/u01/app/12.1.0/grid/crs/install /u01/app/12.1.0/grid/crs/install/rootcrs.pl  -auto -lang=en_US.UTF-8' execution failed


 Execution status of node1 is:true
 Execution exit code of node1 is:139

対処

インストールする前の状態に巻き戻した後、VMを停止し、各仮想化製品の機能でCPUIDフラグを編集します。

例えばVirtualBoxの場合、以下をホスト(操作端末)で実行します。

VBoxManage setextradata VM_NAME "VBoxInternal/CPUM/HostCPUID/Cache/Leaf"        "0x4"
VBoxManage setextradata VM_NAME "VBoxInternal/CPUM/HostCPUID/Cache/SubLeaf"     "0x4"
VBoxManage setextradata VM_NAME "VBoxInternal/CPUM/HostCPUID/Cache/eax"         "0"
VBoxManage setextradata VM_NAME "VBoxInternal/CPUM/HostCPUID/Cache/ebx"         "0"
VBoxManage setextradata VM_NAME "VBoxInternal/CPUM/HostCPUID/Cache/ecx"         "0"
VBoxManage setextradata VM_NAME "VBoxInternal/CPUM/HostCPUID/Cache/edx"         "0"
VBoxManage setextradata VM_NAME "VBoxInternal/CPUM/HostCPUID/Cache/SubLeafMask" "0xffffffff"

Oracle VM VirtualBox を用いた Oracle Real Application Clusters (RAC) 12c Release 1 環境の構築に従ってやっている場合は、VM_NAMEの部分をnode1node2に置き換えて実行する感じです。

現時点での最新(VirtualBox 6.0.10)にて、上記の方法でGrid Infrastructureのインストールに成功するところまで確認しました。

原因

Oracleに同梱しているPerlには、L4キャッシュが存在するCPUを搭載するマシンでの動作にバグがあるようです。そのバグの影響が回り回って、libjavavm12.aが作成されないまま次に進もうとした、という感じでしょうか。なお、4.3などの古いVirtualBoxでは、バグを引き起こす情報をVMに渡していないため、回避できている様子。

参考:
VBox 5.0.10/12 issues with PERL and Seg Faults – UPDATE
Oracle 12c, VMWare Fusion and the perl binary’s segmentation fault

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0