oracle 19cのダウンロードから、インストールとDB作成まで(オフライン編) | 若手エンジニアのブログ

若手エンジニアのブログ

文系出身の若手女子エンジニアによる技術ブログ。
日々の経験や学びをアウトプットするためにブログを書いています。
バックエンド(Java+SpringFramework)を経てインフラエンジニアになりました。
今は育休中につき、本で勉強したことを中心にアウトプットしています。

なんだか久しぶりの更新となりました(`・ω・´)

 

OracleクラウドでDB作ったやんけ、と言われそうですが、

ローカルPC上に作ったVM上に、別途Oracle DBを入れてみたいと思います。

 

私がクラウドを使いこなせてないだけかもですが、

クラウド上だとOracle DBの仕組みがいまいち見えてこないので…(´・ω・`)

 

1.環境

2.インストール方法2通りの紹介と、インストーラのダウンロード

3.インストール事前準備

4.インストール実行&DB作成

参考文献

 

1.環境

・CentOS8

※なお、CentOSはGUI操作可能な状態であることを前提とする

 

2.インストール方法2通りと、Oracleのダウンロード

Linuxの場合、インストール方法は2通りある。

 ①rpmファイルから実施(②より簡単だが、インターネット環境が必要)

 ②zipファイルから実施(①より難しいが、オフラインでも対応できる。手作業する分、仕組は見えやすい)

 

今回は、②の方法について説明する。

①②のどちらにしても、まずはOracleをダウンロードしてくるところから始める。

(オフライン環境の場合、インターネットにつなげられる環境で先にダウンロードして、移送することが必要)

ダウンロード元

https://www.oracle.com/jp/database/technologies/oracle-database-software-download.html

 

→zipを選択。なおダウンロードには、Oracleのプロファイルへの登録が必要となる。

(①のrpmの方法でやる場合はrpmを選んでください)

 

3.インストール事前準備

とにかく事前準備が多いのが、OracleDB。

(それを最小限に抑えているのがクラウド上のOracleDBだったりするけど…。今回はオンプレで。)

 

Oracle Databaseのインストール準備内容一覧

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

透過的なHugePagesの無効化(オプション)

OSメモリとswap領域のサイズを確認

/tmpディレクトリに1GB以上の領域を確保

共有メモリの確認

Oracle用ユーザとグループの作成

Oracleソフトウェア所有者環境を構成

oracleユーザのリソース制限設定

ディレクトリの作成

必須となる前提パッケージをインストール

oracleインストーラの配置

 

①~⑩まではrootユーザで、⑪のみoracleユーザで実施する。

 

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

Oracleを適切にインストールするために、カーネルパラメータの設定が必要となる。
「/etc/sysctl.d/97-oracle-database-sysctl.conf」ファイルを、以下の通り作成または編集する。
※注意:カーネルパラメータの編集により、OSが起動しなくなることがあります。バックアップを取得し、自己責任で編集してください。

$ vi /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

上記の値は、いずれもOracleのドキュメントにあった推奨値を採用している。

値は環境に応じて適宜変更のこと。

 

カーネルパラメータを編集後は、確認と反映を行う。

$ /sbin/sysctl --system  # 設定した値が追加されていることを確認
(前略)
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
* Applying /etc/sysctl.d/99-sysctl.conf ...
* Applying /etc/sysctl.conf ...


設定全体を確認。

$ /sbin/sysctl -a

 

OSを再起動する。

$ systemctl reboot

 

※設定するカーネルパラメータの詳細:

https://docs.oracle.com/cd/F19136_01/ladbi/changing-kernel-parameter-values.html#GUID-FB0CC366-61C9-4AA2-9BE7-233EB6810A31

 

②透過的なHugePagesを無効化(オプションだが実施推奨)

HugePagesとは、Linuxカーネルに統合された機能であり、大容量のメモリで動作する場合に効果的である。

透過的なHugePagesは、CentOS8ではデフォルトで有効になっているが、有効にしておくと、OracleDBの実行中にメモリ割当ての遅延が生じる。そのためパフォーマンス最適化観点から、透過的なHugePagesはすべてのOracle Databaseサーバーで無効にすることが推奨されている。

参考:https://docs.oracle.com/cd/E57425_01/121/CWLIN/memry.htm

※12cの記事だけど19cでも同様。

 

今回はそこまでパフォーマンスを求めるわけではないが、推奨に従って透過的HugePagesを無効化しておく。

 

透過的HugePagesの状態を確認するコマンド

$cat /sys/kernel/mm/transparent_hugepage/enabled

[always] madvise never   # [ ] でくくられている値が、現在の状態を表す

無効であるには、neverが選ばれている必要がある。

