2. 【ターゲット(LINUX系)】セットアップ

2.1. 事前作業

2.1.1. 対象インスタンスのSGAアドレス特定

MaxGaugeがアクセスするOracle共有メモリを確認します。

■単一インスタンスが稼働する場合

注釈

同じサーバマシンに単一のOracleデータベースインスタンスが稼働する場合は、key値が「0x00000000」以外のキーが1つ表示されますので、MaxGauge導入対象のインスタンスのSGAアドレスが特定できます。

※下記例では「0x925af7f8」が監視対象インスタンスのSGAアドレス

[oracle] $ ipcs -m

---------------- Shared Memory Segments ----------------
key         shmid   owner   perms  bytes  nattch  status
0x925af7f8  294912  oracle  640    4096   0
0x00000000  327681  oracle  640    4096   0

■複数インスタンスが稼働する場合

注釈

同じサーバマシンに複数のOracleデータベースインスタンスが稼働する場合は、「ipcs -m」コマンドで複数のキーが表示されますので、MaxGauge導入対象のインスタンスのSGAアドレスを特定する必要があります。|

スクリプト「get_sga_address.sh」(セットアップ資材に別途同封)を使用すると、簡単に対象インスタンスを特定できます。

※下記例では「0xc899e1f4」が監視対象インスタンスのSGAアドレス

[oracle] $ ipcs -m

------------------------- 共有メモリセグメント -------------------------
キー       shmid      所有者     権限       バイト     nattch       状態
0x00000000 99450880   oracle     640        4096       0
0x00000000 99483649   oracle     640        4096       0
0xc899e1f4 99516418   oracle     640        4096       0
0x672fbdc0 88474209   oracle     640        20480      55
0x00000000 786435     oracle12   640        4096       0
0x00000000 819204     oracle12   640        4096       0
0x00000000 851973     oracle12   640        4096       0
0x980fbdc0 884777     oracle12   640        20480      55

注釈

SGAアドレスを特定するスクリプトを実行

コマンド:sh ./get_sga_address.sh [ORACLE_USER_NAME] "/ as sysdba"

oracleのOSユーザとMaxGaugeのOSユーザの$ORACLE_SIDが異なる場合、「export ORACLE_SID={MaxGaugeユーザの$ORACLE_SID}」を実行してから、下記を実行します。

[oracle] $ sh ./get_sga_address.sh oracle "/ as sysdba"

+--------------------------------------------------------------
+-- Input Info
+--------------------------------------------------------------
TARGET_INSTANCE_OWNER : oracle11
CONNECT_STRING        : / as sysdba

+--------------------------------------------------------------
+-- Target Instance Info
+--------------------------------------------------------------
ORA11GR2        MXS-ORA-V01                    11.2.0.4.0

+--------------------------------------------------------------
+-- SGA Memory Address Info
+--------------------------------------------------------------

------------------------- 共有メモリセグメント -------------------------
キー       shmid      所有者     権限       バイト     nattch       状態
0x00000000 99450880   oracle     640        4096       0
0x00000000 99483649   oracle     640        4096       0
0xc899e1f4 99516418   oracle     640        4096       0
0x672fbdc0 88474209   oracle     640        20480      55
0x00000000 786435     oracle12   640        4096       0
0x00000000 819204     oracle12   640        4096       0
0x00000000 851973     oracle12   640        4096       0
0x980fbdc0 884777     oracle12   640        20480      55


Target SGA Memory Address --->  0xc899e1f4

***************************************************************

2.1.2. Oracleバージョンの確認

対象インスタンスのOracle Versionを確認します。方法は次のとおりです。

SQL> select banner from v$version ;

BANNER
---------------------------------------------------------------------------------
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
PL/SQL Release 12.1.0.1.0 - Production
CORE    12.1.0.1.0      Production
TNS for Linux: Version 12.1.0.1.0 - Production
NLSRTL Version 12.1.0.1.0 - Production
  • Oracle12.1.0.2以降の環境の場合の留意点

    注釈

    確認したOracleDBのバージョンが、『「12.1.0.2(2016/07月PSU適用済み)」又は「12.2.0.1」』以降の環境の場合、新しく追加されたOracleの初期化パラメータ「allow_group_access_to_sga」の設定値をデフォルト「false」から、「true」に変更する必要があります。

    このパラメータ「allow_group_access_to_sga」の設定値が「false」のままの場合、「oracle」以外のOSユーザーからはSGAへのアクセスが出来なくなり、MaxGaugeエージェント(RTS)がSGAから情報収集が出来なくなります。

    下記の手順で、初期化パラメータを変更「allow_group_access_to_sga=true」します。

    [oracle] $ sqlplus / as sysdba
    
    SQL> select * from v$version ;
    SQL> show parameter allow_group_access_to_sga
    SQL> alter system set allow_group_access_to_sga=true scope=spfile;
    SQL> shutdown immediate
    SQL> startup
    SQL> show parameter allow_group_access_to_sga
    

