Oracle 19cをAlmaLinux 8にインストールする手順【サイレントインストール対応】

イントロ

Oracle 19cをAlmaLinux8にインストール手順を記載してみました。Oracleと言えばライセンス料が高額なイメージがありますが、学習用途であればOracle Technology Network(OTN)からダウンロードして無料で使うことができるので、ぜひ自分の環境にインストールして手を動かしながら学習してみてください。

Oracle 19c インストールの流れ

AlmaLinux 8.10にOracle 19cをCUIでインストール(サイレントインストール)する手順をご紹介します。RHEL8系のOSであれば、ほとんど変わらない手順でインストールできますので、ぜひ参考にしてみてください。

インストール環境

インストール対象OS:AlmaLinux 8.10(VirtualBox上に仮想サーバとして構築)
CPU:2コア
メモリ:4GB
NW:NATアダプタとホストオンリーアダプタを設定。詳細は下記を参照ください。
VirtualBoxでSSH接続できない?NAT+ホストオンリーで解決するネットワーク設定手順【AlmaLinux 9】

事前設定

パッケージのアップデート/インストール

まず、各種パッケージを最新版にアップデートします。

[root@oracle19c ~]# dnf update -y
Last metadata expiration check: 0:38:03 ago on Tue Mar 17 06:30:05 2026.
Dependencies resolved.
=============================================================================================================================
 Package                               Architecture     Version                                    Repository           Size
=============================================================================================================================
Installing:
 kernel                                x86_64           5.14.0-611.38.1.el9_7                      baseos              1.1 M
Upgrading:
 NetworkManager                        x86_64           1:1.54.0-3.el9_7                           baseos              2.3 M
 NetworkManager-libnm                  x86_64           1:1.54.0-3.el9_7                           baseos              1.9 M
~~ Truncated ~~
  kernel-modules-core-5.14.0-611.38.1.el9_7.x86_64             libpng-2:1.6.37-12.el9_7.2.x86_64
  openssl-fips-provider-1:3.5.1-7.el9_7.x86_64                 rpm-plugin-systemd-inhibit-4.16.1.3-39.el9.x86_64
Complete!
[root@oracle19c ~]#

続いて必要なパッケージをインストールします。

[root@oracle19c ~]# dnf install -y \
>   bc binutils elfutils-libelf elfutils-libelf-devel \
>   fontconfig-devel glibc glibc-devel ksh libaio libaio-devel \
>   libXrender libXrender-devel libX11 libXau libXi libXtst \
>   libgcc librdmacm-devel libstdc++ libstdc++-devel \
>   libxcb make net-tools nfs-utils smartmontools sysstat \
>   unzip libnsl
Last metadata expiration check: 0:17:58 ago on Sat 21 Mar 2026 05:21:57 PM EDT.
Package elfutils-libelf-0.190-2.el8.alma.1.x86_64 is already installed.
Package glibc-2.28-251.el8_10.31.x86_64 is already installed.
Package libaio-0.3.112-1.el8.x86_64 is already installed.
Package libgcc-8.5.0-28.el8_10.alma.1.x86_64 is already installed.
Package libstdc++-8.5.0-28.el8_10.alma.1.x86_64 is already installed.
Dependencies resolved.
====================================================================================================
 Package                    Arch      Version                                    Repository    Size
====================================================================================================
Installing:
 bc                         x86_64    1.07.1-5.el8                               baseos       129 k
 binutils                   x86_64    2.30-128.el8_10                            baseos       5.8 M
~~ Truncated ~~
  zlib-devel-1.2.11-25.el8.x86_64
Complete!
[root@oracle19c ~]#

Oracleユーザ/グループ作成

Oracle用のグループおよびユーザ作成を行います。oracleユーザに対してパスワードの設定も実施してください。

[root@oracle19c ~]# groupadd -g 54321 oinstall
[root@oracle19c ~]# groupadd -g 54322 dba
[root@oracle19c ~]# useradd -u 54321 -g oinstall -G dba oracle
[root@oracle19c ~]# passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@oracle19c ~]#

ディレクトリ作成

Oracleインストールに必要なディレクトリを作成します。

[root@oracle19c ~]# mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
[root@oracle19c ~]# mkdir -p /u01/app/oraInventory
[root@oracle19c ~]# chown -R oracle:oinstall /u01
[root@oracle19c ~]# chmod -R 775 /u01
[root@oracle19c ~]#

カーネルパラメータの設定

カーネルパラメータの設定ファイルを作成します。

[root@oracle19c ~]# vi /etc/sysctl.conf
[root@oracle19c ~]# cat /etc/sysctl.conf
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
net.ipv4.ip_local_port_range = 9000 65500
[root@oracle19c ~]#

設定したパラメータをsysctl –systemコマンドで反映してください。以下の通り、設定が追加されていることが確認できます。

