CentOS7にOracle18cをインストール時に
Makeファイル'/home/oracle/database/rdbms/lib/ins_rdbms.mk'のターゲット'irman ioracle idrdactl idrdalsnr idrdaproc'を起動中のエラーです。詳細は'/tmp/InstallActions2020-10-01_04-31-44PM/installActions2020-10-01_04-31-44PM.log'を参照してください。
が発生した時に解決した方法を紹介します。
環境
- OS:CentOS Linux release 7.7.1908
[root@CENTOS7 ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
[root@CENTOS7 ~]#
発生したエラー
Makeファイル'/home/oracle/database/rdbms/lib/ins_rdbms.mk'のターゲット'irman ioracle idrdactl idrdalsnr idrdaproc'を起動中のエラーです。詳細は'/tmp/InstallActions2020-10-01_04-31-44PM/installActions2020-10-01_04-31-44PM.log'を参照してください。
INFO: [2020/10/01 16:31:56] Using oracle.bali.ewt.olaf2.OracleLookAndFeel LookAndFeel
INFO: [2020/10/01 16:31:58] Loading localized help from jar:file:/home/oracle/database/install/jlib/instdb.jar!/oracle/install/ivw/db/resource/helpset/ja/dbinstaller_help.hs
INFO: [2020/10/01 16:32:01] セットアップ・ドライバのロード中
INFO: [2020/10/01 16:32:01] Oracle Database設定ウィザードを起動中...
INFO: [2020/10/01 16:32:01] Using default oui proxy mapping URL
INFO: [2020/10/01 16:32:01] Loading proxy mapping from jar:file:/home/oracle/database/install/jlib/installcommons_1.0.0b.jar!/oracle/install/driver/oui/proxy-mappings.properties
INFO: [2020/10/01 16:32:01] Using class oracle.install.driver.oui.OUISSHSupportManager as proxy for oracle.install.commons.net.support.SSHSupportManager
INFO: [2020/10/01 16:32:01] Using class oracle.install.driver.oui.OUIOracleServiceRegistry as proxy for oracle.install.commons.base.util.OracleServiceRegistry
INFO: [2020/10/01 16:32:01] Set proxy mappings to System.properties
INFO: [2020/10/01 16:32:01] ORACLE_HOME=/home/oracle/database
INFO: [2020/10/01 16:32:01] fwhome=/home/oracle/database
INFO: [2020/10/01 16:32:04] Gathering system details...
INFO: [2020/10/01 16:32:04] Gathering system details...
INFO: [2020/10/01 16:32:04] セットアップBeanの登録中
INFO: [2020/10/01 16:32:04] フローの作成中
INFO: [2020/10/01 16:32:04] Opening bean stores from which the beans can be loaded
~省略~
情報:
chmod 751 /home/oracle/database/bin/rman
情報:
chmod 755 /home/oracle/database/bin
情報:
情報:
- Linking Oracle
情報:
rm -f /home/oracle/database/rdbms/lib/oracle
情報:
/home/oracle/database/bin/orald -o /home/oracle/database/rdbms/lib/oracle -m64 -z noexecstack -Wl,--disable-new-dtags -L/home/oracle/database/rdbms/lib/ -L/home/oracle/database/lib/ -L/home/oracle/database/lib/stubs/ -Wl,-E /home/oracle/database/rdbms/lib/opimai.o /home/oracle/database/rdbms/lib/ssoraed.o /home/oracle/database/rdbms/lib/ttcsoi.o -Wl,--whole-archive -lperfsrv18 -Wl,--no-whole-archive /home/oracle/database/lib/nautab.o /home/oracle/database/lib/naeet.o /home/oracle/database/lib/naect.o /ho
情報:
me/oracle/database/lib/naedhs.o /home/oracle/database/rdbms/lib/config.o -ldmext -lserver18 -lodm18 -lofs -lcell18 -lnnet18 -lskgxp18 -lsnls18 -lnls18 -lcore18 -lsnls18 -lnls18 -lcore18 -lsnls18 -lnls18 -lxml18 -lcore18 -lunls18 -lsnls18 -lnls18 -lcore18 -lnls18 -lclient18 -lvsnst18 -lcommon18 -lgeneric18 -lknlopt -loraolap18 -lskjcx18 -lslax18 -lpls18 -lrt -lplp18 -ldmext -lserver18 -lclient18 -lvsnst18 -lcommon18 -lgeneric18 `if [ -f /home/oracle/database/lib/libavserver18.a ] ; then echo "-lavserver
情報:
18" ; else echo "-lavstub18"; fi` `if [ -f /home/oracle/database/lib/libavclient18.a ] ; then echo "-lavclient18" ; fi` -lknlopt -lslax18 -lpls18 -lrt -lplp18 -ljavavm18 -lserver18 -lwwg `cat /home/oracle/database/lib/ldflags` -lncrypt18 -lnsgr18 -lnzjs18 -ln18 -lnl18 -lngsmshd18 -lnro18 `cat /home/oracle/database/lib/ldflags` -lncrypt18 -lnsgr18 -lnzjs18 -ln18 -lnl18 -lngsmshd18 -lnnzst18 -lzt18 -lztkg18 -lmm -lsnls18 -lnls18 -lcore18 -lsnls18 -lnls18 -lcore18 -lsnls18 -lnls18 -lxml18 -lcore18 -l
情報:
unls18 -lsnls18 -lnls18 -lcore18 -lnls18 -lztkg18 `cat /home/oracle/database/lib/ldflags` -lncrypt18 -lnsgr18 -lnzjs18 -ln18 -lnl18 -lngsmshd18 -lnro18 `cat /home/oracle/database/lib/ldflags` -lncrypt18 -lnsgr18 -lnzjs18 -ln18 -lnl18 -lngsmshd18 -lnnzst18 -lzt18 -lztkg18 -lsnls18 -lnls18 -lcore18 -lsnls18 -lnls18 -lcore18 -lsnls18 -lnls18 -lxml18 -lcore18 -lunls18 -lsnls18 -lnls18 -lcore18 -lnls18 `if /usr/bin/ar tv /home/oracle/database/rdbms/lib/libknlopt.a | grep "kxmnsd.o" > /dev/null 2>&1 ; th
情報:
en echo " " ; else echo "-lordsdo18 -lserver18"; fi` -L/home/oracle/database/ctx/lib/ -lctxc18 -lctx18 -lzx18 -lgx18 -lctx18 -lzx18 -lgx18 -lordimt -lclscest18 -loevm -lclsra18 -ldbcfg18 -lhasgen18 -lskgxn2 -lnnzst18 -lzt18 -lxml18 -lgeneric18 -locr18 -locrb18 -locrutl18 -lhasgen18 -lskgxn2 -lnnzst18 -lzt18 -lxml18 -lgeneric18 -lgeneric18 -lorazip -loraz -llzopro5 -lorabz2 -lipp_z -lipp_bz2 -lippdcemerged -lippsemerged -lippdcmerged -lippsmerged -lippcore -lippcpemerged -lippcpmerged -lsnls18 -lnls18 -
情報:
lcore18 -lsnls18 -lnls18 -lcore18 -lsnls18 -lnls18 -lxml18 -lcore18 -lunls18 -lsnls18 -lnls18 -lcore18 -lnls18 -lsnls18 -lunls18 -lsnls18 -lnls18 -lcore18 -lsnls18 -lnls18 -lcore18 -lsnls18 -lnls18 -lxml18 -lcore18 -lunls18 -lsnls18 -lnls18 -lcore18 -lnls18 -lasmclnt18 -lcommon18 -lcore18 -ledtn18 -laio -lons -lfthread18 `cat /home/oracle/database/lib/sysliblist` -Wl,-rpath,/home/oracle/database/lib -lm `cat /home/oracle/database/lib/sysliblist` -ldl -lm -L/home/oracle/database/lib `test -x /usr/
情報:
bin/hugeedit -a -r /usr/lib64/libhugetlbfs.so && test -r /home/oracle/database/rdbms/lib/shugetlbfs.o && echo -Wl,-zcommon-page-size=2097152 -Wl,-zmax-page-size=2097152 -lhugetlbfs`
情報:
/home/oracle/database/bin/orald: 86 行: 12679 強制終了 "${cmdpfx[@]}" "${cmd[@]}" "${cmdsfx[@]}"
make: *** [/home/oracle/database/rdbms/lib/oracle] エラー 137
情報: 作成されたプロセスからの出力を終了します。
情報: ----------------------------------
情報: アクションからスローされた例外: make
例外名: MakefileException
例外文字列: Makeファイル'/home/oracle/database/rdbms/lib/ins_rdbms.mk'のターゲット'irman ioracle idrdactl idrdalsnr idrdaproc'を起動中のエラーです。詳細は'/tmp/InstallActions2020-10-01_04-31-44PM/installActions2020-10-01_04-31-44PM.log'を参照してください。
例外の重大度: 1
原因
- メモリ不足またはスワップ領域不足
「Oracle Databaseインストールのサーバー・ハードウェアのチェックリスト」の「最小RAM」に以下の記載があります。
チェック内容 | タスク |
---|---|
最小RAM | ・Oracle Databaseのインストールには、1GB以上のRAMが必要です。2GBのRAMを推奨します。 ・Oracle Grid Infrastructureのインストールには、8GB以上のRAMが必要です。 |
また、「Oracle Databaseインストールのサーバー構成のチェックリスト」の「RAMに対して相対的なスワップ領域割当(Oracle Database)」に以下の記載があります。
チェック内容 | タスク |
---|---|
RAMに対して相対的なスワップ領域割当(Oracle Database) | 1GBから2GB: RAMのサイズの1.5倍 2GBから16GB: RAMのサイズに等しい 16GBより大きい: 16GB 注意: LinuxサーバーでHugePagesを有効にする場合は、スワップ領域を計算する前に、HugePagesに割り当てられるメモリー分を使用可能なRAMから差し引く必要があります。 |
解決方法
1. (その1)スワップ領域を拡張する
以下の手順でスワップ領域を拡張するとインストールできました。
まずはスワップの使用状況をデバイスごとに表示します。
swapon -s
[root@CENTOS7 ~]# swapon -s
Filename Type Size Used Priority
/dev/dm-1 partition 1679356 624384 -2
/swapfile file 1048572 0 -3
[root@CENTOS7 ~]#
スワップ領域用のファイル(ここでは「swapfile2」)を作成します。
dd if=/dev/zero of=/swapfile2 bs=1M count=4096
(ブロックサイズ:1Mを4096個)
[root@CENTOS7 ~]# dd if=/dev/zero of=/swapfile2 bs=1M count=4096
4096+0 レコード入力
4096+0 レコード出力
4294967296 バイト (4.3 GB) コピーされました、 89.4434 秒、 48.0 MB/秒
[root@CENTOS7 ~]#
作成した「swapfile2」の権限を``-rw-------(600)とします。
chmod 600 /swapfile2`
[root@CENTOS7 ~]# chmod 600 /swapfile2
[root@CENTOS7 ~]#
ファイル(swapfile2)をスワップ領域として準備します。
mkswap /swapfile2
[root@CENTOS7 ~]# mkswap /swapfile2
スワップ空間バージョン1を設定します、サイズ = 4194300 KiB
ラベルはありません, UUID=720ce12a-69db-4880-88c7-7f91e19eadc0
[root@CENTOS7 ~]#
スワップ領域を有効化します。
swapon /swapfile2
[root@CENTOS7 ~]# swapon /swapfile2
[root@CENTOS7 ~]#
再度スワップの使用状況をデバイスごとに表示します。
swapon -s
[root@CENTOS7 ~]# swapon -s
Filename Type Size Used Priority
/dev/dm-1 partition 1679356 622336 -2
/swapfile file 1048572 0 -3
/swapfile2 file 4194300 0 -4
[root@CENTOS7 ~#
ここでは一時的にスワップ領域を拡張しただけなので「/etc/fstab」は変更していません。永続化するには「/etc/fstab」に追加する必要があります。
2. (その2)メモリ(RAM)を拡張する
スワップ領域を拡張しても解決できない場合、メモリ(RAM)を増やすことで解決しました。
Virtualboxの場合、一旦OSをシャットダウンします。
systemctl poweroff
Oracle VN VairtualBox マネージャーで対象のOSを選択し「設定」をクリックします。
「システム」を選択しメインメモリの値を増やし(「2048 MB」以上程度にする:ここでは「3072 MB」)「OK」をクリックする。
メインメモリの値が変わったので再度カーネルパラメータの設定を行います。
「etc/sysctl.d/97-oracle-database-sysctl.conf」を上書きで再設定します。
MEMTOTAL=$(free -b | sed -n '2p' | awk '{print $2}') SHMMAX=$(expr $MEMTOTAL / 2) SHMMNI=4096 PAGESIZE=$(getconf PAGE_SIZE) cat > /etc/sysctl.d/97-oracle-database-sysctl.conf << EOF fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmmax = $SHMMAX kernel.shmall = $(expr \( $SHMMAX / $PAGESIZE \) \* \( $SHMMNI / 16 \)) kernel.shmmni = $SHMMNI kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 EOF
[root@CENTOS7 ~]# MEMTOTAL=$(free -b | sed -n '2p' | awk '{print $2}')
[root@CENTOS7 ~]# SHMMAX=$(expr $MEMTOTAL / 2)
[root@CENTOS7 ~]# SHMMNI=4096
[root@CENTOS7 ~]# PAGESIZE=$(getconf PAGE_SIZE)
[root@CENTOS7 ~]# cat > /etc/sysctl.d/97-oracle-database-sysctl.conf << EOF
> fs.aio-max-nr = 1048576
> fs.file-max = 6815744
> kernel.shmmax = $SHMMAX
> kernel.shmall = $(expr \( $SHMMAX / $PAGESIZE \) \* \( $SHMMNI / 16 \))
> kernel.shmmni = $SHMMNI
> kernel.sem = 250 32000 100 128
> net.ipv4.ip_local_port_range = 9000 65500
> net.core.rmem_default = 262144
> net.core.rmem_max = 4194304
> net.core.wmem_default = 262144
> net.core.wmem_max = 1048576
> EOF
[root@CENTOS7 ~]#
以下のコマンドでカーネルパラメータを設定します。
sysctl --system
[root@CENTOS7 ~]# sysctl --system
* Applying /usr/lib/sysctl.d/00-system.conf ...
* Applying /usr/lib/sysctl.d/10-default-yama-scope.conf ...
kernel.yama.ptrace_scope = 0
* Applying /usr/lib/sysctl.d/50-default.conf ...
kernel.sysrq = 16
kernel.core_uses_pid = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.promote_secondaries = 1
net.ipv4.conf.all.promote_secondaries = 1
fs.protected_hardlinks = 1
fs.protected_symlinks = 1
* Applying /usr/lib/sysctl.d/60-libvirtd.conf ...
fs.aio-max-nr = 1048576
* Applying /etc/sysctl.d/97-oracle-database-sysctl.conf ...
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmax = 1576521728
kernel.shmall = 98532608
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
* Applying /etc/sysctl.d/99-sysctl.conf ...
fs.file-max = 6815744
* Applying /etc/sysctl.conf ...
fs.file-max = 6815744
[root@CENTOS7 ~]#
参考
以上