2.1.3. 表領域(DB専用ユーザー作成用)の確認

MaxGaugeのDB専用ユーザー作成時に入力するデフォルト表領域と一時表領域を事前に確認します。

SQL> select tablespace_name from dba_tablespaces order by 1;

2.1.4. PMONプロセスの確認

対象インスタンスのPMONプロセスのオーナーを確認します。

[oracle] $ ps -ef | grep pmon

oracle    1456     1  0 16:28 ?        00:00:04 ora_pmon_ORATEST
oracle    4776  4468  0 23:21 pts/0    00:00:00 grep pmon

2.1.5. 監視対象リスナーの確認

監視対象のリスナーの稼働状況(使用ポート、IPアドレス)を事前に確認します。

下記例の場合、後述するエージェントのインストール時に「LISTENER INFO」で「192.168.20.21:1521」で設定します。

[oracle] $ lsnrctl status

...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.20.21)(PORT=1521)))
...
[oracle] $ netstat -an | grep 1521 | grep LISTEN

tcp        0      0 192.168.20.21:1521          0.0.0.0:*                   LISTEN

2.1.6. 未使用ネットワークポートの確認

RTSは「5080」ポートでMaxGaugeサーバー(アプリケーションサーバー、DataGather)と通信しますので、事前に当該ポートが使用されていないことを確認します。もし使用中の場合は、他のポートNOを使用します。

[root] netstat -an | grep 5080

2.1.7. MaxGauge専用OSユーザー作成

エージェントが動作するmaxgauge用OSユーザーを作成します。まずは、OSユーザ作成時に指定するプライマリグループID(gid)を 対象インスタンスのSGAアドレス特定 で特定した監視対象の共有メモリアドレスから取得します。

  • 対象インスタンスのオーナ(下記例ではoracleユーザとする)の共有メモリのshmidを確認します。

    [root] $ ipcs -m
    
    ------ 共有メモリセグメント --------
    キー     shmid      所有者  権限     バイト  nattch     状態
    0x6c000a02 0          zabbix     600        175776     6
    0x00000000 65537      oracle     640        33554432   25
    0x00000000 98306      oracle     640        2466250752 25
    0xc1aa67b0 131075     oracle     640        2097152    25
    0xbf09cbdc 262148     oracle12   640        14680064   68
    0x00000000 294917     oracle12   640        792723456  34
    
    -> 所有者「oracle」のキー「0xc1aa67b0」が特定した監視対象のメモリアドレスの場合、
    そのshmid「131075」を確認する。
    
  • 確認したshmidからグループ権限(gid)を特定します。maxgauge用OSユーザのプライマリグループ権限に指定します。

    [root] $ ipcs -mc
    
    ------ 共有メモリセグメント 作成者/所有者 --------
    shmid      権限     cuid       cgid       uid        gid
    0          600        zabbix     zabbix     zabbix     zabbix
    65537      640        oracle     dba        oracle     dba
    98306      640        oracle     dba        oracle     dba
    131075     640        oracle     dba        oracle     dba
    262148     640        oracle12   dba        oracle12   dba
    294917     640        oracle12   dba        oracle12   dba
    
    -> shmid「131075」のgid「dba」をmaxgauge用OSユーザのプライマリグループ権限(gid)に設定します。
    
  • maxgauge用OSユーザのセカンダリグループ権限は、対象インスタンスのオーナーと同じ全てのグループを設定して作成します。

    [root] id oracle
    
    uid=1000(oracle) gid=1001(dba) 所属グループ=1001(dba),1002(oinstall)
    
    [root] cat /etc/passwd | grep 1100
    -> 使用されていないユーザID(uid)を使用します。
    
    [root] useradd -u 1100 -s /bin/bash -d /home/maxgauge -m -g {共有メモリ参照できるgid} -G {対象インスタンスのオーナーと同じ全てのグループ} maxgauge
    → RAC環境の場合、「grid」ユーザーのグループ(「id grid」の結果)も追加する
    
    実行例)
    [root] useradd -u 1100 -s /bin/bash -d /home/maxgauge -m -g 1001 -G 1002 maxgauge
    
  • Oralceユーザーのプロファイルを参照し、MaxGaugeユーザーに環境変数「ORACLE_HOME,ORACLE_BASE,ORACLE_SID,PATH」を設定します。「sysdba」で対象インスタンスへ接続出来ることを確認します。

    [root] su - oracle
    [oracle] $ cat .bash_profile
    
    ...
    export ORACLE_BASE=/opt/oracle
    export ORACLE_HOME=${ORACLE_BASE}/app/oracle/product/12.1.0/dbhome_1
    export ORACLE_SID=ORATEST
    export PATH=$PATH:${ORACLE_HOME}/bin
    export NLS_LANG=Japanese_Japan.AL32UTF8
    ...
    
    [oracle] $ exit
    logout
    
    [root] su - maxgauge
    
    [maxgauge] $ vi .bash_profile
    
    #----- 下記を追記 ↓↓↓↓ -------------------------------------------------
    # Add oracle env
    export ORACLE_BASE=/opt/oracle
    export ORACLE_HOME=${ORACLE_BASE}/app/oracle/product/12.1.0/dbhome_1
    export ORACLE_SID=ORATEST
    export PATH=$PATH:${ORACLE_HOME}/bin
    export NLS_LANG=Japanese_Japan.AL32UTF8
    #----- ↑↑↑ ----------------------------------------------------------
    
    [maxgauge] $ exit
    [root] su - maxgauge
    
    [maxgauge] $ env | grep ORACLE
    ORACLE_SID=ORATEST
    ORACLE_BASE=/opt/oracle
    ORACLE_HOME=/opt/oracle/app/oracle/product/12.1.0/dbhome_1
    
    [maxgauge] $ sqlplus / as sysdba
    
    ...
    Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
    に接続されました。
    
    SQL> exit
    