デフォルトではalwaysになっていると思われるため、以下のようにして無効化(never)する。

 

(1)まず、「/sys/kernel/mm/transparent_hugepage/enabled」の、「GRUB_CMDLINE_LINUX」キーに、
値"transparent_hugepage=never"を追加する。

$cat /sys/kernel/mm/transparent_hugepage/enabled

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto resume=UUID=d498f4f8-2150-4019-ad8d-ecbe83173d21 rhgb quiet
transparent_hugepage=never#赤字箇所を追加する
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true

 

(2)(1)の設定内容を有効化するために、「/boot/grub2/grub.cfg」を再編成する。

$ grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
done

 

(3)(1)と(2)の設定内容を有効化するために、OSを再起動する。

$ systemctl reboot

 

(4)設定が反映され、透過的HugePagesが無効化されたことを確認する。

$cat /sys/kernel/mm/transparent_hugepage/enabled

always madvise [never]   # neverが選択されていることを確認 

 

透過的HugePagesの無効化設定は以上。

 

③OSメモリとswap領域のサイズを確認

Oracle Databaseのインストールには、1GB以上のメモリ(RAM)が必要であり、推奨は2GBとなっている。

またメモリサイズに対して、以下のサイズのswap領域が必要となる。

(swap領域とは: メモリ容量が足りなくなった時、メモリの中で不要な部分を退避させるためのハードディスク内領域。この領域を確保することで、速度パフォーマンスが落ちることを防ぐ)

 

OSのメモリサイズ 必要なswap領域
1GB~2GB メモリの1.5倍
2GB~16GB メモリと同じサイズ
16GBより大きい 16GB

 

メモリサイズとswap領域のサイズを確認するには、freeコマンドを使う。

(freeコマンドとは: システムの物理メモリとスワップメモリの使用量、空き容量を表示するLinuxコマンド。)

$free -m

              total        used        free      shared  buff/cache   available
Mem:            791         514          52           3         224         257
Swap:          2047          37        2010

 

-mは、MB単位で表示するためのオプション。

 

◎メモリが不足していた場合

あんまりないケースだと思うが、(私のように)1GB未満だった場合は、環境に応じて増設が必要。

(私はVMware上のVMだったので、VM設定変更により調節しました)

 

◎swap領域が不足していた場合

swap領域を拡張する。以下サイト様等が参考になるかと思う。(必要に応じて適宜ググってください)

https://www.wakuwakubank.com/posts/685-linux-swap/

 

※注意点

Oracle Restartを使う場合は必要なswap領域が変わってくる。詳しくは公式を参照。

 

④/tmpディレクトリに1GB以上の領域を確保

パーティションを確認して、/tmpディレクトリに1GB以上の領域があるかを確認。

(/tmp単独でパーティションを切るか、/(ルート)に含まれているからOKとするかは、状況に応じて判断してください。私は/に含むと考えてスルーしました)

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        884M     0  884M   0% /dev
tmpfs           901M     0  901M   0% /dev/shm
tmpfs           901M  9.7M  891M   2% /run
tmpfs           901M     0  901M   0% /sys/fs/cgroup
/dev/sda3        18G  4.9G   13G  28% /  
# 1GB以上の空きを確認
/dev/sda1       283M  145M  120M  55% /boot
tmpfs           181M  1.2M  179M   1% /run/user/42
tmpfs           181M  5.7M  175M   4% /run/user/1000

 

⑤共有メモリの確認

共有メモリ(/dev/shm)に十分なサイズのメモリがマウントされていることを確認。

また、/dev/shmのファイルシステムは、tmpfsである必要がある。

確認コマンドは、/tmp領域の確認時と同じく、dfを用いる。

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        884M     0  884M   0% /dev
tmpfs           901M     0  901M   0% /dev/shm 
#tmpfsとして領域が確保されていることを確認
tmpfs           901M  9.7M  891M   2% /run
tmpfs           901M     0  901M   0% /sys/fs/cgroup
/dev/sda3        18G  4.9G   13G  28% /

/dev/sda1       283M  145M  120M  55% /boot
tmpfs           181M  1.2M  179M   1% /run/user/42
tmpfs           181M  5.7M  175M   4% /run/user/1000

 

⑥Oracle用ユーザとグループの作成

Oracle用のグループを作る。

GID(グループID)は環境によって適切に設定でOK。グループ名はointsallとする。

$ groupadd -g 2000 oinstall

 

Oracle用のユーザも作る。

グループ同様、UID(ユーザID)は任意で、ユーザ名はoracle固定とする。

oracleユーザは、1つ前で作ったoinstallグループに所属させる。

$ useradd -u 2000 oracle -g oinstall # ユーザ作成

