データベース技術調査ブログ

LinuxやPostgreSQL、Oracleデータベース、AWSの知識をアウトプットしていきます

Oracle検証環境構築手順~事前設定とRPMを利用したインストール~

本記事は次の記事の中の手順です。
jimatomo.hatenablog.com


前の記事
jimatomo.hatenablog.com


次の記事
jimatomo.hatenablog.com



4-1) ネットワークとホスト名のの設定

CLIの画面でrootユーザーでログインする。

f:id:jimatomo:20190526160801j:plain
コンソール画面でネットワークの設定だけしちゃいます。


「root」と入力し、インストール時に設定したパスワードを入力します。
lo-19c login: root
password: 
[root@ol-19c ~]# 
ネットワークの状態を以下のコマンドで確認します。
[root@ol-19c ~]# nmcli device status

(省略)

[root@ol-19c ~]# ip addr

(省略)

[root@ol-19c ~]# 
「/etc/sysconfig/network-scripts/」ディレクトリに移動してNICの設定を行う
[root@ol-19c ~]# cd /etc/sysconfig/network-scripts/
[root@ol-19c network-scripts]# pwd
 /etc/sysconfig/network-scripts/
[root@ol-19c network-scripts]# 
[root@ol-19c network-scripts]# # ネットワークスクリプトファイル名を確認
[root@ol-19c network-scripts]# ls -l ifcfg-*
-rw-r--r--. 1 root root 337  5月 25 23:23 ifcfg-enp0s3
-rw-r--r--. 1 root root 351  5月 25 23:29 ifcfg-enp0s8
-rw-r--r--. 1 root root 254  8月 24  2018 ifcfg-lo
[root@ol-19c network-scripts]# 
[root@ol-19c network-scripts]# # ネットワークスクリプトファイルのバックアップを取得
[root@ol-19c network-scripts]# cp ifcfg-enp0s3 ifcfg-enp0s3.bak
[root@ol-19c network-scripts]# cp ifcfg-enp0s8 ifcfg-enp0s8.bak
[root@ol-19c network-scripts]# ls -l ifcfg*
-rw-r--r--. 1 root root 281  5月 25 22:53 ifcfg-emp0s8.bak
-rw-r--r--. 1 root root 337  5月 25 23:23 ifcfg-enp0s3
-rw-r--r--. 1 root root 312  5月 25 22:53 ifcfg-enp0s3.bak
-rw-r--r--. 1 root root 351  5月 25 23:29 ifcfg-enp0s8
-rw-r--r--. 1 root root 254  8月 24  2018 ifcfg-lo
[root@ol-19c network-scripts]# 
[root@ol-19c network-scripts]# # 設定変更(修正内容は以下に記載しています)
[root@ol-19c network-scripts]# vi ifcfg-enp0s3
[root@ol-19c network-scripts]# vi ifcfg-enp0s3
enp0s3側には以下の内容を追加します。
★以下を追加
==================
HWADDR=<VirtualBoxの設定画面で確認したMACアドレス>
==================

VirtualBoxの設定画面で確認したMACアドレス>は「AA:BB:CC:DD:EE:FF」のように書き換えます。
例)HWADDR=08:00:27:84:71:D7

enp0s8側は以下の内容を加筆修正します
★以下を修正
==================
BOOTPROTO=none
ONBOOT=yes
==================
★以下を追加(IPADDRは有効な範囲で好きなのを設定していいです。)
==================
IPADDR=192.168.56.119
NETMASK=255.255.255.0
HWADDR=<VirtualBoxの設定画面で確認したMACアドレス>
==================
変更後は以下の通りになっています。
[root@ol-19c network-scripts]# # NAT側の設定(enp0s3)
[root@ol-19c network-scripts]# cat ifcfg-enp0s3
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s3"
UUID="da78be4d-3733-4cb0-9c64-db9207297d4d"
DEVICE="enp0s3"
ONBOOT="yes"
HWADDR=08:00:27:84:71:D7
[root@ol-19c network-scripts]# 
[root@ol-19c network-scripts]# # ホストオンリーアダプタ側の設定(enp0s3)
[root@ol-19c network-scripts]# cat ifcfg-enp0s8
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s8
UUID=91876d50-ae89-4550-9c0b-f3c6c0ba112a
DEVICE=enp0s8
ONBOOT=yes
IPADDR=192.168.56.119
NETMASK=255.255.255.0
HWADDR=08:00:27:8C:DC:16
[root@ol-19c network-scripts]# 
設定変更を有効にするためにネットワークを再起動します。
[root@ol-19c network-scripts]# systemctl restart network
[root@ol-19c network-scripts]# 
[root@ol-19c network-scripts]# nmcli device status
DEVICE  TYPE      STATE     CONNECTION
enp0s3  ethernet  接続済み  enp0s3
enp0s8  ethernet  接続済み  enp0s8
lo      loopback  管理無し  --
[root@ol-19c network-scripts]# 
[root@ol-19c network-scripts]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:84:71:d7 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global noprefixroute dynamic enp0s3
       valid_lft 85084sec preferred_lft 85084sec
    inet6 fe80::204b:a921:417c:1ea4/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:8c:dc:16 brd ff:ff:ff:ff:ff:ff
    inet 192.168.56.119/24 brd 192.168.56.255 scope global noprefixroute enp0s8
       valid_lft forever preferred_lft forever
    inet6 fe80::a78:e818:3805:f876/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