2.2. エージェントの設置

2.2.1. セットアップ資材のアップロード

エージェントファイルとライセンスキーをバイナリ形式でアップロードします。

ファイル名 説明
rts_MXG533_[OS]_[bit]_ora_[OracleVerion]*.tar エージェントファイル
license*.key ライセンスファイル
  • [OS/Linux系]

    OS種類 対応バージョン
    aix AIX 4.X ~ 7.X
    hpia HP-UX 11.X
    linux Redhat 5/6/7/8
    sun Solaris 8 ~ 11
  • [bit]※64bitのみサポート

    64Bitの場合
    64
  • [OracleVersion]

    対象のOracleバージョン ファイル名
    Oracle Database 10.1.0.1 rts_MXG533_[OS]_[bit]_ora_10G_*
    Oracle Database 10.1.0.5 rts_MXG533_[OS]_[bit]_ora_10105_*
    ※ Linuxの場合、リクエストベースで要相談
    Oracle Database 10.2.0.1 rts_MXG533_[OS]_[bit]_ora_102_*
    Oracle Database 10.2.0.2 rts_MXG533_[OS]_[bit]_ora_10202_*
    Oracle Database 10.2.0.3 rts_MXG533_[OS]_[bit]_ora_10203_*
    Oracle Database 10.2.0.4 rts_MXG533_[OS]_[bit]_ora_10204_*
    Oracle Database 10.2.0.5 rts_MXG533_[OS]_[bit]_ora_10205_*
    Oracle Database 11.1.0.1 rts_MXG533_[OS]_[bit]_ora_111_*
    Oracle Database 11.1.0.7 rts_MXG533_[OS]_[bit]_ora_11107_*
    Oracle Database 11.2.0.1 rts_MXG533_[OS]_[bit]_ora_112_*
    Oracle Database 11.2.0.2 rts_MXG533_[OS]_[bit]_ora_11202_*
    Oracle Database 11.2.0.3 rts_MXG533_[OS]_[bit]_ora_11203_*
    Oracle Database 11.2.0.4 rts_MXG533_[OS]_[bit]_ora_11204_*
    Oracle Database 12.1.0.1 rts_MXG533_[OS]_[bit]_ora_12101_*
    ※ hpaiの場合、リクエストベースで要相談
    Oracle Database 12.1.0.2 rts_MXG533_[OS]_[bit]_ora_12102_*
    Oracle Database 12.2.0.1 rts_MXG533_[OS]_[bit]_ora_12201_*
    Oracle Database 18.3.0.0 rts_MXG533_[OS]_[bit]_ora_18000_*
    Oracle Database 19.3.0.0 rts_MXG533_[OS]_[bit]_ora_19000_*

注釈

