2024年末にOEM 24aiがリリースされました。
新機能として GenAI Assistant が挙げられており、生成AIとベクトル検索を用いて、自然言語で監視対象DBの負荷状況を確認できるそうです。
動作イメージは下記動画をご参照ください。
https://www.youtube.com/watch?v=ZW5E1kZ6izw&t=1063s
この GenAI Assistant を試したくてOEM 24aiをインストールしてみたのですが、実機やドキュメントを見ても、該当機能が見つかりませんでした。。
もしかしたら現行最新の 24.1 ではなく、次の 24.2 以降で搭載予定なのかもしれません。
という訳で、今回は一先ずOEM 24.1をインストールしたときの流れをメモとして残したいと思います。。
環境
OCI上にComputeを使って構築しました。
DB構築の手間を省くため、以下マーケットプレイスのイメージを使いました。
https://cloudmarketplace.oracle.com/marketplace/ja_JP/listing/47726045
OEMインストール
以下からOEM 24ai本体をダウンロードします。
https://edelivery.oracle.com/
以降は oracle
ユーザで作業します。
インストール先ディレクトリを作成します。
$ mkdir -p /u01/app/oracle/middleware
$ mkdir -p /u01/app/oracle/agent
サイレント・インストールを行うため、レスポンスファイルを作成します。
レスポンスファイル作成に必要な環境変数をセットします。
ORACLE_BASE=/u01/app/oracle
UNIX_GROUP_NAME=oinstall
ORA_INVENTORY=/u01/app/oraInventory
MW_HOME=${ORACLE_BASE}/middleware
ORACLE_HOSTNAME=${HOSTNAME}
AGENT_BASE=${ORACLE_BASE}/agent
WLS_USERNAME=weblogic
WLS_PASSWORD=Welcome1
GC_INST=${ORACLE_BASE}/gc_inst
SOFTWARE_LIBRARY=${ORACLE_BASE}/swlib
DATABASE_HOSTNAME=localhost
LISTENER_PORT=1521
PDB_NAME=orclpdb
SYS_PASSWORD=Ora_DB4U
AGENT_PASSWORD=${WLS_PASSWORD}
ORACLE_SID=ORCL
DATA_DIR=/u01/app/oracle/oradata
OMS_HOME=${MW_HOME}
SYSMAN_PASSWORD=${WLS_PASSWORD}
SOFTWARE_DIR=/u01/software
レスポンスファイルを作成します。
cat > /tmp/install.rsp <<EOF
RESPONSEFILE_VERSION=2.2.1.0.0
UNIX_GROUP_NAME=${UNIX_GROUP_NAME}
INVENTORY_LOCATION=${ORA_INVENTORY}
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
INSTALL_UPDATES_SELECTION=skip
ORACLE_MIDDLEWARE_HOME_LOCATION=${MW_HOME}
ORACLE_HOSTNAME=${ORACLE_HOSTNAME}
AGENT_BASE_DIR=${AGENT_BASE}
WLS_ADMIN_SERVER_USERNAME=${WLS_USERNAME}
WLS_ADMIN_SERVER_PASSWORD=${WLS_PASSWORD}
WLS_ADMIN_SERVER_CONFIRM_PASSWORD=${WLS_PASSWORD}
NODE_MANAGER_PASSWORD=${WLS_PASSWORD}
NODE_MANAGER_CONFIRM_PASSWORD=${WLS_PASSWORD}
ORACLE_INSTANCE_HOME_LOCATION=${GC_INST}
CONFIGURE_ORACLE_SOFTWARE_LIBRARY=true
SOFTWARE_LIBRARY_LOCATION=${SOFTWARE_LIBRARY}
DATABASE_HOSTNAME=${DATABASE_HOSTNAME}
LISTENER_PORT=${LISTENER_PORT}
SERVICENAME_OR_SID=${PDB_NAME}
SYS_PASSWORD=${SYS_PASSWORD}
SYSMAN_PASSWORD=${SYSMAN_PASSWORD}
SYSMAN_CONFIRM_PASSWORD=${SYSMAN_PASSWORD}
DEPLOYMENT_SIZE=SMALL
AGENT_REGISTRATION_PASSWORD=${AGENT_PASSWORD}
AGENT_REGISTRATION_CONFIRM_PASSWORD=${AGENT_PASSWORD}
PLUGIN_SELECTION={}
b_upgrade=false
EM_INSTALL_TYPE=NOSEED
CONFIGURATION_TYPE=LATER
CONFIGURE_SHARED_LOCATION_BIP=false
MANAGEMENT_TABLESPACE_LOCATION=${DATA_DIR}/${ORACLE_SID^^}/${PDB_NAME}/mgmt.dbf
CONFIGURATION_DATA_TABLESPACE_LOCATION=${DATA_DIR}/${ORACLE_SID^^}/${PDB_NAME}/mgmt_ecm_depot1.dbf
JVM_DIAGNOSTICS_TABLESPACE_LOCATION=${DATA_DIR}/${ORACLE_SID^^}/${PDB_NAME}/mgmt_deepdive.dbf
EOF
OEM 24aiをインストールします。
$ unset CLASSPATH
$ ${SOFTWARE_DIR}/em24100_linux64.bin -silent -responseFile /tmp/install.rsp
root
に切替てrootスクリプトを実行します。
sh ${MW_HOME}/oms_home/allroot.sh
リポジトリDBを構成
リポジトリDBの構成もサイレント形式で行います。
そのため、まずはレスポンスファイルを作成します。
cat > /tmp/config.rsp <<EOF
RESPONSEFILE_VERSION=2.2.1.0.0
UNIX_GROUP_NAME=${UNIX_GROUP_NAME}
INVENTORY_LOCATION=${ORA_INVENTORY}
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
INSTALL_UPDATES_SELECTION=skip
ORACLE_MIDDLEWARE_HOME_LOCATION=${MW_HOME}
ORACLE_HOSTNAME=${ORACLE_HOSTNAME}
AGENT_BASE_DIR=${AGENT_BASE}
WLS_ADMIN_SERVER_USERNAME=${WLS_USERNAME}
WLS_ADMIN_SERVER_PASSWORD=${WLS_PASSWORD}
WLS_ADMIN_SERVER_CONFIRM_PASSWORD=${WLS_PASSWORD}
NODE_MANAGER_PASSWORD=${WLS_PASSWORD}
NODE_MANAGER_CONFIRM_PASSWORD=${WLS_PASSWORD}
ORACLE_INSTANCE_HOME_LOCATION=${GC_INST}
CONFIGURE_ORACLE_SOFTWARE_LIBRARY=true
SOFTWARE_LIBRARY_LOCATION=${SOFTWARE_LIBRARY}
DATABASE_HOSTNAME=${DATABASE_HOSTNAME}
LISTENER_PORT=${LISTENER_PORT}
SERVICENAME_OR_SID=${PDB_NAME}
SYS_PASSWORD=${SYS_PASSWORD}
SYSMAN_PASSWORD=${SYSMAN_PASSWORD}
SYSMAN_CONFIRM_PASSWORD=${SYSMAN_PASSWORD}
DEPLOYMENT_SIZE=SMALL
AGENT_REGISTRATION_PASSWORD=${AGENT_PASSWORD}
AGENT_REGISTRATION_CONFIRM_PASSWORD=${AGENT_PASSWORD}
PLUGIN_SELECTION={}
b_upgrade=false
EM_INSTALL_TYPE=NOSEED
CONFIGURATION_TYPE=ADVANCED
CONFIGURE_SHARED_LOCATION_BIP=false
MANAGEMENT_TABLESPACE_LOCATION=${DATA_DIR}/${ORACLE_SID^^}/${PDB_NAME}/mgmt.dbf
CONFIGURATION_DATA_TABLESPACE_LOCATION=${DATA_DIR}/${ORACLE_SID^^}/${PDB_NAME}/mgmt_ecm_depot1.dbf
JVM_DIAGNOSTICS_TABLESPACE_LOCATION=${DATA_DIR}/${ORACLE_SID^^}/${PDB_NAME}/mgmt_deepdive.dbf
EOF
リポジトリDB構成のスクリプトを実行します。
こちらは完了までに結構な時間を要します。
$ unset CLASSPATH
$ ${MW_HOME}/oms_home/sysman/install/ConfigureGC.sh -silent -responseFile /tmp/config.rsp
これでOEM 24aiのインストールが完了しました。
あとは接続できるようにファイアウォールを設定します。
OEMは7803ポートで待ち受けていますが、以下設定により443ポートからポートフォワーディングするようにします。
sudo su -
firewall-cmd --add-service=https
firewall-cmd --add-forward-port=port=443:proto=tcp:toport=7803
firewall-cmd --runtime-to-permanent
firewall-cmd --reload
firewall-cmd --list-all
OCIセキュリティ・リストに対しても、443ポートで接続できるように設定します。
これで以下URLからアクセスできるようになります。
https://your_public_ip/em
主な画面
残りはおまけですが、一応DBのターゲット追加や基本的な監視画面を載せておきます。
ぱっと見は13.5までと変わりないようです。
DBのターゲット追加
リポジトリDBだけですが、ターゲット追加してみます。
サイドメニューから「ターゲットの手動追加」を選択。
「ガイド付きプロセスを使用した追加」を選択。
「Oracle Database...」を選択して追加。
「ホストまたはクラスタの指定」でリポジトリDBを選択。
検出結果の画面で「コンテナ・データベース」「リスナー」にチェック。
「モニタリング資格証明」に dbsnmp
ユーザの情報を入力して「接続テスト」を実施。
事前に dbsnmp
ユーザに対して以下設定を行う必要があります。
SQL> GRANT CREATE PROCEDURE TO dbsnmp;
SQL> GRANT SELECT ANY DICTIONARY, SELECT_CATALOG_ROLE TO dbsnmp;
SQL> GRANT ALTER SYSTEM TO dbsnmp;
SQL> GRANT ADVISOR TO dbsnmp;
SQL> GRANT EXECUTE ON DBMS_WORKLOAD_REPOSITORY TO dbsnmp;
SQL> ALTER USER dbsnmp ACCOUNT UNLOCK;
SQL> ALTER USER dbsnmp IDENTIFIED BY "your password";
サマリを確認して「保存」を選択。
監視画面
DB監視画面のトップ。
「パフォーマンス・ハブ」の表示。
以上になります。
また GenAI Assistant 機能が使えるようになったタイミングで記事にしたいと思います。