Oracle 19c環境を再現するために以下の繰り合わせで環境準備を行う
環境
Oracle 19c
RHEL8.10
Guardium 12.2.3
uname -a
Linux testOracle.localdomain 4.18.0-553.el8_10.x86_64 #1 SMP Fri May 10 15:19:13 EDT 2024 x86_64 x86_64 x86_64 GNU/Linux
Ktapの互換性確認について事前に調べる
取得すべきKtapモジュールの名前がわかる

Copilotの回答だとRHELでカーネルを互換性があるものにする制限があるとのこと
今回は、4.18.0-553.el8_10.x86_64なのでOK

Oracle 準備
Enterpriseは、規模が大きい場合に導入するEdition。今回は小規模の検証環境のためStandardを選ぶ

RHELインストール
Oracle DBのインストール
RHELのsubscription登録
# subscription-manager config \
--server.proxy_hostname=192.168.20.23 \
--server.proxy_port=3128
# subscription-manager register --username <RHELのサイトログインID>
OSパッケージのインストール
# dnf install -y \
bc \
binutils \
elfutils-libelf \
elfutils-libelf-devel \
glibc \
glibc-devel \
ksh \
libaio \
libaio-devel \
libXrender \
libX11 \
libXau \
libXi \
libXtst \
libgcc \
libnsl \
librdmacm \
libstdc++ \
libstdc++-devel \
libxcb \
libibverbs \
make \
policycoreutils \
policycoreutils-python-utils \
smartmontools \
sysstat \
unzip \
lsof
Oracle用ユーザー・グループ作成
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle
新しいパスワード:
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。
ディレクトリー作成
#Oracle Homeはこれ
# mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1
# mkdir -p /u01/app/oraInventory
# mkdir -p /u01/stage
#権限追加
# chown -R oracle:oinstall /u01/app
# chmod -R 775 /u01/app
# chmod 775 /u01
#Oracle ZIPを配置します。
# mv V982063-01.zip /u01/stage
# chmod 777 /u01/stage/V982063-01.zip
OracleユーザでZIP実行をOracle Homeに展開
su - oracle
cd /u01/app/oracle/product/19.3.0/dbhome_1
unzip /u01/stage/V982063-01.zip
Oracleユーザーの環境変数を設定
cat >> ~/.bash_profile <<'EOF'
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LANG=ja_JP.UTF-8
export NLS_LANG=Japanese_Japan.AL32UTF8
EOF
source ~/.bash_profile
レスポンスファイル作成
su - oracle
cd $ORACLE_HOME
cp install/response/db_install.rsp /tmp/db_install.rsp
vi /tmp/db_install.rsp
以下変更
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=SE2
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=dba
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
INSTALL_DB_SWONLY は、Oracle Databaseソフトウェアのみをインストールし、データベースはまだ作成しない指定です。サイレントインストールでは response file を指定して runInstaller -silent を実行します
RHEL 8.10向けOSチェック回避設定
RHEL 8.10 + Oracle 19.3 baseでは、supportedOSCheck で INS-08101 が出る場合があるため、インストール実行前に以下を設定します。
export CV_ASSUME_DISTID=OEL8.1
INS-08101 supportedOSCheck に対して CV_ASSUME_DISTID を設定する回避策が報告されています。
Oracleソフトウェアをサイレントインストール
cd $ORACLE_HOME
./runInstaller -silent \
-responseFile /tmp/db_install.rsp \
-waitforcompletion
成功すると、以下のように表示されます。
Oracle Database設定ウィザードを起動中...
このセッションのレスポンス・ファイルは次の場所にあります:
/u01/app/oracle/product/19.3.0/dbhome_1/install/response/db_2026-07-08_10-19-15AM.rsp
このインストール・セッションのログは次の場所にあります:
/tmp/InstallActions2026-07-08_10-19-15AM/installActions2026-07-08_10-19-15AM.log
rootユーザーとして次のスクリプトを実行します:
1. /u01/app/oraInventory/orainstRoot.sh
2. /u01/app/oracle/product/19.3.0/dbhome_1/root.sh
次のノードで/u01/app/oraInventory/orainstRoot.shを実行してください:
[testOracle]
次のノードで/u01/app/oracle/product/19.3.0/dbhome_1/root.shを実行してください:
[testOracle]
Successfully Setup Software.
インストール・セッション・ログの移動先:
/u01/app/oraInventory/logs/InstallActions2026-07-08_10-19-15AM
rootスクリプト実行
su -
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/19.3.0/dbhome_1/root.sh
sqlplusコマンドの確認
$ su - oracle
$which sqlplus
$ sqlplus -v
期待結果
/u01/app/oracle/product/19.3.0/dbhome_1/bin/sqlplus
SQL*Plus: Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
リスナー作成
$ netca -silent -responseFile $ORACLE_HOME/assistants/netca/netca.rsp
コマンドライン引数の解析:
パラメータ "silent" = true
パラメータ "responsefile" = /u01/app/oracle/product/19.3.0/dbhome_1/assistants/netca/netca.rsp
コマンドライン引数の解析が終了しました。
Oracle Net Servicesの構成:
プロファイルの構成が完了しました。
Oracle Net Listenerの起動:
リスナーの制御の実行:
/u01/app/oracle/product/19.3.0/dbhome_1/bin/lsnrctl start LISTENER
リスナーの制御が完了しました。
リスナーの起動に成功しました。
リスナーの構成が完了しました。
Oracle Net Servicesの構成に成功しました。終了コードは次のとおりです。0
確認
$ lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 08-7月 -2026 10:22:59
Copyright (c) 1991, 2019, Oracle. All rights reserved.
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=testOracle.localdomain)(PORT=1521)))に接続中
リスナーのステータス
------------------------
別名 LISTENER
バージョン TNSLSNR for Linux: Version 19.0.0.0.0 - Production
開始日 08-7月 -2026 10:22:40
稼働時間 0 日 0 時間 0 分 18 秒
トレース・レベル off
セキュリティ ON: Local OS Authentication
SNMP OFF
パラメータ・ファイル /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora
ログ・ファイル /u01/app/oracle/diag/tnslsnr/testOracle/listener/alert/log.xml
リスニング・エンドポイントのサマリー...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=testOracle.localdomain)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
リスナーはサービスをサポートしていません。
コマンドは正常に終了しました。
DB作成
$ dbca -silent -createDatabase \
-templateName General_Purpose.dbc \
-gdbname orcl \
-sid orcl \
-responseFile NO_VALUE \
-characterSet AL32UTF8 \
-memoryPercentage 30 \
-emConfiguration NONE \
-datafileDestination /u01/app/oracle/oradata \
-createAsContainerDatabase false \
-sysPassword Oracle_123 \
-systemPassword Oracle_123
出力数十分かかるかも
DB操作の準備
10%完了
データベース・ファイルのコピー中
40%完了
Oracleインスタンスの作成および起動中
42%完了
46%完了
50%完了
54%完了
60%完了
データベース作成の完了
66%完了
69%完了
70%完了
構成後アクションの実行
100%完了
データベースの作成が完了しました。詳細は、次の場所にあるログ・ファイルを参照してください:
/u01/app/oracle/cfgtoollogs/dbca/orcl。
データベース情報:
グローバル・データベース名:orcl
システム識別子(SID):orcl
詳細はログ・ファイル"/u01/app/oracle/cfgtoollogs/dbca/orcl/orcl.log"を参照してください。
Guardium STAPインストール
ガイド
GIMスクリプトを動かすために必要なperlのインストール
# yum install perl
Fix centralからダウンロードしたZIPを解凍
unzip Guardium_12.x.p101_GIM_RedHat_r124239.zip
la -la Guardium_12.x.p101_GIM_RedHat_r124239
合計 40
drwxrwxr-x. 3 root root 72 6月 29 12:47 .
drwxr-xr-x. 3 root root 100 7月 2 18:04 ..
drwxrwxr-x. 2 root root 8192 6月 29 12:45 GIM_Agents
-rw-rw-r--. 1 root root 5686 6月 29 12:47 MD5SUMS
-rwxr-xr-x. 1 root root 18829 6月 25 10:07 consolidated_installer.sh
cd GIM_Agents/
# ./guard-bundle-GIM-12.x.p101_r124239_main_1-rhel-8-linux-x86_64.gim.sh -- \
--dir /usr/local/guardium \
--tapip 192.168.20.25 \
--sqlguardip 192.168.20.21 \
--perl /usr/bin \
Verifying archive integrity using SHA-256... All good.
Uncompressing Guard BUNDLE-GIM Installer....
This product is subject to the license terms associated with the IBM Security Guardium product purchased.
Installing modules ....
Installation completed successfully
意味
--dir GIMのインストール先
--tapip DBサーバー自身のIP
--sqlguardip Guardium Collector / GIM Server のIP
--perl perlがあるディレクトリ
正常性の確認
以下3つのプロセスが見えればOK
# ps -ef | grep -i guard | grep -v grep
root 23758 1 0 17:04 ? 00:00:00 /usr/local/guardium/modules/perl /usr/local/guardium/modules/GIM/12.x.p101_r124239_1-1783497857/gim_client.pl
root 23870 23758 0 17:04 ? 00:00:00 ../../perl ./guard_gimd.pl
root 24277 1 0 17:04 ? 00:00:00 /usr/local/guardium/modules/perl /usr/local/guardium/modules/SUPERVISOR/12.x.p101_r124239_1-1783497859/guard_supervisor
GIMとSUPERVISORモジュールが状況:緑で表示される