※ numaが表示されたファイルの場合、numa関係なくインストールが可能で、numaが表示されていない場合は、numa環境をサポートしていません。

※ Oracleのバージョンが「18c」以降の場合、OSにより対応するOracleバージョンが異なります。 MaxGaugeが対応するOracleのバージョン詳細は下記を参照してください。
※ マルチテナント構成の場合はCDBのみにエージェントを導入してください。PDBにエージェントを導入した場合、正常に動作しない事象の報告があります。詳細はリリースノートをご確認いただくか、サポートまでお問い合わせください。

2.2.2. セットアップ資材の解凍

セットアップ資材をMaxGaugeユーザのホームディレクトリに解凍後、デフォルトディレクトリ「maxgauge」を、MaxGaugeインスタンス名としてユニーク名(大文字、Oracle SIDと同じ名前を推奨、例では「ORATEST」)に変更します。

[maxgauge] $ tar -xvf rts_MXG533_linux_64_ora_19000_numa_191112.tar
[maxgauge] $ mv maxgauge ORATEST

2.2.3. 環境変数設定

MaxGauge環境変数ファイル「.mxgrc」の環境変数「MXG_HOME」にMaxGaugeインスタンスのホームディレクトリ、「CONF_NAME」にを設定します。その後、ログイン時自動適用されるよう、OSユーザのプロファイルに追記します。

[maxgauge] $ cd ORATEST/
[maxgauge] $ pwd
/home/maxgauge/ORATEST
[maxgauge] $ vi .mxgrc

# MaxGauge home directory

#----- 変更対象 ↓↓↓↓ -----------------------------------------------
MXG_HOME=/home/maxgauge/ORATEST
CONF_NAME=ORATEST
#----- ↑↑↑ ----------------------------------------------------------

注釈

「CONF_NAME」にはMaxGaugeインスタンス名「$ORACLE_SID」を大文字で入力します。後述のエージェントインストール時に設定する「MaxGauge conf name」と同じ値にします。

[maxgauge] $ cd ~
[maxgauge] $ vi .bash_profile

#----- 下記を追記 ↓↓↓↓ ---------------------------------------------
. /home/maxgauge/ORATEST/.mxgrc
#----- ↑↑↑ ----------------------------------------------------------
[maxgauge] $ su - maxgauge
Password:

[maxgauge] $ env | grep HOME
MXG_HOME=/home/maxgauge/ORATEST
HOME=/home/maxgauge
ORACLE_HOME=/opt/oracle/app/oracle/product/12.1.0/dbhome_1

2.2.4. ライセンスファイル格納

ライセンスファイルを「$MXG_HOME/bin」に格納します。(下記例では、「license.5.key」を配置)

[maxgauge] $ cd ~
[maxgauge] $ ls -al license*
-rw-r--r-- 1 maxgauge dba 2032 2015-05-14 14:32 license.5.key

[maxgauge] $ cp -p license.5.key $MXG_HOME/bin/

[maxgauge] $ ls -al $MXG_HOME/bin/
total 732
drwxr-xr-x 2 maxgauge dba   4096 2015-08-07 22:14 .
drwxr-xr-x 7 maxgauge dba   4096 2015-08-07 21:44 ..
-rw-r--r-- 1 maxgauge dba   2032 2015-05-14 14:32 license.5.key
-rwxr-x--- 1 maxgauge dba  90518 2015-08-05 11:17 mxg_obsd
-rwxr-x--- 1 maxgauge dba 576848 2015-08-05 11:17 mxg_rts
-rwxr-x--- 1 maxgauge dba  5.3063 2015-08-05 11:17 mxg_sndf
-rwxr-xr-x 1 maxgauge dba   8937 2015-02-02 16:50 rtsctl

2.2.5. インストール

インストールシェルを起動し、エージェントのインストールを行います。実行中に対話式で設定していきます。

