技術ブログ
目次
Oracle ACEの渡部です。 VirtualBox VMにシングル構成のLinux版Oracle Database 19cを導入する手順(環境設定、インストール、データベース作成)をまとめておきます。
お願い
非常に「いまさら感」がありますが、以下の理由で書いてみようと思いました。
長くなってしまったので、2つの記事に分けます。
ORACLE MASTER学習などの目的で、インストール時にOUIやDBCAで指定する内容を理解したい、手っ取り早く手元にOracle Databaseが動作する環境を用意したい人を想定します。本番環境向けのOracle導入などの目的で、キチンとしたOracle Databaseの動作環境を作る状況は対象外とします。
繰り返しになりますが、本記事で紹介する手順および構成は、全ての環境において推奨される手順ではありません。 あくまでも、トラブルに遭遇する可能性を減らして、手っ取り早く手元に環境を用意したい ケースにおいて「有用」と私が判断した手順および構成です。
以下の記事などを参考に、Oracle VM VirtualBox(以下単に「VirtualBox」)をインストールしてください。
VirtualBox以外の仮想化ソフトウェアを使ってもOKですが、本記事ではVirtualBoxの使用を前提に説明します。
Oracle Linux 7.9のインストールメディア(ISOイメージファイル)を https://yum.oracle.com/oracle-linux-isos.html からダウンロードします。
ISOイメージファイルのファイル名は
です。OracleLinux-R7-U9-Server-x86_64-dvd.iso
VirtualBoxでVMを作成し、Oracle Linux 7.9をインストールします。
VM(ゲストOS)の構成は様々なパターンが考えられますが、シンプルさや、使いやすさ、トラブル遭遇しにくさなどを考慮して、今回は以下を前提とします。
ゲストOSのNICを2つとし、VirtualBoxのネットワークモードをそれぞれ"NAT","Host-Only Network"に接続する理由は、以下の通りです。
以下の記事も参考になります。
お願い
以後は、VirtualBoxのVM仮想コンソール内で、Oracle Linux 7.9のインストーラを操作して進めてゆきます。
このとき、VirtualBoxのVM仮想コンソールのウィンドウをクリックして、VirtualBoxのVM仮想コンソール内の画面を操作すると、
VirtualBoxのHostキー(デフォルトは
)を押さないと、マウスのポインターをVirtualBoxのVM仮想コンソールの外に出せないことに注意してください。右Ctrlキー
なお、VirtualBoxのHostキーとしてどのキーが割り当てられているかは、VirtualBoxのVM仮想コンソールのウィンドウの右下に表示されています。
Server with GUI
は、X-Windowグラフィカルデスクトップ環境を提供するパッケージグループです。お願い
固定IPアドレス 192.168.56.xを割り当てているはずなので、このIPアドレスとrootユーザー、インストール時に指定したパスワードでSSH接続できます。
/etc/hostsに自ホストの情報を登録します。
[root@ol79n23 ~]# vi /etc/hosts
[root@ol79n23 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.56.23 ol79n23.domain ol79n23
理由は不明で、Oracle Linuxのバージョンにも依存する動作かもしれませんが、 OSインストール時にNIC#2に対して「IPv4 Settings」→「Method」に「Manual」を選択したにもかかわらず、 NIC#2のifcfg-XXXファイルに
BOOTPROTO=dhcp
と設定されていたため、以下のように修正します。
BOOTPROTO=static
修正後、shutdown -r nowコマンドを実行してOSを再起動しておきます。
なお、修正しなくても動作するようですが、 以下のように、NIC#2に対して2つのIPアドレス(DHCPで動的に割り当てられたIPアドレスと静的に設定したIPアドレス) が割り当てられ、混乱しかねないので修正しておくのが良い気がします。
[root@ol79n23 ~]# ip addr show
(略)
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:c1:f6:c7 brd ff:ff:ff:ff:ff:ff
inet 192.168.56.105/24 brd 192.168.56.255 scope global noprefixroute dynamic enp0s8 <==DHCPで動的に割り当てられたIPアドレス
valid_lft 462sec preferred_lft 462sec
inet 192.168.56.23/24 brd 192.168.56.255 scope global secondary noprefixroute enp0s8 <==静的に設定したIPアドレス
valid_lft forever preferred_lft forever
inet6 fe80::3902:fc2b:3481:4d84/64 scope link noprefixroute
valid_lft forever preferred_lft forever
(略)
設定ミスのチェックもかねて、OS構成のポイントを確認しておきます。 OS構成に関する理解を深めるためにも役立つはずです。
NIC#1
[root@ol79n23 ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp <== DHCPでIPアドレスを取得
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=358075b3-9187-4e58-9351-53eb02bed280
DEVICE=enp0s3
ONBOOT=yes <== (*1)
IPV6_PRIVACY=no
NIC#2
[root@ol79n23 ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp0s8
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static <== (*2)
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=50e7abaa-4831-4801-bb34-6fd747180bd8
DEVICE=enp0s8
ONBOOT=yes <==(*1)
IPADDR=192.168.56.23 <== (*3)
PREFIX=24 <== (*3)
IPV6_PRIVACY=no
[root@ol79n23 ~]#
[root@ol79n23 ~]# ip addr show
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:f4:a5:88 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global noprefixroute dynamic enp0s3 <== (*1)
valid_lft 86336sec preferred_lft 86336sec
inet6 fe80::989c:366e:61f6:8efd/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:c1:f6:c7 brd ff:ff:ff:ff:ff:ff
inet 192.168.56.23/24 brd 192.168.56.255 scope global noprefixroute enp0s8 <== (*2)
valid_lft forever preferred_lft forever
inet6 fe80::3902:fc2b:3481:4d84/64 scope link noprefixroute
valid_lft forever preferred_lft forever
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:e3:e5:a0 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
link/ether 52:54:00:e3:e5:a0 brd ff:ff:ff:ff:ff:ff
[root@ol79n23 ~]#
[root@ol79n23 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search XXXX.jp domain
nameserver 192.168.XX.XX
[root@ol79n23 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.0.2.2 0.0.0.0 UG 100 0 0 enp0s3 <== (*1)
10.0.2.0 0.0.0.0 255.255.255.0 U 100 0 0 enp0s3
192.168.56.0 0.0.0.0 255.255.255.0 U 101 0 0 enp0s8 <== (*2)
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
[root@ol79n23 ~]#
[root@ol79n23 ~]# firewall-cmd --state
running
[root@ol79n23 ~]# firewall-cmd --get-active-zone
public
interfaces: enp0s3 enp0s8
[root@ol79n23 ~]# firewall-cmd --list-services --permanent
dhcpv6-client ssh <== (*1)
[root@ol79n23 ~]#
[root@ol79n23 ~]# getenforce
Enforcing
NIC#1をNATモードにしているため、以下のように外部ネットワークとの通信(インターネット通信)が可能になっているはずです。
[root@ol79n23 ~]# ping -c 1 www.yahoo.co.jp
PING edge12.g.yimg.jp (182.22.28.252) 56(84) bytes of data.
64 bytes from 182.22.28.252 (182.22.28.252): icmp_seq=1 ttl=53 time=28.5 ms
--- edge12.g.yimg.jp ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 28.545/28.545/28.545/0.000 ms
[root@ol79n23 ~]#
# ip l set [NIC#1の名前] down
# ip l set [NIC#1の名前] up