SEワンタンの独学備忘録

IT関連の独学した内容や資格試験に対する取り組みの備忘録

【Oracle】Oracle19cをCentOS7にサイレントインストールする 事前準備編 1/2


ふいにOracleのインストールをやってみる。
最近はクラウド活用とかでサーバにインストールする機会とかも減っているのかも分かりませんが。

初めに

ライセンスと無料利用

Oracleは商用利用する場合には基本的に有料ライセンスが必要ですが、学習用途を目的とした個人環境などの場合にはOTNライセンス下で無償で自由に使用することができます。

個人で使用する場合には何かにひっかかるようなことはないと思いますが、その辺は自己責任で。

参考:Oracle Databaseを無償で使う方法いろいろ | コーソルDatabaseエンジニアのBlog

構築環境とインストール要件について

■構築環境

今回私はホストPCをWindows10として、そこにインストールしたvmware workstation playerに構築したCentOS7仮想マシンに対してインストールを行っていきます。

インストールを行うサーバ自体はそれぞれで構築されているものとします。

■インストール要件

Oracleのインストール時に必要なインストール要件について抜粋して確認していきます。

・最小RAM

Oracle Databaseのインストールには、1GB以上のRAMが必要です。2GBのRAMを推奨します

引用元:Oracle Databaseインストールのサーバー・ハードウェアのチェックリスト

RAMは2GB確保します。

・RAMに対して相対的なスワップ領域割当(Oracle Database)

1GBから2GB: RAMのサイズの1.5倍

引用元:Oracle Databaseインストールのサーバー構成のチェックリスト
スワップ領域は3GBにしました。

・記憶領域

Linux x86-64の場合:
Oracle Database Enterprise Editionには、7.2 GB以上が必要です

引用元:Oracle Databaseインストールの記憶域のチェックリスト
ディスクサイズは30GBとしました。

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

プロファイルの作成

ソフトウェアを公式からダウンロードするためにはプロファイルの作成(アカウント登録)を行う必要があるので先立って行っておきます。

プロファイルの作成は以下より。
Oracle | Create Account

入力には会社名なども求められますが、メールアドレスにはフリーアドレスなども使用できます。
登録を行うとメールが来るので、認証を行うとアカウント登録が正式に完了します。

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

ソフトウェアのダウンロードは以下から行いました。
リンクを押下すると、ログイン認証を求められるので作成したアカウントでログインすることでダウンロードが開始されます。

Oracle Database ソフトウェア・ダウンロード | Oracle Technology Network | Oracle 日本

f:id:wantanBlog:20210501181755p:plain

ちなみに今回ダウンロードしたのは以下のファイルです。

・LINUX.X64_193000_db_home.zip

インストールの下準備

Oracleのインストールを行うためには、いくつか設定を行う必要があります。
この辺は基本的には自分で考えて設定するようなものではないので、公式を参考に設定していきます。

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

参考:カーネル・パラメータ値の変更

上記を参考にして以下のように設定しました。

・/etc/sysctl.d/97-oracle-database-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


・設定の反映

/sbin/sysctl --system
ユーザ及びグループの作成

参考:オペレーティング・システム権限のグループの作成
参考:Oracleソフトウェア所有者ユーザーの作成

・グループの作成

groupadd -g 54321 oinstall
groupadd -g 54327 asmdba
groupadd -g 54328 asmoper
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 backupdba
groupadd -g 54325 dgdba
groupadd -g 54326 kmdba
groupadd -g 54330 racdba

※追記:asm系のグループはASMを使用しない場合は不要っぽい。あっても悪さをするものではないですが

・ユーザの作成

useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle

oracleユーザのパスワード設定。

passwd oracle
リソース制限の設定

参考:https://dekiruengineer.com/engineer/oracle-database-19c-for-linux/

・/etc/security/limits.conf
以下を追記。

oracle          soft    nproc            2047
oracle          hard    nproc           16384
oracle          soft    nofile           1024
oracle          hard    nofile          65536
oracle          soft    stack           10240
oracle          hard    stack           32768
環境変数の設定