入力項目 説明
Database owner Oracleインスタンスを起動したOSユーザー
MaxGauge conf name MaxGaugeインスタンス名「$ORACLE_SID」を大文字で入力
環境変数「CONF_NAME」で設定した値と同じにします。
IPC Key Oracle共有メモリキー、「ipcs -m」の結果より
PMON process PMONプロセス名
LISTENER INFO ListenIPアドレス:Listenしているポート(デフォルト1521)
RTS TCP Port number MaxGaugeサーバー(Data Gather、ウェブアプリケーションサーバー)との通信ポート(デフォルト5080)
Data Gather IP address MaxGaugeサーバー(Data Gather)のIPアドレス
Data Gather Port number Data Gatherスレーブプロセスとの通信ポート(デフォルト7001)
Oracle sys password Oracle「sys」ユーザーパスワード
Oracle MaxGauge user MaxGauge用DBユーザー名
Oracle MaxGauge Password MaxGauge用DBユーザーのパスワード ※半角英数字(大小文字区別)が使用可能。@などの記号は使用不可。
Default Tablespace for MaxGauge MaxGauge用DBユーザーのデフォルト表領域
Temporary Tablespace for MaxGauge MaxGauge用DBユーザーの一時表領域
Create xm$ view 専用ビューを作成:「Yes」
execute script process script プロセスの実行:「n」
Make conf files 環境ファイルを作成:「y」
Password file パスワードファイル作成用OS選択(1:Unix 2:Linux,Windows)
Run_by_sys 「sys」によるスクリプト実行:「y」
Install expkg package MaxGauge用パッケージ作成:「y」
Make env 環境(OS、Oracle)固有情報を記録:「y」
List.conf 指標リストファイルを作成:「y」
[maxgauge] $ cd $MXG_HOME/install
[maxgauge] $ ls -al
total 5.3
drwxr-xr-x 2 maxgauge dba 4096 2015-04-29 09:15 .
drwxr-xr-x 7 maxgauge dba 4096 2015-08-07 21:44 ..
-rwxr-xr-x 1 maxgauge dba   50 2013-03-19 21:46 get_alert_name.lst
-rwxr-xr-x 1 maxgauge dba  430 2013-03-19 21:46 get_alert_name.sql
-rwxr-xr-x 1 maxgauge dba 9349 2015-03-10 11:01 install.sh
-rwxr-xr-x 1 maxgauge dba  632 2014-08-22 10:10 makealertconf
-rwxr-xr-x 1 maxgauge dba 1467 2015-01-15 09:46 makecommonconf
-rwxr-xr-x 1 maxgauge dba 2772 2014-08-22 10:46 makertsconf
-rwxr-xr-x 1 maxgauge dba  238 2014-12-22 16:30 makesndfconf
-rwxr-xr-x 1 maxgauge dba 7312 2013-04-30 11:03 norun_install.sh
[maxgauge] $ ./install.sh

Welcome to MaxGauge Daemon setup

Enter Database owner: [oracle]
oracle
Enter Maxgauge conf name: [ORATEST]
ORATEST
1) 0x925af7f8
2) 0x00000000
Select ipc key:1
ipc key : 925af7f8

========== ora_pmon_ORATEST
1) ora_pmon_ORATEST
Select pmon process name:1(設定するpmon process nameの'番号'を入力します)
pmon name : ora_pmon_ORATEST

tcp        0      0 192.168.20.21:1521          0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:1522                0.0.0.0:*                   LISTEN
...
tcp        0      0 0.0.0.0:5391                0.0.0.0:*                   LISTEN
LISTENER INFO: [ *.1521|*:1521|127.0.0.1.1521|127.0.0.1:1521 ]
192.168.20.21:1521

RTS TCP Port number : [5080]
5080
DataGather IP Address : [127.0.0.1]
192.168.0.160
DataGather Port number : [7001]
7001
Oracle sys pass:
*****
Oracle maxgauge user: [maxgauge]
maxgauge
※CDB構成の場合、共通ユーザ「c##maxgauge」を設定

Oracle maxgauge pass:
*****
Default Tablespace for MaxGauge: [USERS]
USERS
Temporary Tablespace for MaxGauge: [TEMP]
TEMP
Create xm$ view in oracle sys account (yes/no): [yes]
Yes
※RACの場合、最初の1ノード目のMaxGauge用のVIEWは作成するので「yes」を入力して[Enter]押下、2ノード目以降は作成が不要なので「no」を入力して[Enter]押下)

execute script process ? (y/n) [n]
※デフォルトの「n」を選択

========================================================
Conf name ORATEST
IPC key 925af7f8
pmon name ora_pmon_ORATEST
TCP port 5080
DataGather IP 192.168.0.160
DataGather port 7001
Maxgauge user maxgauge
Oracle sys user sys

conf directory created.
Make conf files (rts.conf) ? (y/n) [y]
y
common.conf ===================
rts.conf =====================
sndf.conf =====================
...
alert.conf ====================

Select passwd File  (1:Unix 2:Linux,Win) ? [1]
2
Linux,Win passwd File Copy!!=================
run_by_sys ====================
run run_by_sys ? (y/n) [y]
y
※RACの場合、最初の1ノード目のMaxGauge用のVIEWは作成するので「yes」を入力して[Enter]押下、2ノード目以降は作成が不要なので「no」を入力して[Enter]押下)

