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 sysdbaSQL> 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_*
注釈
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' then 新 3: 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)の解凍から実施してください。
2.3. マルチテナント環境環境の権限設定¶
ヒント
この手順はマルチテナント環境が対象となります
監視対象DBに作成したMaxGauge用の共通ユーザ(C##MAXGAUGE)に共通の権限とコンテナ・データ属性を付与します。
SQL*PLUSでルート・コンテナ(CDB)にログインします
sqlplus / as sysdbainstall.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の場合)¶
ヒント
監視対象サーバの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 <-- 起動していることを確認
注釈
[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