Virtual Box上のOracle Linux に GI/DB/EMCCインストール時に必要なパッケージ調査（2/3）

# 概要
Virtual Box 上でOracle Database、Enterprise Managerを作成するにあたって必要なパッケージを調査した備忘録
※構築手順等は別記事で記載予定

# 目次
1. [oracle Linux](https://qiita.com/mahino_1221/items/9be60b35176294a8e04a) 
1. [Virtual Box](https://qiita.com/mahino_1221/items/9be60b35176294a8e04a) 
1. [Grid Infrastructure](#Chapter1) 本記事で記載
1. [Oracle Database](#Chapter2) 　本記事で記載
1. Enterprise Manager 
1. [参考文献](#reference)

# 環境の前提

| No |    内容     |    バージョン    |備考 |
|---:|-------------|------------:|-|
| 1  |Oracle Linux|8.6            |最小構成インストール|
| 2  |Virtual Box |7.0.22 r165102 |Guest Additionsを使用|
| 3  |Grid Infrastructure  |19.24            |-|
| 4  |Oracle Database      |19.24            |-|
| 5  |Enterprise Manager   |13.5            |-|



<!-- 各チャプター -->
<a id="#Chapter1"></a>
# 3.Grid Infrastructure

公式マニュアル
Grid Infrastructureインストレーションおよびアップグレード・ガイドfor Linux
Oracle® Grid Infrastructure
Grid Infrastructureインストレーションおよびアップグレード・ガイド 19c for Linux
F16188-15(原本部品番号:E96272-28) 2024年7月

[x86-64でサポートされているOracle Linux 8のディストリビューション](https://docs.oracle.com/cd/F19136_01/cwlin/supported-oracle-linux-8-distributions-for-x86-64.html#GUID-F4902762-325B-4C89-B85B-F52BA482190F)

:::note warn
下記の情報は記事執筆時点での内容となります。
構築等実施する場合には、最新のドキュメントを改めて確認してください。
:::

#### 表4-2 x86-64 Oracle Linux 8オペレーティング・システムの最小条件 より抜粋

##### ・SSH要件
```
openssh
```
:::note info
※実機確認したところ最小構成インストールでもopensshは導入済みです。ただし、Updateはあるようなので、脆弱性対応のためにUpdateしておく
:::
```
[root@ora19s4 ~]# dnf list installed openssh
インストール済みパッケージ
openssh.x86_64  8.0p1-13.el8          @anaconda

#update確認
[root@ora19s4 ~]# dnf check-update openssh
メタデータの期限切れの最終確認: 3:13:04 時間前の 2024年11月10日 14時19分29秒 に実施しました。
openssh.x86_64   8.0p1-25.0.1.el8_10  ol8_baseos_latest


#update後
[root@ora19s4 ~]# dnf list installed  openssh
インストール済みパッケージ
openssh.x86_64   8.0p1-25.0.1.el8_10  @ol8_baseos_latest

```

##### ・Oracle Linux 8
```
サポートされている最小バージョン:

Unbreakable Enterprise Kernel 6を使用したOracle Linux 8.1: 5.4.17-2011.0.7.el8uek.x86_64以降
Red Hat互換カーネルを使用したOracle Linux 8: 4.18.0-80.el8.x86_64以降
Oracle Database 19cリリース19.24以降では、次の最小バージョンがサポートされています:

Unbreakable Enterprise Kernel 7を使用したOracle Linux 8.8: 5.15.0-202.135.2.el8uek.x86_64以降
```


##### ・Oracle Linux 8のパッケージ

```bash
bc
binutils
compat-openssl10
elfutils-libelf
elfutils-libelf-devel
fontconfig
glibc
glibc-devel
ksh
libaio
libaio-devel
libXrender
libX11
libXau
libXi
libXtst
libgcc
libnsl
librdmacm
libstdc++
libstdc++-devel
libxcb
libibverbs
libasan
liblsan
make
policycoreutils
policycoreutils-python-utils
smartmontools
sysstat
```

##### ・Oracle Linux 8のオプション・パッケージ
必要に応じて導入が必要になるパッケージ

:::note warn
ipmiutilとlibnsl2-devel は標準のリポジトリに存在しない為
別途対応が必要になります。
:::

```
ipmiutil       #Intelligent Platform Management Interface
libnsl2        #Oracle Database Clientのみ
libnsl2-devel  #Oracle Database Clientのみ
libvirt-libs   #KVM
net-tools      #Oracle RACおよびOracle Clusterware
nfs-utils      #Oracle ACFS
```


##### ・利用可能パッケージ確認コマンド
```bash:08_gi_check_package.sh
echo dnf list bc
dnf list bc
echo dnf list binutils
dnf list binutils
echo dnf list compat-openssl10
dnf list compat-openssl10
echo dnf list elfutils-libelf
dnf list elfutils-libelf
echo dnf list elfutils-libelf-devel
dnf list elfutils-libelf-devel
echo dnf list fontconfig
dnf list fontconfig
echo dnf list glibc
dnf list glibc
echo dnf list glibc-devel
dnf list glibc-devel
echo dnf list ksh
dnf list ksh
echo dnf list libaio
dnf list libaio
echo dnf list libaio-devel
dnf list libaio-devel
echo dnf list libXrender
dnf list libXrender
echo dnf list libX11
dnf list libX11
echo dnf list libXau
dnf list libXau
echo dnf list libXi
dnf list libXi
echo dnf list libXtst
dnf list libXtst
echo dnf list libgcc
dnf list libgcc
echo dnf list libnsl
dnf list libnsl
echo dnf list librdmacm
dnf list librdmacm
echo dnf list libstdc++
dnf list libstdc++
echo dnf list libstdc++-devel
dnf list libstdc++-devel
echo dnf list libxcb
dnf list libxcb
echo dnf list libibverbs
dnf list libibverbs
echo dnf list libasan
dnf list libasan
echo dnf list liblsan
dnf list liblsan
echo dnf list make
dnf list make
echo dnf list policycoreutils
dnf list policycoreutils
echo dnf list policycoreutils-python-utils
dnf list policycoreutils-python-utils
echo dnf list smartmontools
dnf list smartmontools
echo dnf list sysstat
dnf list sysstat
```

##### ・インストール状況確認コマンド
```bash:09_gi_check_installed_package.sh
echo dnf list installed bc
dnf list installed bc
echo dnf list installed binutils
dnf list installed binutils
echo dnf list installed compat-openssl10
dnf list installed compat-openssl10
echo dnf list installed elfutils-libelf
dnf list installed elfutils-libelf
echo dnf list installed elfutils-libelf-devel
dnf list installed elfutils-libelf-devel
echo dnf list installed fontconfig
dnf list installed fontconfig
echo dnf list installed glibc
dnf list installed glibc
echo dnf list installed glibc-devel
dnf list installed glibc-devel
echo dnf list installed ksh
dnf list installed ksh
echo dnf list installed libaio
dnf list installed libaio
echo dnf list installed libaio-devel
dnf list installed libaio-devel
echo dnf list installed libXrender
dnf list installed libXrender
echo dnf list installed libX11
dnf list installed libX11
echo dnf list installed libXau
dnf list installed libXau
echo dnf list installed libXi
dnf list installed libXi
echo dnf list installed libXtst
dnf list installed libXtst
echo dnf list installed libgcc
dnf list installed libgcc
echo dnf list installed libnsl
dnf list installed libnsl
echo dnf list installed librdmacm
dnf list installed librdmacm
echo dnf list installed libstdc++
dnf list installed libstdc++
echo dnf list installed libstdc++-devel
dnf list installed libstdc++-devel
echo dnf list installed libxcb
dnf list installed libxcb
echo dnf list installed libibverbs
dnf list installed libibverbs
echo dnf list installed libasan
dnf list installed libasan
echo dnf list installed liblsan
dnf list installed liblsan
echo dnf list installed make
dnf list installed make
echo dnf list installed policycoreutils
dnf list installed policycoreutils
echo dnf list installed policycoreutils-python-utils
dnf list installed policycoreutils-python-utils
echo dnf list installed smartmontools
dnf list installed smartmontools
echo dnf list installed sysstat
dnf list installed sysstat
```

##### ・インストールコマンド
```bash:10_gi_install_package.sh
echo dnf install -y bc
dnf install -y bc
echo dnf install -y binutils
dnf install -y binutils
echo dnf install -y compat-openssl10
dnf install -y compat-openssl10
echo dnf install -y elfutils-libelf
dnf install -y elfutils-libelf
echo dnf install -y elfutils-libelf-devel
dnf install -y elfutils-libelf-devel
echo dnf install -y fontconfig
dnf install -y fontconfig
echo dnf install -y glibc
dnf install -y glibc
echo dnf install -y glibc-devel
dnf install -y glibc-devel
echo dnf install -y ksh
dnf install -y ksh
echo dnf install -y libaio
dnf install -y libaio
echo dnf install -y libaio-devel
dnf install -y libaio-devel
echo dnf install -y libXrender
dnf install -y libXrender
echo dnf install -y libX11
dnf install -y libX11
echo dnf install -y libXau
dnf install -y libXau
echo dnf install -y libXi
dnf install -y libXi
echo dnf install -y libXtst
dnf install -y libXtst
echo dnf install -y libgcc
dnf install -y libgcc
echo dnf install -y libnsl
dnf install -y libnsl
echo dnf install -y librdmacm
dnf install -y librdmacm
echo dnf install -y libstdc++
dnf install -y libstdc++
echo dnf install -y libstdc++-devel
dnf install -y libstdc++-devel
echo dnf install -y libxcb
dnf install -y libxcb
echo dnf install -y libibverbs
dnf install -y libibverbs
echo dnf install -y libasan
dnf install -y libasan
echo dnf install -y liblsan
dnf install -y liblsan
echo dnf install -y make
dnf install -y make
echo dnf install -y policycoreutils
dnf install -y policycoreutils
echo dnf install -y policycoreutils-python-utils
dnf install -y policycoreutils-python-utils
echo dnf install -y smartmontools
dnf install -y smartmontools
echo dnf install -y sysstat
dnf install -y sysstat
```

#### ・要件に応じてパッケージを追加します。
:::note info
不要なものはコメントアウトして使用してください。
RAC要件に含まれる「net-tools」、「nfs-utils」は
ifconfig や nfs が使用できるようになる為
RAC構成で無くてもインストールした方が便利な場合があります。
:::

##### ・利用可能パッケージ確認コマンド
```bash:11_gi_check_need_package.sh
#echo dnf list ipmiutil
#dnf list ipmiutil
#echo dnf list libnsl2
#dnf list libnsl2
#echo dnf list libnsl2-devel
#dnf list libnsl2-devel
#echo dnf list libvirt-libs
#dnf list libvirt-libs
echo dnf list net-tools
dnf list net-tools
echo dnf list nfs-utils
dnf list nfs-utils
```
##### ・インストール状況確認コマンド
```bash:12_gi_check_installed_need_package.sh
#echo dnf list installed ipmiutil
#dnf list installed ipmiutil
echo dnf list installed libnsl2
dnf list installed libnsl2
#echo dnf list installed libnsl2-devel
#dnf list installed libnsl2-devel
#echo dnf list installed libvirt-libs
dnf list installed libvirt-libs
echo dnf list installed net-tools
dnf list installed net-tools
echo dnf list installed nfs-utils
dnf list installed nfs-utils
```
##### ・インストールコマンド
```bash:13_gi_install_need_package.sh
#echo dnf install -y ipmiutil
#dnf install -y ipmiutil
echo dnf install -y libnsl2
dnf install -y libnsl2
#echo dnf install -y libnsl2-devel
#dnf install -y libnsl2-devel
echo dnf install -y libvirt-libs
dnf install -y libvirt-libs
echo dnf install -y net-tools
dnf install -y net-tools
echo dnf install -y nfs-utils
dnf install -y nfs-utils

```

<a id="#Chapter2"></a>
# 4.Oracle Database

公式マニュアル
データベース・インストレーション・ガイドfor Linux
Oracle® Database データベース・インストレーション・ガイド
19c for Linux F16183-18(原本部品番号:E96432-33) 2024年9月
[x86-64でサポートされているOracle Linux 8のディストリビューション](https://docs.oracle.com/cd/F19136_01/cwlin/supported-oracle-linux-8-distributions-for-x86-64.html#GUID-F4902762-325B-4C89-B85B-F52BA482190F)

:::note warn
下記の情報は記事執筆時点での内容となります。
構築等実施する場合には、最新のドキュメントを改めて確認してください。
:::

:::note info
GIとDBの必要パッケージを比較してみたところ、内容は同一でした。
:::


#### 表4-2 x86-64 Oracle Linux 8オペレーティング・システムの最小条件 より抜粋
##### ・SSH要件
```
openssh
```
##### ・Oracle Linux 8
```
サポートされている最小バージョン:

Unbreakable Enterprise Kernel 6を使用したOracle Linux 8.1: 5.4.17-2011.0.7.el8uek.x86_64以降
Red Hat互換カーネルを使用したOracle Linux 8: 4.18.0-80.el8.x86_64以降
Oracle Database 19cリリース19.24以降では、次の最小バージョンがサポートされています:

Unbreakable Enterprise Kernel 7を使用したOracle Linux 8.8: 5.15.0-202.135.2.el8uek.x86_64以降
ノート:Oracle Linuxを入手可能な最新のバージョンおよびリリース・レベルに更新することをお薦めします。
```


##### ・Oracle Linux 8のパッケージ
```bash
bc
binutils
compat-openssl10
elfutils-libelf
elfutils-libelf-devel
fontconfig
glibc
glibc-devel
ksh
libaio
libaio-devel
libXrender
libX11
libXau
libXi
libXtst
libgcc
libnsl
librdmacm
libstdc++
libstdc++-devel
libxcb
libibverbs
libasan
liblsan
make
policycoreutils
policycoreutils-python-utils
smartmontools
sysstat
```
##### ・Oracle Linux 8のオプション・パッケージ
必要に応じて導入が必要になるパッケージ

:::note warn
ipmiutilとlibnsl2-devel は標準のリポジトリに存在しない為
別途対応が必要になります。
:::

```
ipmiutil       #Intelligent Platform Management Interface
libnsl2        #Oracle Database Clientのみ
libnsl2-devel  #Oracle Database Clientのみ
libvirt-libs   #KVM
net-tools      #Oracle RACおよびOracle Clusterware
nfs-utils      #Oracle ACFS
```


<a id="#reference"></a>
# 参考文献
- Grid Infrastructureインストレーションおよびアップグレード・ガイド for Linux [x86-64でサポートされているOracle Linux 8のディストリビューション](https://docs.oracle.com/cd/F19136_01/cwlin/supported-oracle-linux-8-distributions-for-x86-64.html#GUID-F4902762-325B-4C89-B85B-F52BA482190F)
- Oracle® Database データベース・インストレーション・ガイド 19c for Linux [x86-64でサポートされているOracle Linux 8のディストリビューション](https://docs.oracle.com/cd/F19136_01/cwlin/supported-oracle-linux-8-distributions-for-x86-64.html#GUID-F4902762-325B-4C89-B85B-F52BA482190F)