LinuxでOracle Database 19c をインストールする手順

本記事では、LinuxにOracle Database19cをインストールする方法をご紹介します。

サーバー構成

本手順は、以下要件のサーバーが準備済みであることを前提としています。

インストールを開始する前に、必要なハードウェアおよびソフトウェア要件を満たしていることを確認してください。

  • ハードウェア
  • ソフトウェア(OS)
    • Red Hat Enterprise Linux 8.10(以下、RHEL 8.10)がインストール済み
    • RHEL 8.10にGUIデスクトップがインストール済み

OS設定

必要なパッケージのインストール

以下のコマンドを使用して、必要なパッケージをインストールします。

# yum install -y bc binutils \
 gcc gcc-c++ glibc glibc-devel ksh \
 libaio libaio-devel libX11 libXau \
 libXi libXtst libXrender libXrender-devel \
 libgcc librdmacm-devel libstdc++ libstdc++-devel \
 libxcb make smartmontools sysstat libnsl 

カーネルパラメータ設定

以下のコマンドを使用して、カーネルパラメータを設定します。

# vi /etc/sysctl.conf
(追記)
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
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
kernel.panic_on_oops = 1

設定を反映させます。

# sudo sysctl -p

透過的なHugePagesの無効化設定

[透過的なHugePages]はカーネルが自動的にHugePagesをプロセスに割り当てる機能ですが、有効である場合、実行中にメモリー割り当ての遅延が生じてパフォーマンスに影響を与える可能性があります。そのため、無効化することが推奨されています。

以下のコマンドを使用して、透過的なHugePagesを無効化します。

# grubby --update-kernel=ALL --args="transparent_hugepage=never"

SELINUXの無効化設定

SELINUXは、Linuxカーネルに強制アクセス制御機能を追加するモジュールですが、今回は設定を容易にするため、無効化します。

以下のコマンドを使用して、SELINUXを無効化します。

# vi /etc/selinux/config
(編集)
SELINUX=disabled

OS再起動

以下のコマンドを使用して、OSを再起動します。

# reboot

Oracle Database用グループ・ユーザー作成

以下のコマンドを使用して、グループ・ユーザーを作成します。

# groupadd -g 54321 oinstall
# groupadd -g 54322 dba
# groupadd -g 54323 oper
# groupadd -g 54324 backupdba
# groupadd -g 54325 dgdba
# groupadd -g 54326 kmdba
# groupadd -g 54327 racdba
# useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle

以下のコマンドを使用して、oracleユーザーのパスワードを設定します。

# passwd oracle

リソース制限の設定

OS ユーザーにデフォルトで設定されているリソースのデフォルト値は Oracle Database を使用するためには不十分であるため、以下のコマンドを使用して、リソース制限を設定します。

# /etc/security/limits.conf
(追記)
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle soft memlock 5274299
oracle hard memlock 5274299

Oracle Database用ディレクトリ作成

Oracle Databaseインストールに必要なディレクトリを、以下のコマンドで作成します。

# mkdir -p /u01/app/oracle
# mkdir -p /u01/app/oraInventory
# mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1
# chown -R oracle:oinstall /u01/app/oracle
# chown -R oracle:oinstall /u01/app/oraInventory
# chmod -R 775 /u01/app

Oracleユーザー用 .bash_profile設定

Oracleユーザーの環境変数設定のため、以下のコマンドを使用して、.bash_profileを設定します。設定後、再ログインすることで環境変数が反映されます。

# su - oracle
$ vi ~/.bash_profile
(追記)
umask 022
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
export LANG=ja_JP.UTF-8
export NLS_LANG=Japanese_Japan.AL32UTF8
export ORACLE_SID=orcl

Oracle Database 19c インストール

ソフトウェアダウンロード

Oracleの公式サイトからOracle Database 19cのインストールファイルおよび、OPatch、RUをダウンロードします。

※ OPatchとRUのダウンロードはOracleアカウントが必要になります。

ファイルの展開

前手順でダウンロードしたインストールファイルおよびOPatch、RUをサーバーの任意のディレクトリへアップロードし、適切なディレクトリに展開します。

$ unzip LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.3.0/dbhome_1

インストールファイルを展開したディレクトリへ移動し、OPatchディレクトリ名を変更します。