$ passwd oracle # oracleユーザのパスワードも設定しておく
Changing password for user oracle.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

 

⑦Oracleソフトウェア所有者環境を構成

umask(ファイル・モード作成マスク)のデフォルト値の設定を行う。

(umaskとは: ファイルやディレクトリ作成時のパーミッションを設定するLinuxコマンド。

ファイルの場合は「666」、ディレクトリは「777」から、指定した値を引いた値をデフォルトのパーミッション値にする。そのため、「umask 022」とすると、ファイルは「644」、ディレクトリは「755」がデフォルトになる。

パーミッションって何?という方はすみませんがググってください)

 

oracleユーザの.bash_profile(/home/oracle/.bash_profile)に、以下を追加する。

umask 022

 

.bash_profileの変更を反映する。

$ source /home/oracle/.bash_profile

 

⑧oracleユーザのリソース制限設定

oracleユーザ(インストールソフトウェア所有者ユーザ)について、
インストールのリソース制限も行う必要がある。

制限を行うことで、システムリソースが1ユーザーによって占有されないようにする。

 

oracleユーザで制限すべきリソースは以下の4つで、それぞれソフト/ハードの制限を加える必要がある。

リソース名 説明
nofile オープンできる最大ファイル数
nproc 単一ユーザーが使用可能な最大プロセス数
stack プロセスのスタック・セグメントのサイズ
memlock ロックされたメモリの最大上限。
HugePagesを有効にする場合に設定が必要。

 

以下8行を追加する。
なお、各数値は推奨範囲の最低値としている(単位はKB)ため、環境によって値の検討が必要である。

$ vi /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で利用するディレクトリを2つ作成し、所有ユーザをoracleとする。

作成場所は、状況に応じて適当なところでOK。(私は/opt配下としました)

$ mkdir /opt/app/oracle -p

$ mkdir /opt/app/oraInventory -p

$ chown oracle:oinstall /opt/app -R

 

⑩必須となる前提パッケージをインストール

Oracleのインストールにあたり、前提として必要となるパッケージ群をインストールする。

$ yum install -y bc binutils elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libgcc libnsl librdmacm-devel libstdc++ libstdc++-devel libX11 libXau libxcb libXi libXrender libXrender-devel libXtst make net-tools nfs-utils python3 python3-configshell python3-rtslib python3-six smartmontools sysstat targetcli unzip

 

⑪インストーラの配置

ここで、最初にダウンロードしたOracleのインストーラファイルが、ようやく出てくる。

まず、最初にダウンロードしたファイルを、OracleDBをインストールしたいサーバ上(/tmp配下など)に配置する。(私はteratermのSCP機能を使ってサーバにあげました)

 

Oracleのインストール先となるディレクトリ(パスは任意なので適宜変更ください)を作成し、インストーラを展開する。

$ su oracle # oracleユーザに切替

$ mkdir /opt/app/oracle/19.3/oradb -p

$ cd /opt/app/oracle/19.3/oradb

$ unzip -q /tmp/LINUX.X64_193000_db_home.zip  # Oracleのインストーラファイルを展開


展開後はこんなかんじ。

$ ll /opt/app/oracle/19.3/oradb

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

 

 

4.インストール実行

GUIが使えるように、teratermなどではなく、画面を開く。

oracleユーザでログインし、画面上でターミナルを開いて、インストーラを起動する。

$ cd /opt/app/oracle/19.3/

$ ./runInstaller

 

※インストール画面がもし文字化けしたら、一度インストール画面をキャンセルして、

以下コマンドを実行した後で再度インストーラを起動(./runInstaller)するとよい。(ただし英語になります)

$ export LANG=C

 

※ソフトウェアをインストールするだけか、インストールしたうえでデータベースを作るかを選ぶ。

ここでは、まとめて実行するため、ソフトウェアインストール+データベース作成のほうを選んだ。

 

OracleDBを、デスクトップPC(普通のPC)にインストールするか、サーバにインストールする形とするか。

今回はDBサーバとして構築してきたいので、サーバを選択。

 

続いて、データベースのエディションを選ぶ。

Enterprise Edition(EE)は大規模システム、Standard Edition2(SE2)は比較的小規模向けのエディションとなる。

今回はSE2にすれば十分だったのになぜかEEを選んでしまっていた汗

※ライセンスによっても選ぶべきものは変わるので、適切なほうを選んでください。

 

Oracleをインストールするディレクトリ先(Oracle Base)のパスを指定する。

インストール事前準備の⑨で作ったディレクトリを指定。

 

続いて、Oracle Inventoryのディレクトリパスも指定。

同じくインストール準備の手順⑨で作成したパスを指定する。

 

続いて、データベースのタイプを選ぶ。