・/home/oracle/.bash_profile
とりあえず以下だけ追記。
後からORACLE_HOMEも追記するけど、インストール時はその辺の環境変数は設定しない方がよいっていうのをどっかで見た気がする。

umask 022
その他設定

閉じた個人環境なので、完全に無効化してしまいます。

・ファイヤーウォールの無効化

systemctl stop firewalld
systemctl disable firewalld

・SELinuxの無効化

setenforce 0

/etc/selinux/configの修正

SELINUX=disabled

インストーラパッケージの配置

パッケージの格納

ダウンロードしたインストールパッケージをサーバ上の任意の場所に配置します。

[root@localhost tmp]# readlink -f LINUX.X64_193000_db_home.zip
/tmp/LINUX.X64_193000_db_home.zip
展開ディレクトリの作成

zipファイルにより展開されるのはORACLE_HOMEなので、それを配置するためのディレクトリを作成しておきます。

mkdir -p /u01/app/oracle
mkdir -p /u01/app/oraInventory
mkdir -p /u01/app/oracle/product/19.0.3/dbhome_1
chown oracle:oinstall /u01/app/ -R
パッケージの展開

作成したディレクトリにパッケージを展開します。
以降のインストール作業は基本的に、oracleユーザで行います。

su - oracle
cd /u01/app/oracle/product/19.0.3/dbhome_1
unzip -q /tmp/LINUX.X64_193000_db_home.zip

正常に展開できていれば、以下のようになるはずです。