[root@ol-19c network-scripts]#
ホスト名を「ol76-19c.localdomain」に変更して再起動します。
[root@ol76-19c network-scripts]## ホスト名の設定
[root@ol76-19c network-scripts]# vi /etc/hostname
[root@ol76-19c network-scripts]# cat /etc/hostname
ol76-19c.localdomain
[root@ol76-19c network-scripts]# 
[root@ol76-19c network-scripts]# # 再起動します
[root@ol76-19c network-scripts]# systemctl reboot




4-2) TeraTermで接続

ネットワークの設定が完了したので、次の手順でTeraTerm経由で接続できるようになりました。

ホストにIPアドレス(192.168.56.119)を入力します。(IPアドレスの後ろに「:」をつけるとそれ以降にコメントを追加できます。

f:id:jimatomo:20190526165300j:plain
ホスト名のところは間違えないように♪ 「:」以降はコメントなので間違えても大丈夫笑

「続行」をクリックします。

初めての接続の場合は毎回表示されるウィンドウです。説明は省略します。
(スクラップ&ビルド繰り返したので、既存のカギを上書きする必要がありました。)

f:id:jimatomo:20190526165801j:plain
とりあえずSSH接続って何だろうということが分かっていればこの画面の意味は分かるでしょう

ユーザ名とパスフレーズを入力してOKをクリックします。

f:id:jimatomo:20190526171411j:plain
rootで接続できてしまうというガバガバ検証環境です(/ω\)


接続できました!

f:id:jimatomo:20190526171725j:plain
設定を入れ色変えていますので文字の色とかも違います



4-3) インストール前の事前設定

「/etc/hosts」の設定変更

(これをミスするとDB作成時に詰まります(体験談)。Database構築時に1521ポートが使用中という謎のエラーが出て頭を悩ませてくれました(^▽^;))
以下の行を追加するだけです

192.168.56.119    ol76-19c.localdomain    ol76-19c

コマンドは以下の通り