[root@oracle19c ~]# sysctl -p
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
net.ipv4.ip_local_port_range = 9000 65500
[root@oracle19c ~]#

リソース上限設定

Oracleユーザに対するリソースのリミットを設定してください。

[root@oracle19c ~]# vi /etc/security/limits.conf
[root@oracle19c ~]# cat /etc/security/limits.conf
~~Truncated~~
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
# End of file
[root@oracle19c ~]#

環境変数設定

Oracleユーザに対して環境変数を設定します。

[oracle@oracle19c ~]$ vi ~/.bash_profile
[oracle@oracle19c ~]$ cat ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
# User specific environment and startup programs
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORACLE_SID=ORCL
export PATH=$PATH:$ORACLE_HOME/bin
[oracle@oracle19c ~]$
[oracle@oracle19c ~]$ source ~/.bash_profile
[oracle@oracle19c ~]$

Oracleインストール

まず、公式サイトからOracleのインストーラをダウンロードしてください。
Oracle Database 19c Download for Linux x86-64
ダウンロード対象ファイル:LINUX.X64_193000_db_home.zip
※アカウントがないとダウンロードできないので、ユーザ登録を実施してください。

続いて、ダウンロードしたファイルを$ORACLE_HOME配下において、ファイルを解凍します。

[oracle@localhost ~]$ cd $ORACLE_HOME
[oracle@localhost ~]$ unzip LINUX.X64_193000_db_home.zip
~~Truncated~~
  javavm/lib/security/java.security -> ../../../javavm/jdk/jdk8/lib/security/java.security
  jdk/jre/lib/amd64/server/libjsig.so -> ../libjsig.so
[oracle@localhost dbhome_1]$

./runInstallerを実行してOracleをインストールします。今回はGUIではなく、CUIによるサイレントインストールを実行していきます。

[oracle@oracle19c dbhome_1]$ CV_ASSUME_DISTID=OEL8.1 ./runInstaller -silent \
>  -ignorePrereq \
>  -responseFile $ORACLE_HOME/install/response/db_install.rsp \
>  oracle.install.option=INSTALL_DB_SWONLY \
>  UNIX_GROUP_NAME=oinstall \
>  INVENTORY_LOCATION=/u01/app/oraInventory \
>  ORACLE_HOME=$ORACLE_HOME \
>  ORACLE_BASE=$ORACLE_BASE \
>  oracle.install.db.InstallEdition=EE \
>  oracle.install.db.OSDBA_GROUP=dba \
>  oracle.install.db.OSBACKUPDBA_GROUP=dba \
>  oracle.install.db.OSDGDBA_GROUP=dba \
>  oracle.install.db.OSKMDBA_GROUP=dba \
>  oracle.install.db.OSRACDBA_GROUP=dba \
>  DECLINE_SECURITY_UPDATES=true
Launching Oracle Database Setup Wizard...
[WARNING] [INS-13014] Target environment does not meet some optional requirements.
   CAUSE: Some of the optional prerequisites are not met. See logs for details. installActions2026-03-21_05-57-41PM.log
   ACTION: Identify the list of failed prerequisite checks from the log: installActions2026-03-21_05-57-41PM.log. Then eitheret the prerequisites and fix it manually.
The response file for this session can be found at:
 /u01/app/oracle/product/19.0.0/dbhome_1/install/response/db_2026-03-21_05-57-41PM.rsp
You can find the log of this install session at:
 /tmp/InstallActions2026-03-21_05-57-41PM/installActions2026-03-21_05-57-41PM.log
As a root user, execute the following script(s):
        1. /u01/app/oraInventory/orainstRoot.sh
        2. /u01/app/oracle/product/19.0.0/dbhome_1/root.sh
Execute /u01/app/oraInventory/orainstRoot.sh on the following nodes:
[oracle19c]
Execute /u01/app/oracle/product/19.0.0/dbhome_1/root.sh on the following nodes:
[oracle19c]
Successfully Setup Software with warning(s).
Moved the install session logs to:
 /u01/app/oraInventory/logs/InstallActions2026-03-21_05-57-41PM
[oracle@oracle19c dbhome_1]$
  • CV_ASSUME_DISTID=OEL8.1
    AlmaLinuxはOracleの公式サポート対象外のため、インストーラのOSチェックでエラーとなります。そのため、Oracle Linux 8.1として認識させるためにCV_ASSUME_DISTIDを指定しています。
    ※本番環境では非推奨のため、自己責任で使用してください。
  • ./runInstaller
    Oracleのインストールプログラム
  • -silent
    GUIではなくCUIでサイレントインストールするオプション
  • -ignorePrereq
    OSバージョンやswap不足などの前提条件のチェックを無視します。今回は検証環境のため前提条件チェックを無視していますが、本番環境では必ずPrereqチェックを通過させてください。
  • -responseFile
    設定のテンプレートが記載されているファイルとなります。事前に編集してもよいですが、後続のコマンド引数で設定を上書きすることができるので、今回はデフォルトのまま指定します。