[oracle@localhost dbhome_1]$ ll
total 68
drwxr-xr-x.  2 oracle oinstall   102 Apr 18  2019 addnode
drwxr-xr-x.  6 oracle oinstall  4096 Apr 17  2019 apex
drwxr-xr-x.  9 oracle oinstall    93 Apr 17  2019 assistants
drwxr-xr-x.  2 oracle oinstall  8192 Apr 18  2019 bin
drwxr-xr-x.  4 oracle oinstall    87 Apr 18  2019 clone
drwxr-xr-x.  6 oracle oinstall    55 Apr 17  2019 crs
drwxr-xr-x.  3 oracle oinstall    18 Apr 17  2019 css
drwxr-xr-x. 11 oracle oinstall   119 Apr 17  2019 ctx
drwxr-xr-x.  7 oracle oinstall    71 Apr 17  2019 cv
drwxr-xr-x.  3 oracle oinstall    20 Apr 17  2019 data
drwxr-xr-x.  3 oracle oinstall    19 Apr 17  2019 dbjava
drwxr-xr-x.  2 oracle oinstall    22 Apr 17  2019 dbs
drwxr-xr-x.  5 oracle oinstall   191 Apr 18  2019 deinstall
drwxr-xr-x.  3 oracle oinstall    20 Apr 17  2019 demo
drwxr-xr-x.  3 oracle oinstall    20 Apr 17  2019 diagnostics
drwxr-xr-x. 13 oracle oinstall   198 Apr 17  2019 dmu
drwxr-xr-x.  4 oracle oinstall    30 Apr 17  2019 drdaas
drwxr-xr-x.  3 oracle oinstall    19 Apr 17  2019 dv
-rw-r--r--.  1 oracle oinstall   852 Aug 18  2015 env.ora
drwxr-xr-x.  3 oracle oinstall    18 Apr 17  2019 has
drwxr-xr-x.  5 oracle oinstall    41 Apr 17  2019 hs
drwxr-xr-x. 10 oracle oinstall  4096 Apr 18  2019 install
drwxr-xr-x.  2 oracle oinstall    29 Apr 17  2019 instantclient
drwxr-x---. 13 oracle oinstall   219 Apr 18  2019 inventory
drwxr-xr-x.  8 oracle oinstall    82 Apr 18  2019 javavm
drwxr-xr-x.  3 oracle oinstall    35 Apr 17  2019 jdbc
drwxr-xr-x.  6 oracle oinstall   219 Apr 18  2019 jdk
drwxr-xr-x.  2 oracle oinstall  4096 Apr 17  2019 jlib
drwxr-xr-x. 10 oracle oinstall   112 Apr 17  2019 ldap
drwxr-xr-x.  4 oracle oinstall 12288 Apr 18  2019 lib
drwxr-xr-x.  9 oracle oinstall    98 Apr 17  2019 md
drwxr-xr-x.  4 oracle oinstall    31 Apr 17  2019 mgw
drwxr-xr-x. 10 oracle oinstall   106 Apr 17  2019 network
drwxr-xr-x.  5 oracle oinstall    46 Apr 17  2019 nls
drwxr-xr-x.  8 oracle oinstall   101 Apr 17  2019 odbc
drwxr-xr-x.  5 oracle oinstall    42 Apr 17  2019 olap
drwxr-x---. 14 oracle oinstall  4096 Apr 12  2019 OPatch
drwxr-xr-x.  7 oracle oinstall    65 Apr 17  2019 opmn
drwxr-xr-x.  4 oracle oinstall    34 Apr 17  2019 oracore
drwxr-xr-x.  6 oracle oinstall    52 Apr 17  2019 ord
drwxr-xr-x.  4 oracle oinstall    66 Apr 17  2019 ords
drwxr-xr-x.  3 oracle oinstall    19 Apr 17  2019 oss
drwxr-xr-x.  8 oracle oinstall   226 Apr 18  2019 oui
drwxr-xr-x.  4 oracle oinstall    33 Apr 17  2019 owm
drwxr-xr-x.  5 oracle oinstall    39 Apr 17  2019 perl
drwxr-xr-x.  6 oracle oinstall    78 Apr 17  2019 plsql
drwxr-xr-x.  6 oracle oinstall    56 Apr 18  2019 precomp
drwxr-xr-x.  2 oracle oinstall    26 Apr 17  2019 QOpatch
drwxr-xr-x.  5 oracle oinstall    52 Apr 17  2019 R
drwxr-xr-x.  4 oracle oinstall    29 Apr 17  2019 racg
drwxr-xr-x. 13 oracle oinstall   140 Apr 18  2019 rdbms
drwxr-xr-x.  3 oracle oinstall    21 Apr 17  2019 relnotes
-rwx------.  1 oracle oinstall   638 Apr 18  2019 root.sh
-rwx------.  1 oracle oinstall   786 Apr 17  2019 root.sh.old
-rw-r-----.  1 oracle oinstall    10 Apr 17  2019 root.sh.old.1
-rwxr-x---.  1 oracle oinstall  1783 Mar  8  2017 runInstaller
-rw-r--r--.  1 oracle oinstall  2927 Oct 14  2016 schagent.conf
drwxr-xr-x.  5 oracle oinstall   119 Apr 17  2019 sdk
drwxr-xr-x.  3 oracle oinstall    18 Apr 17  2019 slax
drwxr-xr-x.  4 oracle oinstall    41 Apr 17  2019 sqldeveloper
drwxr-xr-x.  3 oracle oinstall    17 Apr 17  2019 sqlj
drwxr-xr-x.  4 oracle oinstall   236 Apr 18  2019 sqlpatch
drwxr-xr-x.  6 oracle oinstall    53 Apr 18  2019 sqlplus
drwxr-xr-x.  6 oracle oinstall    54 Apr 17  2019 srvm
drwxr-xr-x.  5 oracle oinstall    45 Apr 17  2019 suptools
drwxr-xr-x.  3 oracle oinstall    35 Apr 17  2019 ucp
drwxr-xr-x.  4 oracle oinstall    31 Apr 17  2019 usm
drwxr-xr-x.  2 oracle oinstall    33 Apr 17  2019 utl
drwxr-xr-x.  3 oracle oinstall    19 Apr 17  2019 wwg
drwxr-x---.  7 oracle oinstall    69 Apr 17  2019 xdk
[oracle@localhost dbhome_1]$


長くなってきたので一旦区切ります。
次回インストール編。

【↓↓続き】
www.wantanblog.com