[root@ol76-19c ~]# # /etc/hostsの編集
[root@ol76-19c ~]# ls -l /etc/hosts
-rw-r--r--. 1 root root 209  5月 25 23:42 /etc/hosts
[root@ol76-19c ~]# vi /etc/hosts
[root@ol76-19c ~]#
[root@ol76-19c ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.56.119    ol76-19c.localdomain    ol76-19c
[root@ol76-19c ~]#
[root@ol76-19c ~]# # hostnameが正しいことを確認
[root@ol76-19c ~]# uname -n
ol76-19c.localdomain
[root@ol76-19c ~]#
ファイアウォールの設定変更
[root@ol76-19c ~]# # firewallのポートを空ける
[root@ol76-19c ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3 enp0s8
  sources:
  services: ssh dhcpv6-client
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

[root@ol76-19c ~]#
[root@ol76-19c ~]# # EM Expressのポートを永続的に開放
[root@ol76-19c ~]# firewall-cmd --add-port=5500/tcp --zone=public
success
[root@ol76-19c ~]#
[root@ol76-19c ~]## Listenerのポートを永続的に開放
[root@ol76-19c ~]# firewall-cmd --add-port=1521/tcp --zone=public
success
[root@ol76-19c ~]#
[root@ol76-19c ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3 enp0s8
  sources:
  services: ssh dhcpv6-client
  ports: 5500/tcp 1521/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

[root@ol76-19c ~]#




4-4) RPMでのOracle Databaseのインストール

Oracle Databaseのローカルインストール用のRPMファイルを「/var/tmp」フォルダに格納します。

[root@ol76-19c ~]# # /var/tmp/ ディレクトリに移動
[root@ol76-19c ~]# cd /var/tmp/
[root@ol76-19c tmp]# pwd
/var/tmp
[root@ol76-19c tmp]# ls -l
合計 0
drwx------. 3 root root 17  5月 26 16:21 systemd-private-e789c1007c7142609f4f6abbaf6dd702-chronyd.service-xSXiwc
[root@ol76-19c tmp]# 
以下の手順でRPMファイルをアップロードする

f:id:jimatomo:20190526220158j:plain
「ファイル」>「SSH SCP...」をクリック

f:id:jimatomo:20190526220412j:plain
Fromの右にある「...」をクリックしてエクスプローラーを使用して選択できます

f:id:jimatomo:20190526220326j:plain
「Send」をクリックします

アップロードできたことを確認します。
[root@ol76-19c tmp]# # SCPでアップロード
[root@ol76-19c tmp]# ls -l
合計 2631512
-rw-r--r--. 1 root root 2694664264  5月 23 22:21 oracle-database-ee-19c-1.0-1.x86_64.rpm
drwx------. 3 root root         17  5月 25 23:31 systemd-private-5abd4a6c34da4358baccf7e8fed85b44-chronyd.service-Jx6K8b
[root@ol76-19c tmp]# 
oracle-database-preinstall-19cを実行
[root@ol76-19c tmp]# # yumでoracle-database-preinstall-19cを実行
[root@ol76-19c tmp]# yum install -y oracle-database-preinstall-19c

(省略)

[root@ol76-19c tmp]# 
RPMファイルを使用してOracle Databaseをローカルインストール
[root@ol76-19c tmp]# # RPMファイルを使用してOracle Databaseをローカルインストール
[root@ol76-19c tmp]# yum -y localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm
読み込んだプラグイン:ulninfo
oracle-database-ee-19c-1.0-1.x86_64.rpm を調べています: oracle-database-ee-19c-1.0-1.x86_64
oracle-database-ee-19c-1.0-1.x86_64.rpm をインストール済みとして設定しています
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ oracle-database-ee-19c.x86_64 0:1.0-1 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

======================================================================================================================================================
 Package                                 アーキテクチャー        バージョン               リポジトリー                                           容量
======================================================================================================================================================
インストール中:
 oracle-database-ee-19c                  x86_64                  1.0-1                    /oracle-database-ee-19c-1.0-1.x86_64                  6.9 G

トランザクションの要約
======================================================================================================================================================
インストール  1 パッケージ

合計容量: 6.9 G
インストール容量: 6.9 G
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中          : oracle-database-ee-19c-1.0-1.x86_64 [###############################################################################] 1/1
[INFO] Executing post installation scripts...
[INFO] Oracle home installed successfully and ready to be configured.
To configure a sample Oracle Database you can execute the following service configuration script as root: /etc/init.d/oracledb_ORCLCDB-19c configure
  検証中                  : oracle-database-ee-19c-1.0-1.x86_64                                                                                   1/1 

インストール:
  oracle-database-ee-19c.x86_64 0:1.0-1                                                                                                               

完了しました!
[root@ol76-19c tmp]#
インストール後の確認
[root@ol76-19c tmp]# # oracleユーザの確認
[root@ol76-19c tmp]# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba)
[root@ol76-19c tmp]# 
[root@ol76-19c tmp]# # oracleユーザにパスワードを設定(パスワードの強度弱いと怒られます)
[root@ol76-19c tmp]# passwd oracle
ユーザー oracle のパスワードを変更。
新しいパスワード:
よくないパスワード: このパスワードは辞書チェックに失敗しました。 - 辞書の単語に基づいています
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。
[root@ol76-19c tmp]#
[root@ol76-19c tmp]## ORACLE_BASEはこちら 
[root@ol76-19c tmp]# ls -l /opt/oracle
 合計 4
drwxrwx---.  2 oracle oinstall    6  5月 25 23:53 checkpoints
drwxrwxr-x. 23 oracle oinstall 4096  5月 25 23:53 diag
drwxrwx---.  4 oracle oinstall   78  5月 25 23:53 oraInventory
drwxr-xr-x.  3 oracle oinstall   17  5月 25 23:49 product
[root@ol76-19c tmp]# 
[root@ol76-19c tmp]# # ORACLE_HOMEの確認
[root@ol76-19c tmp]# ls -ld /opt/oracle/product/19c/dbhome_1/
drwxr-xr-x. 70 oracle oinstall 4096  5月 26 00:47 /opt/oracle/product/19c/dbhome_1/
[root@ol76-19c tmp]# 
[root@ol76-19c tmp]# # RPMファイルの削除
[root@ol76-19c tmp]# ls -l
合計 2631512
-rw-r--r--. 1 root root 2694664264  5月 23 22:21 oracle-database-ee-19c-1.0-1.x86_64.rpm
drwx------. 3 root root         17  5月 25 23:31 systemd-private-5abd4a6c34da4358baccf7e8fed85b44-chronyd.service-Jx6K8b
[root@ol76-19c tmp]# rm -f oracle-database-ee-19c-1.0-1.x86_64.rpm
[root@ol76-19c tmp]# 
[root@ol76-19c tmp]# ls -l
合計 0
drwx------. 3 root root 17  5月 26 16:21 systemd-private-e789c1007c7142609f4f6abbaf6dd702-chronyd.service-xSXiwc
[root@ol76-19c tmp]# 


これでインストールが完了しました。(OUIを使わないという衝撃)
続いてDB作成を実施します。

次の記事はこちら
jimatomo.hatenablog.com


前の記事
jimatomo.hatenablog.com




【参考サイト】

RPMでのインストール手順については以下を参考にしました。
oracle-base.com