汎用的なデータベースとして使う(上の選択肢)か、データ分析をメイン目的としたデータウェアハウスとしたい(下の選択肢)か。

今回は汎用的なデータベースを作るため、上のほうを選択した。

 

続いてデータベースの名前を任意に設定する。

グローバルデータベース名は、データベースそのもの(データの集合体、データ本体)の名前。

SIDは、データベースのインスタンス(データを操作する役割)の名前を指定。

インスタンスは複数作成することもできるが、単一インスタンスとする場合は、グローバルデータベース名=SID名とすることがふつう。

今回は単一インスタンスとするため、どちらも同じ名前とした。

 

構成オプション。

タブが3つに分かれており、使用メモリや文字コードなどを設定できる。

メモリはマシンのスペック、性能要件を踏まえて指定。(今回はスペック低め…)

 

「Charcter sets」タブで、文字コードを選択。今回は汎用的なAL32UTF8とした。

 

続いて「Sample schemas」タブ。

生成するDBに、スキーマ(≒テーブルなどの所有者)をサンプルで作成するかどうかを指定。

今回はスキーマ不要なので、チェックを外した。

 

続いて、データをどのように格納するかを選ぶ。

デフォルトのファイルシステムは、DBサーバのOS上にデータを置くよという意味。

その場合、OSのどこに配置するのか、ディレクトリも指定する必要がある。

選択肢2つめのASMはオプション機能で、「Oracle ASMディスク・グループ内のOracle ASMファイル」として論理的にデータを格納することになる。

今回は通常のファイルシステムを選択。

 

続いて、Enterprise Edition用の設定。特に不要だったのでチェックせず。

 

続いて、Oracleのバックアップ・リカバリに関する設定を行う。

(以下のように設定しようとしたら、私はスペックの問題で設定できなかった…w

会社のシステムなど、バックアップ必須となるDBは、それなりのスペックを計算しているはずなので大丈夫だと思いますが。。)

 

 

システムユーザ(sys, system)のパスワードを登録できる。

ちなみに、パスワードポリシーに合わないパスワードを設定しようとすると、警告が出る。(警告のみであり、登録できないわけではない。)

 

続いて、Oracleで用いるユーザグループ(OSグループ)を設定する。

基本的に、事前準備⑥で作成した「oinstall」グループを用いる。

(※内容ごとにグループを分けることももちろん可能。その場合、事前準備⑥で、先にOSグループを作っておく必要がある)

 

続いて、Oracleのインストール処理時の設定を行う。

インストール処理中、OSのrootユーザで一部設定を行う必要があるが、それをインストーラが自動で行って良いかどうかの設定となる。

基本的に自動で問題ないと思うが、今回はrootユーザでの処理内容をあえて確認してみたいので、チェックを外し手動設定するとした。

 

ここまでの内容を確認。

 

インストール中。けっこう時間かかるので気長に待つ。

 

3つ前の画面で、rootユーザでの処理を手動にする設定をしていた。

そのため、インストール途中で、以下のような画面が出てくる。

画面に書いてある通り、別ターミナルでrootユーザとしてログインし、提示されたスクリプトを実行する。

 

上記のスクリプトを、rootユーザで実行した結果↓

$ opt/app/oraInventory/orainstRoot.sh  #1つ目のコマンド
Changing permissions of /opt/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /opt/app/oraInventory to oinstall.
The execution of the script is complete.

 

$ /opt/app/oracle/product/19.3/oradb/root.sh  #2つ目のコマンド
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /opt/app/oracle/product/19.3/oradb

Enter the full pathname of the local bin directory: [/usr/local/bin]:  #ここでEnterを押す
   Copying dbhome to /usr/local/bin ...
   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 - Standalone Mode) is available at :
    /opt/app/oracle/product/19.3/oradb/bin/tfactl

Note :
1. tfactl will use TFA Service if that service is running and user has been granted access
2. tfactl will configure TFA Standalone Mode only if user has no access to TFA Service or TFA is not installed

 

2つのスクリプトを実行したら、先ほど出てきた画面(Execute Configration Scripts)に戻り、「OK」を押す。

 

そして、さらに待つと、ようやく…!

いやあ、長かった…。

 

このあと、リスナー、TNSの登録が必要となるものの、

力尽きたのでまたの機会に…(それか、気力のある時にこっそり追記します)

必要な方はググってください。

 

■参考サイト

https://docs.oracle.com/cd/F19136_01/install-and-upgrade.html

・Oracle Database 19c Linuxへのインストール手順(https://dekiruengineer.com/engineer/oracle-database-19c-for-linux/

・/etc/security/limits.confに関するメモ(https://open-groove.net/linux/memo-etcsecuritylimits-conf