$ cd /u01/app/oracle/product/19.3.0/dbhome_1
$ mv OPatch OPatch_org

アップロードしたOPatchを展開します。展開完了後、OPatchディレクトリが作成されていることを確認します。

$ unzip p6880880_190000_Linux-x86-64.zip -d /u01/app/oracle/product/19.3.0/dbhome_1
$ ls -l OPatch

アップロードしたRUを展開します。展開完了後、RUの番号ディレクトリが作成されていることを確認します。

$ unzip p36582629_190000_Linux-x86-64.zip -d /u01/app/oracle/product/19.3.0/dbhome_1
$ ls -l 36582629

Oracle Database 19cのインストール

インストーラの実行

GUIデスクトップにて、oracleユーザーでOSにログインし、ターミナルを起動します。

インストール中のINS-08101エラー回避のため、以下環境変数を設定します。

$ export CV_ASSUME_DISTID=OL7

インストーラーを実行し、併せてRUを適用します。RU適用完了後に、インストールウィザードが起動します。

$ cd /u01/app/oracle/product/19.3.0/dbhome_1
$ ./runInstaller -applyRU 36582629

構成オプションを選択します。今回は。Oracleソフトウェアのインストールとシングルデータベースを作成するため、"単一インスタンス・データベースを作成および構成します"を選択し、次へをクリックします。*1

システム・クラスを選択し、「次へ」をクリックします。今回は"サーバー・クラス"を選択します。

エディションを選択し、「次へ」をクリックします。今回は"Standard Edtion2"を選択します。

Oracleベースディレクトリ指定し、「次へ」をクリックします。

インベントリ・ディレクトリ、oraInventoryグループを指定し、「次へ」をクリックします。

構成タイプを選択し、「次へ」をクリックします。今回は"汎用目的/トランザクション処理"を選択します。

データベース識別子を指定し、「次へ」をクリックします。

構成オプションを指定します。[メモリー]の値を確認します。今回はデフォルト設定のままとします。

[キャラクタ・セット]の値を確認します。こちらも今回はデフォルト設定のままとし、「次へ」をクリックします。

データベース記憶域を指定し、「次へ」をクリックします。

必要に応じて管理オプションを設定します。今回はEnterprise Managerは不要のため、設定は行わずに「次へ」をクリックします。

リカバリオプションを指定します。今回は、リカバリの有効化にチェックを入れて、リカバリ領域の場所はデフォルトとし、「次へ」をクリックします。

スキーマ・パスワードを指定し、「次へ」をクリックします。

OSグループを指定し、「次へ」をクリックします。

rootスクリプトの実行構成は、"構成スクリプトを自動的に実行"にチェックを入れ、rootパスワードを指定し、「次へ」をクリックします。

チェック項目を確認します。失敗した項目がある場合は、適宜修正します。

サマリーでインストール内容を確認した上で、「インストール」をクリックします。

以下のポップアップ画面が表示されたら、「はい」をクリックします。

インストール完了後、「閉じる」をクリックします。

Oracle Database接続確認

oracleユーザーでサーバーにログインし、作成したデータベースに接続し、インスタンスの状態を表示できるか確認します。

$ sqlplus / as sysdba
SQL> select instance_name,status from v$instance;
(出力)
INSTANCE_NAME     STATUS
---------------- ------------
orcl         OPEN

まとめ

今回は、RHEL 8.10上にOracle Database 19cのインストールを実施しました。

本手順では、構成オプションは"単一インスタンス・データベースを作成および構成します"を選択しましたが、インストールと一緒にデータベースを構築すると、データベースの設定項目が少ないので、後から修正が必要になることがあります。

そのため、実対応では「ソフトウェアのみ設定」を選択し、インストールのみ実施して、Database Configuration Assistant(DBCA)でデータベースを作成した方が、後で修正する手間は少ないと思われます。

*1:Oracleソフトウェアインストールのみ実施し、後からデータベースを作成する場合は、「ソフトウェアのみ設定」を選択します

執筆担当者プロフィール
坂本 典久

坂本 典久(日本ビジネスシステムズ株式会社)

クラウドソリューション事業本部所属。 SQL ServerやPostgreSQLなどのデータベース設計・構築、Azureなどのクラウドを中心としたシステムの設計・構築に携わっています。

担当記事一覧