こんにちは、テクニカルサポート課の 佐藤 光晃です。
本ブログは検証を目的とした Oracle Enterprise Manager Cloud Control 13c Release 5 (本記事作成時点で最新バージョン、以下 EMCC) を EC2 インスタンスに手早く構築する手順の内、OS での前提条件クリア、および、Oracle Database をインストールするブログとなります。
■手順
1) EC2 インスタンス、および、OS 側の準備 ★
2) Oracle Database のインストール ★
3) 管理リポジトリ・データベースの作成
4) EMCC のインストール
5) EMCC に RDS for Oracle の登録
★印が本ブログの内容となります。
また、本手順では EMCC を目的としていない、Oracle Database on EC2 の作成自体も可能となっております。
- Oracle Enterprise Manager Cloud Control 13c Release 5 (EMCC) について
- EC2 インスタンス準備
- Linux OS で上での準備
- Oracle Database のインストール
- 次回
Oracle Enterprise Manager Cloud Control 13c Release 5 (EMCC) について
EMCC は Oracle で提供しているエンタープライズ IT 管理製品で、オンプレミス、クラウド環境の運用に使用することができます。
EMCC ですが、AWS や他でも使われているような用語が独自の意味を持っている場合があるので、AWS コンソールを使いこなしている人ほど紛らわしい点は感じられます。そのため、細かい意味の差分確認も含めて詳細は Oracle 社ドキュメントをご参照いただきたく存じます。
EMCC は一般的に Oracle のオンプレミス環境や Exadata のようなアプライアンス製品、OCI などの Oracle に関わる製品を管理するために用いられることが多いと思います。
AWS RDS には RDS for Oracle や RDS Custom for Oracle がありますが、こちらも例にもれず管理対象とすることが可能となっております。
ただし、AWS ドキュメントにも記載のとおりマルチテナントではサポートされないものですので、EMCC で管理対象となる DB は非マルチテナントでの運用前提となります。
EC2 インスタンス準備
本ブログにおいては、XWindow System を利用しますので、接続元のクライアントには XWindow を可能とするソフト (Xming など) をご準備ください。
※VNC など GUI で接続する場合は「sudo dnf groupinstall "Server with GUI"」と VNC サーバーソフトウェアをインストールする必要があります。
EMCC は最小規模のインストールでも RAM の前提が 10GB とそれなりに必要となっています。
本検証では t2.xlarge (16 GiB メモリ) インスタンスタイプでインストールを進めております。
Enterprise Manager Cloud Controlのハードウェア要件
OS については対応 OS の一つである Red Hat 8.x で進めていきます。
Enterprise Manager Cloud Controlのパッケージ、カーネル・パラメータおよびライブラリ要件
また、EMCC 関連のデータを格納する管理リポジトリ・データベースを同インスタンス内で作成しますので、Oracle Database インストールの要件も同時に満たしていきます。
Oracle Database はリスナーに関するファイルでホスト名や IP アドレスを記述しており、実際のホスト名や IP アドレスと合致しないと接続できないという問題があるため、本ブログでは IP アドレスとホスト名をこちら[1]を参考に固定しております。
[1] RHEL 7 または CentOS 7 のプライベート EC2 インスタンスに静的ホスト名を割り当てる | AWS re:Post
インスタンス起動後、下記ディレクトリに Oracle Database と EMCC のインストーラーを配置します。
mkdir -p /tmp/oracle/installer/ # インストーラー配置 $ ls 19_11_0_0_0_Database_Template_for_EM13_5_0_0_0_Linux_x64.zip → EMCC 管理リポジトリ・データベース作成用の DBCA テンプレート 'Oracle Database 19.3.0.0.0 for Linux x86-64.zip' → Oracle Database 19c インストーラー em13500_linux64-2.zip → EMCC インストールに必要なファイルの一つ em13500_linux64-3.zip → 同上 em13500_linux64-4.zip → 同上 em13500_linux64-5.zip → 同上 em13500_linux64.bin → EMCC インストーラー
上記ファイルは Oracle Software Delivery Cloud からダウンロードすることが可能です。
管理リポジトリ・データベース作成用の DBCA テンプレートはこちらからのダウンロードとなります。
Linux OS で上での準備
EMCC の管理リポジトリは Oracle Database で構成されます。そのため、Oracle Database と EMCC をインストールするための前提を満たしていく必要があります。
今回は検証環境を手早く構築するために、事前にコマンドをいくつか準備しました。
コマンド一覧
以下コマンドはすべて ec2-user で行っております。本来は手動で設定すべき箇所ですが、検証用のためコマンド一つひとつで設定できるようにしております。
■ファイアウォールと SELinux の無効化
# firewalld 無効化と再起動後 SELinux 無効化 sudo systemctl stop firewalld sudo systemctl disable firewalld sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
※上記反映されたか下記コマンドで確認できます。
systemctl is-enabled firewalld
firewalld がインストールされていない場合の結果
$ systemctl is-enabled firewalld systemctl is-enabled firewalldFailed to disable unit: Unit file firewalld.service does not exist.
firewalld が無効となっている場合の結果
$ systemctl is-enabled firewalld disabled
※当該環境では EC2 のセキュリティグループで管理を通信の制御を行うため、ファイアウォールを無効としております。firewalld がインストールされて無ければそれはそれで OK です。SELinux 無効化は次回再起動後に反映されます。
■スワップファイルの作成
# スワップファイルの作成 sudo dd if=/dev/zero of=/swapfile bs=128M count=128 sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo "/swapfile swap swap defaults 0 0" | sudo tee -a /etc/fstab
※上記反映されたか下記コマンドで確認できます。
free -m cat /etc/fstab
$ free -m total used free shared buff/cache available Mem: 15825 161 15437 17 226 15383 Swap: 16383 0 16383 [ec2-user@oemcc ~]$ cat /etc/fstab $ cat /etc/fstab UUID=<ファイルシステム ID> / xfs defaults 0 0 /swapfile swap swap defaults 0 0
■透過的な HugePages の無効化
# 透過的な HugePages を無効化します。(Oracle 推奨) echo never | sudo tee -a /sys/kernel/mm/transparent_hugepage/enabled
※上記反映されたか下記コマンドで確認できます。
cat /sys/kernel/mm/transparent_hugepage/enabled
透過的な HugePages が無効となっている場合の結果
always madvise [never]
■ホスト名の固定[1]、および、名前解決の設定
# ホスト名の固定 sudo hostnamectl set-hostname --static oemcc.testdomain # 上記反映のために一度再起動します。 sudo shutdown -r now
# /etc/hosts に名前解決用の IP アドレス、ホスト名、FQDN 記述 echo `ip -4 addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}'` `hostname` `hostname -s` | sudo tee -a /etc/hosts
※上記反映されたか下記コマンドで確認できます。(ついでに SELinux の状態も)
hostname cat /etc/hosts getenforce
$ hostname oemcc.testdomain $ cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 <プライベート IP アドレス> oemcc.testdomain oemcc $ getenforce Disabled
■XWindow と unzip のインストール
今回、XWindow System による GUI 画面でインストール作業を進めるため、事前にパッケージを入れます。また、unzip も必要なので unzip もインストールします。
sudo dnf install -y xorg-x11-xauth xorg-x11-utils sudo dnf install -y unzip
■Oracle Database 19.3 前提条件のパッケージインストール
Oracle 社公式ドキュメント に記載のパッケージは大概のものは既に入っていますが、入ってないのも一部あるので、別途インストールを実施しております。
sudo dnf install -y /lib64/libnsl.so.1 sudo dnf install -y libstdc++-devel sudo dnf install -y sysstat sudo dnf install -y ksh sudo dnf install -y make sudo dnf install -y glibc-devel sudo dnf install -y libaio-devel sudo dnf install -y smartmontools sudo dnf install -y net-tools
■EMCC 前提条件のパッケージインストール
sudo dnf install -y gcc sudo dnf install -y glibc-devel*.i686
■OS グループ・ユーザー関連の設定
sudo groupadd -g 54321 oinstall sudo groupadd -g 54322 dba sudo groupadd -g 54323 oper sudo groupadd -g 54324 backupdba sudo groupadd -g 54325 dgdba sudo groupadd -g 54326 kmdba sudo groupadd -g 54331 racdba sudo useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle
※ユーザーとグループが作成されたか下記コマンドで確認できます。
id oracle
$ id oracle uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54331(racdba)
■カーネルパラメータの設定
echo -e \ "# Oracle Database\n\ fs.file-max = 6815744\n\ net.core.rmem_default = 262144\n\ net.core.rmem_max = 4194304\n\ net.core.wmem_default = 262144\n\ net.core.wmem_max = 1048576\n\ fs.aio-max-nr = 1048576" | sudo tee -a /etc/sysctl.conf sudo sysctl -p
※sysctl -p で反映、および、結果の確認ができます。
$ sudo sysctl -p fs.file-max = 6815744 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 fs.aio-max-nr = 1048576
■リソース制限関連の設定
echo -e \ "# Oracle Database\n\ oracle soft nproc 2047\n\ oracle hard nproc 16384\n\ oracle soft nofile 1024\n\ oracle hard nofile 65536\n\ oracle soft stack 10240\n\ oracle hard stack 32768" | sudo tee -a /etc/security/limits.conf
※oracle ユーザーにスイッチ後、下記コマンドで上記設定を確認できます。
ulimit -Sn ulimit -Hn ulimit -Su ulimit -Hu ulimit -Ss ulimit -Hs
$ ulimit -Sn 1024 $ ulimit -Hn 65536 $ ulimit -Su 2047 $ ulimit -Hu 16384 $ ulimit -Ss 10240 $ ulimit -Hs 32768
■oracle ユーザーに環境変数の設定
echo -e \ "# Oracle Database and Enterprise Manager Cloud Control\n\ export ORACLE_BASE=/u01/app/oracle\n\ export ORACLE_HOME=\$ORACLE_BASE/product/19.3.0/dbhome_1\n\ export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/jdk/bin:\$PATH\n\ export NLS_LANG=JAPANESE_JAPAN.UTF8\n\ export LANG=ja_JP.UTF-8\n\ export ORACLE_UNQNAME=orcl\n\ export ORACLE_SID=orcl\n\ export ORACLE_HOSTNAME=`hostname`\n\ export OMS_HOME=/u01/app/oracle/middleware\n\ export AGENT_HOME=/u01/app/oracle/agent/agent_13.5.0.0.0" | sudo tee -a /home/oracle/.bash_profile
※oracle ユーザーにスイッチ後、下記コマンドで上記設定を確認できます。
env | grep ora など
$ env |grep ora ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1 OMS_HOME=/u01/app/oracle/middleware USER=oracle PWD=/home/oracle HOME=/home/oracle MAIL=/var/spool/mail/oracle LOGNAME=oracle PATH=/u01/app/oracle/product/19.3.0/dbhome_1/bin:/u01/app/oracle/product/19.3.0/dbhome_1/jdk/bin:/home/oracle/.local/bin:/home/oracle/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin AGENT_HOME=/u01/app/oracle/agent/agent_13.5.0.0.0
■ORACLE_HOME 作成やインストーラーの解凍
# ORACLE_HOME 作成します。 sudo mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1 # EMCC で必要なディレクトリ作成します。 sudo mkdir /u01/app/oracle/middleware sudo mkdir /u01/app/oracle/agent sudo mkdir /u01/app/oracle/gc_inst sudo mkdir /u01/app/oracle/swlib # ORACLE_HOME に Gold Image を解凍します。(所要時間 5分ほど) sudo unzip /tmp/oracle/installer/Oracle\ Database\ 19.3.0.0.0\ for\ Linux\ x86-64.zip -d /u01/app/oracle/product/19.3.0/dbhome_1 # EMCC の管理リポジトリ作成に必要な DBCA テンプレートを配置します。 sudo unzip /tmp/oracle/installer/19_11_0_0_0_Database_Template_for_EM13_5_0_0_0_Linux_x64.zip -d /u01/app/oracle/product/19.3.0/dbhome_1/assistants/dbca/templates/ # oracle ユーザー用にディレクトリの権限を変更します。 sudo chown -R oracle:oinstall /u01 sudo chmod -R 775 /u01 sudo chown -R oracle:oinstall /tmp/oracle sudo chmod -R 775 /tmp/oracle
Oracle Database のインストール
oracle ユーザーにスイッチします。事前に XWindow System の準備も含めます。
※CV_ASSUME_DISTID はインストーラーの不具合対応となります。
sudo cp .Xauthority /home/oracle/.Xauthority sudo chown oracle:oinstall /home/oracle/.Xauthority # 上記ファイルが見つからない場合はセッションを再接続ください。 sudo su - oracle export DISPLAY=localhost:10.0 # デフォルトロケールの設定、および、Oracle Database インストールの不具合を回避する環境変数を設定します。 LANG=C export CV_ASSUME_DISTID='OL7' # Oracle Database インストーラーを起動します。 /u01/app/oracle/product/19.3.0/dbhome_1/runInstaller
以下は Oracle Database インストーラーの GUI 画面です。








===
Oracle Linux 8およびRed Hat Enterprise Linux 8では、単一インスタンスOracle DatabaseおよびOracle Database Clientのインストール時に、compat-libcap1-1.10パッケージの欠落エラーが発生します。
===




# ec2-user で。 sudo /u01/app/oraInventory/orainstRoot.sh sudo /u01/app/oracle/product/19.3.0/dbhome_1/root.sh

次回
本ブログは Oracle Database のインストールを EC2 で手早く行う方法の紹介でした。
次回は EMCC の管理リポジトリ・データベースの作成と EMCC のインストールを行っていきます!
■次回手順
1) EC2 インスタンス、および、OS 側の準備 完了
2) Oracle Database のインストール 完了
3) 管理リポジトリ・データベースの作成 ★
4) EMCC のインストール ★
5) EMCC に RDS for Oracle の登録
佐藤 光晃 (記事一覧)
マネージドサービス部・テクニカルサポート課
2022年10月にサーバーワークスに入社しました。
前職でもテクニカルサポートに従事しており、情報収集に役立つサービスやツールに興味があります。2023年8月にAWS資格12試験全冠しました。