...
SQL> Enter MaxGauge USER :Enter password for maxgauge :Enter Default Tablespace for maxgauge :Enter Temporary Tablespace for maxgauge :Create xm$ view in sys account (yes/no) :旧   1: CREATE USER &user_name IDENTIFIED BY &password
新   1: CREATE USER maxgauge IDENTIFIED BY maxgauge
旧   2: DEFAULT TABLESPACE &default_ts
新   2: DEFAULT TABLESPACE USERS
旧   3: TEMPORARY TABLESPACE &temp_ts
新   3: TEMPORARY TABLESPACE TEMP

ユーザーが作成されました。

旧   1: GRANT RESOURCE TO &user_name
新   1: GRANT RESOURCE TO maxgauge

権限付与が成功しました。

...

旧   1: GRANT SELECT ANY DICTIONARY TO &user_name
新   1: GRANT SELECT ANY DICTIONARY TO maxgauge

権限付与が成功しました。

旧   3: if '&create_xm' = 'yes' OR '&create_xm' = 'y' OR '&create_xm' = 'YES' OR '&create_xm' = 'Y' then3: if 'yes' = 'yes' OR 'yes' = 'y' OR 'yes' = 'YES' OR 'yes' = 'Y' then

PL/SQLプロシージャが正常に完了しました。
...

expkg =========================
Install expkg package ? (y/n) [y]
Y
※RACの場合、最初の1ノード目のMaxGauge用のVIEWは作成するので「yes」を入力して[Enter]押下、2ノード目以降は作成が不要なので「no」を入力して[Enter]押下)

...
SQL>
パッケージが作成されました。

エラーはありません。

パッケージ本体が作成されました。

エラーはありません。

権限付与が成功しました。

...
env =========================
Make env ? (y/n) [y]
y
...

list.conf =========================
Make list.conf ? (y/n) [y]
y

/home/maxgauge/ORATEST/util/db_setup/listconf.sql
...
SQL> [STAT]
689
0       OS CPU Qt wait time     1
1       Requests to/from client 1
2       logons cumulative       1
3       logons current          1
...
687     undo records    999
688     undo segment id 999
[EVENT]
1367
0       null event                                      0
1       pmon timer      duration                        6
2       logout restrictor                               4
3       VKTM Logical Idle Wait                          6
...
1365    cell manager cancel work request                0
1366    secondary event event # wait time               0
[LATCH]
582
0       PC and Classifier lists for WLM
1       post/wait queue
2       hot latch diags
...
581     KXDAM sga state latch
[SGASTAT]
3
1       sga stat shared pool free memory
2       sga stat large pool free memory
3       sga stat java pool free memory
...
End Install.sh===================================================
[maxgauge] $

注釈

監視対象OracleへOS認証接続できない場合

「./install.sh」の実行でエラーが発生する原因の1つとして、監視対象OracleへOS認証接続できない場合があります。

監視対象OracleへOS認証接続できない場合、下記の処理でエラーとなります。
Create xm$ view in oracle sys account (yes/no) で実行する、maxgauge用のビューが作成できない
run run_by_sys ? (y/n) で実行する、MaxGauge用DBユーザが作成、権限付与ができない
Make env ? (y/n)Make list.conf ? で実行する、envファイル、list.confが作成できない

監視対象OracleにSYSDBA接続できないOSユーザでエージェントをセットアップする場合、下記を参照してください。

注釈

bash_profileの$ORACLE_SIDと監視対象SIDが異なる場合

「./install.sh」の実行では、maxgauge用OSユーザのbash_profileに設定した$ORACLE_SIDに接続して、maxgauge用のDBオブジェクトを作成します。
bash_profileに指定した$ORACLE_SIDが監視対象データベースでない場合、$ORACLE_SIDの環境変数を設定してから、「./install.sh」を実行します。
[maxgauge] export $ORACLE_SID=ORADB01

注釈

「install.sh」を2回以上実行した場合、「Select passwd File (1:Unix 2:Linux,Win) ? 」でエラーが発生した場合