続いて、rootユーザではないと実施できない設定を追加します。以下のツールを実行すると、ディレクトリの権限変更であったり、ネットワーク設定などを変更します。本設定が完了するとsqlplusが使用できるようになります。

[root@oracle19c ~]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
[root@oracle19c ~]# /u01/app/oracle/product/19.0.0/dbhome_1/root.sh
Check /u01/app/oracle/product/19.0.0/dbhome_1/install/root_oracle19c_2026-03-21_18-08-18-036450816.log for the output of root script
[root@oracle19c ~]#
[root@oracle19c ~]# tail /u01/app/oracle/product/19.0.0/dbhome_1/install/root_oracle19c_2026-03-21_18-08-18-036450816.log
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Oracle Trace File Analyzer (TFA) is available at : /u01/app/oracle/product/19.0.0/dbhome_1/bin/tfactl
[root@oracle19c ~]#

oracleユーザにて、sqlplusコマンドのパスが通っていることを確認してください。

[root@oracle19c ~]# su - oracle
Last login: Sat Mar 21 18:08:18 EDT 2026 on pts/1
[oracle@oracle19c ~]$ which sqlplus
/u01/app/oracle/product/19.0.0/dbhome_1/bin/sqlplus
[oracle@oracle19c ~]$ sqlplus -v
SQL*Plus: Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
[oracle@oracle19c ~]$

データベース作成

最後にOracleデータベースを作成します。

[oracle@oracle19c ~]$ dbca -silent -createDatabase \
>  -templateName General_Purpose.dbc \
>  -gdbname ORCL \
>  -sid ORCL \
>  -responseFile NO_VALUE \
>  -characterSet AL32UTF8 \
>  -memoryMgmtType auto_sga \
>  -totalMemory 2048 \
>  -storageType FS \
>  -datafileDestination "/u01/app/oracle/oradata" \
>  -emConfiguration NONE \
>  -sysPassword Oracle123 \
>  -systemPassword Oracle123
Prepare for db operation
10% complete
Copying database files
40% complete
Creating and starting Oracle instance
42% complete
46% complete
50% complete
54% complete
60% complete
Completing Database Creation
66% complete
69% complete
70% complete
Executing Post Configuration Actions
100% complete
Database creation complete. For details check the logfiles at:
 /u01/app/oracle/cfgtoollogs/dbca/ORCL.
Database Information:
Global Database Name:ORCL
System Identifier(SID):ORCL
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/ORCL/ORCL.log" for further details.
[oracle@oracle19c ~]$

sqlplusでデータベースに接続することが確認できれば成功です。

[oracle@oracle19c ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Mon Mar 23 07:24:10 2026
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> select name from v$database;

NAME
---------
ORCL

SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
ORCL

その他設定

Oracleインストールは以上ですが、検証をするにあたって最低限実施しておくとよい設定をご説明します。

スキーマ作成

スキーマとは、データベース内のオブジェクトをまとめて管理する論理的な入れ物です。テーブル、インデックス、ビュー、シーケンスなどが含まれます。Oracleではユーザとスキーマはほぼ同一の概念であり、ユーザが所有するオブジェクトの集合として理解すると分かりやすいです。また、スキーマ単位で権限管理やオブジェクトの分離を行うことができます。

それでは、スキーマを作成してみましょう。CREATE文でtestスキーマを作成します。

SQL> CREATE USER test IDENTIFIED BY password
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp;

User created.

SQL>

GRANT文で、データベースにログインする権限、およびテーブル作成の権限を付与します。

SQL> GRANT CREATE SESSION TO test;

Grant succeeded.

SQL> GRANT CREATE TABLE TO test;

Grant succeeded.

表領域が使用できる容量の上限サイズを指定します。Test用なので制限なしで設定します。

SQL> ALTER USER test QUOTA UNLIMITED ON users;

User altered.

SQL> SELECT username FROM dba_users WHERE username = 'TEST';

USERNAME
--------------------------------------------------------------------------------
TEST

SQL>

下記の通りtestユーザが作成されていることを確認してください。

SQL> SELECT username FROM dba_users WHERE username = 'TEST';

USERNAME
--------------------------------------------------------------------------------
TEST

SQL>

まとめ

本記事では、AlmaLinux 8上にOracle Database 19cをサイレントインストールする手順を紹介しました。ポイントは以下の通りです。

  • OracleはOTNから無償で学習用途として利用可能
  • サイレントインストールにより再現性の高い構築が可能
  • AlmaLinuxではCV_ASSUME_DISTIDの指定が必要
  • dbcaを利用することで簡単にDB作成が可能

本手順をベースに、AWRやASHなどの性能分析機能を活用し、実践的な検証環境として活用してみてください。

コメント