STAPモジュールをコレクターにアップロード
「GIMのバージョンと同じ、guard-bundle-STAP-12.x.p101_r124239_main_1-rhel-8-linux-x86_64.gim」をアップロード

STAPインストール
プルダウンのところをBundle-STAPに変更し、「次へ」

「インストール」

「次へ」

「状況の表示」

更新ボタンを教えて状況確認

「FAILED」になる。Ktapがまだ動作する状態ではないため

KTAPの有効化
以下のリンクを参考に「guardium_module_signing.der 」を読み込ませ再度KTAPを有効化
以前執筆した 内容と公式ドキュメント
https://www.ibm.com/docs/en/gdp/12.x?topic=tap-linux-unix-enrolling-k-signing-key
前回失敗した、「KTAP_ENALBLED」を1に変更してインストール


この時点でKTAP有効化済み

[管理]->「アクティビティー・モニター]->[S-TAP制御]にて設定を確認
パラメータを確認
データベースインストールディレクトリを修正

↓

ATAPの有効化
最初にDBの停止
su - oracle -c "sqlplus / as sysdba <<'EOF'
shutdown immediate;
exit
EOF"
Listenerの停止
su - oracle -c "lsnrctl stop"
パスの環境変数設定
export GIM_ROOT_DIR=/usr/local/guardium/modules
oracleユーザーを認可
/usr/local/guardium/modu*es/ATAP/current/files/bin/guardctl authorize_user oracle
A-TAPの設定
# /usr/local/guardium/modules/ATAP/current/files/bin/guardctl --db-user=oracle --db-type=oracle --db-instance=orcl --db-home=/u01/app/oracle/product/19.3.0/dbhome_1 --db-base=/u01/app/oracle/product/19.3.0/dbhome_1 --db-version=19.3 store-conf
For Oracle versions 12 or later, only ASO decrypted traffic will be captured if db-use-instrumented=no
A-TAPの有効化
# /usr/local/guardium/modules/ATAP/current/files/bin/guardctl --db-instance=orcl activate
For Oracle versions 12 or later, only ASO decrypted traffic will be captured if db-use-instrumented=no
Matching module found - oracle is supported by /usr/lib64/libguard-atap-oracle-any
Instance root/orcl is not active
Installing library /usr/lib64/libguard-atap-oracle-any*.a in /usr/lib
Installing library /usr/lib64/libguard-atap-oracle-any*.a in /usr/lib64
Creating permissions
Set 749 bytes for 'executor/env' in file '/u01/app/oracle/product/19.3.0/dbhome_1/bin/oracle-guard-executor'
Instance root/orcl is active
Oracle Listenerを起動
su - oracle -c "lsnrctl start"
Oracle Databaseを起動し、Listenerへサービス登録する。
su - oracle -c "sqlplus / as sysdba <<'EOF'
startup;
alter system register;
exit
EOF"
S-TAP再起動 (必要ないかも)
/usr/local/guardium/modules/STAP/current/rc stop by_init
sleep 5
/usr/local/guardium/modules/STAP/current/rc start by_init
Guardiumの監査ログを出すためのテストコマンド
su - oracle -c "sqlplus guardium_test/\"GuardiumTest#123\"@//127.0.0.1:1521/orcl <<'EOF'
set echo on
set linesize 200
set pagesize 100
prompt ===== GUARDIUM_SQL_DETAIL_TEST_START =====
select 'GUARDIUM_SQL_DETAIL_TEST_001' as marker from dual;
select username
from dba_users
where rownum <= 5;
prompt ===== GUARDIUM_SQL_DETAIL_TEST_END =====
exit
EOF"