「install.sh」を最後まで実行完了した場合や「Select passwd File (1:Unix 2:Linux,Win) ? 」を実行した場合、「install.sh」を再度実施することはできません。
「Select passwd File (1:Unix 2:Linux,Win) ? 」の処理では、エージェントファイル(tar)解凍後の「$MXG_HOME/conf/passwd/」配下のパスワードファイルをコピーして、$MXG_HOME/conf/$CONF_NAME/passwdに配置しますが、その後、「$MXG_HOME/conf/」配下のディレクトリを移動・削除するため、2度目の「install.sh」を実施すると、コピー元や移動元が存在しないため下記のようなエラーメッセージが表示されます。
この場合、最初に解凍したエージェントのディレクトリごと退避してから、エージェントファイル(tar)の解凍から実施してください。
../_images/MFO_Passwordcopy_error.png

2.3. マルチテナント環境環境の権限設定

ヒント

この手順はマルチテナント環境が対象となります

監視対象DBに作成したMaxGauge用の共通ユーザ(C##MAXGAUGE)に共通の権限とコンテナ・データ属性を付与します。

SQL*PLUSでルート・コンテナ(CDB)にログインします

sqlplus / as sysdba

install.sh で作成した共通ユーザに共通の権限を再付与します

GRANT RESOURCE TO C##MAXGAUGE CONTAINER=ALL;
GRANT CREATE SESSION TO C##MAXGAUGE CONTAINER=ALL;
GRANT SELECT_CATALOG_ROLE TO C##MAXGAUGE CONTAINER=ALL;
GRANT SELECT ANY TABLE TO C##MAXGAUGE CONTAINER=ALL;
GRANT CREATE ANY PROCEDURE TO C##MAXGAUGE CONTAINER=ALL;
GRANT EXECUTE ON SYS.DBMS_SESSION TO C##MAXGAUGE CONTAINER=ALL;
GRANT EXECUTE ON SYS.DBMS_SYSTEM TO C##MAXGAUGE CONTAINER=ALL;
GRANT EXECUTE ON SYS.DBMS_LOCK TO C##MAXGAUGE CONTAINER=ALL;
GRANT ALTER SESSION TO C##MAXGAUGE CONTAINER=ALL;
GRANT ALTER SYSTEM TO C##MAXGAUGE CONTAINER=ALL;
GRANT SELECT ANY DICTIONARY TO C##MAXGAUGE CONTAINER=ALL;

MaxGaugeの情報収集に必要なコンテナ・データ属性を付与します

ALTER USER C##MAXGAUGE SET CONTAINER_DATA = ALL FOR V_$ACTIVE_SESSION_HISTORY CONTAINER=CURRENT;
ALTER USER C##MAXGAUGE SET CONTAINER_DATA = ALL FOR V_$SQL CONTAINER=CURRENT;
ALTER USER C##MAXGAUGE SET CONTAINER_DATA = ALL FOR V_$SQL_BIND_CAPTURE CONTAINER=CURRENT;
ALTER USER C##MAXGAUGE SET CONTAINER_DATA = ALL FOR V_$SQL_MONITOR CONTAINER=CURRENT;
ALTER USER C##MAXGAUGE SET CONTAINER_DATA = ALL FOR V_$SQL_PLAN CONTAINER=CURRENT;

注釈

コンテナ・データ属性は、MaxGaugeが収集する「実行計画」「BIND変数」「ブロッキングセッション」などの情報を取得するため付与します

2.4. エージェント設定の追加オプション

ヒント

各パラメータは必須作業ではありません。
必要に応じて、各設定ファイルのパラメータを変更してください。

2.4.1. パラメータファイル : rts.conf

MaxGaugeエージェントのRTSプロセスの設定ファイル rts.conf の各種パラメータ変更の手順

rts.confのパス

$MXG_HOME/conf/[instance_name]/rts.conf

2.4.1.1. バックグラウンドセッションのデータ保存設定

バックグラウンドセッションの情報を保存する場合、「rts.conf」のオプション「dg_background_include=1」(デフォルト値は「0」⇒リポジトリにデータを保存しない)へ変更します。

[maxgauge] $ cd $MXG_HOME/conf/[instance_name]
[maxgauge] $ cat rts.conf

[maxgauge] $ vi rts.conf

#----- 下記を変更 ↓↓↓↓ ---------------------------------------------
# DG Txn Background Session Include (exclude:0 include:1 )
dg_background_include=1
#----- ↑↑↑ ----------------------------------------------------------

注釈

MaxGaugeではアクティブなバックグラウンドセッションを収集しますが、そのうちidleイベントのバックグラウンドセッションはデフォルトでは除外しており保存しません。
これはバックグラウンドセッションのデータ量が多く、一般的にidleイベントのバックグラウンドセッションは分析対象とされないためです。
idleイベントのバックグラウンドセッションを保存して、PerformanceAnalyzerで確認したい場合、本設定を行います。
本設定に関係なく、Real-Time Monitorのアクティブセッションリストにはidleイベントのアクティブなバックグラウンドセッションは収集しませんが、セッション詳細画面では収集表示可能です。

2.4.1.2. 監視対象リスナーの停止チェックの設定

デフォルト設定の場合、MaxGaugeでは監視対象リスナーを10分ごとにチェックをして、リスナーが停止するとMaxGauge画面にアラートを表示します。MaxGaugeでリスナーチェックをしない場合、「rts.conf」のオプション「listener_check_interval=0」(デフォルト値は「10」⇒10分間隔でリスナーチェックする)へ変更します。

[maxgauge] $ cd $MXG_HOME/conf/[instance_name]
[maxgauge] $ cat rts.conf

[maxgauge] $ vi rts.conf

#----- 下記を変更 ↓↓↓↓ ---------------------------------------------
# LISTENER CHECK INTERVAL (default:10min)
listener_check_interval=0
#----- ↑↑↑ ----------------------------------------------------------

2.4.2. パラメータファイル : common.conf

MaxGaugeエージェントのRTSプロセスの設定ファイル common.conf の各種パラメータ変更の手順

common.confのパス

$MXG_HOME/conf/[instance_name]/common.conf

2.4.2.1. RTSメモリ使用量の上限値の設定(監視対象OSがSolarisの場合)

ヒント

監視対象サーバOSがSolarisの場合に必須な作業です。

監視対象サーバのOBSDプロセスは、RTSプロセスを監視して、メモリサイズやCPU使用率の上限を超えると再起動をします。

監視対象サーバのOSがSolarisの場合、OSの特性上、RTSエージェントが使用するメモリサイズは、実際に使用していなくても、RTSエージェントが参照する監視対象ORACLEの共有メモリサイズに近い値になります。そのためデフォルトのメモリサイズの上限(1GB)ではRTSエージェントの再起動が繰り返される事象が発生します。

OBSDがRTSを再起動するメモリサイズの上限(デフォルト1GB)を「監視対象Oracleの共有メモリ(SGA)サイズ+0.5GB(500000KB)」に変更します。

[maxgauge] $ cd $MXG_HOME/conf/[instance_name]
[maxgauge] $ cat common.conf

[maxgauge] $ vi common.conf

#----- 下記を変更 ↓↓↓↓ ---------------------------------------------
obs1_mem_limit=1000000(KB)
#----- ↑↑↑ ----------------------------------------------------------

インストール手順では本手順時はエージェントは停止していますが、エージェントが起動している場合は、エージェントを再起動します。

# エージェント停止
[maxgauge] rtsctl stop
[maxgauge] rtsctl status <-- 停止していることを確認

# エージェント起動
[maxgauge] rtsctl start
[maxgauge] rtsctl status <-- 起動していることを確認

注釈

上記設定後、エージェントが動作した際に下記OBSDのログでRTSのメモリサイズの上限を超えた理由でRTS再起動が発生している場合は「obs1_mem_limit」に設定するサイズを増やす対応(チューニング)が必要になります。
[maxgauge] $ cat $MXG_HOME/log/maxgauge/[instance_name]_01_obsdYYMMDD.log
[observer]check_daemon(): restart otherd(1) after kill
[observer]check_daemon(): restart otherd(1)
[memory exceeded!!!] pid: xxxxx, mem: 5004472 KB, limit: 1000000 KB, mem over count: 1, mem check interval: 60sec
[observer]check_daemon(): kill otherd(1). (memory): Exceeded!!! pid: xxxxx, mem; 5004472 KB, limit: 1000000 KB, mem over count: 1, mem check interval: 60sec

2.5. エージェント起動

エージェントを起動します。(下記例では、エージェント「ORATEST」を起動)

[maxgauge] $ ps -ef | grep mxg_ | grep -v grep

[maxgauge] $ rtsctl start

RTS process for ORATEST is started.
SNDF process for ORATEST is started.
OBSD process for ORATEST is started.

[maxgauge] $ ps -ef | grep mxg_ | grep -v grep

maxgauge    25146     1  4 Apr20 ?     07:22:18 mxg_rts -c ORATEST -r -D
maxgauge    25153     1  2 Apr20 ?     03:34:52 mxg_sndf -c ORATEST -D
maxgauge    25167     1  0 Apr20 ?     00:00:28 mxg_obsd -c ORATEST -OTHERD -i 10 –D