MaxGaugeの文字コード確認/変更(手動での変更)¶
注釈
SQLを実行してMaxGaugeサーバ側の文字コードを確認/変更する方法を紹介します。
デフォルトのMaxGaugeの文字コードは、監視対象データベースのキャラクタセットが AL32UTF8
、 UTF8
に対応します。
AL32UTF8
、 UTF8
以外の監視対象データベース環境で、SQL文に日本語を含む場合、MaxGaugeで表示する際にSQL文が文字化けするため、
MaxGaugeの文字コードを変更する必要があります。
ORALCEのキャラクタセットに対応するMaxGaugeの文字コード表¶
キャラクタセット | MaxGaugeに設定する文字コード |
AL32UTF8 | UTF-8 |
UTF8 | UTF-8 |
JA16SJIS | MS932 |
JA16SJISTILDE | MS932 |
JA16EUC | EUCJP |
JA16EUCTILDE | EUCJP |
MaxGaugeサーバの文字コードの確認/変更¶
MaxGaugeサーバのPostgreSQLにログインします。
-- postres ユーザのパスワードはデフォルトで postgres psql -U postgres -h localhost -d MFO ユーザ postgres のパスワード: <パスワードを入力>
PostgreSQLにログイン後、下記のSQLを実行して現在の設定を確認します。
-- リアルタイムモニタの言語設定を確認 SELECT 'RealTime Monitor' AS "maxgauge", i.db_id, i.instance_name, e.value AS "charset" FROM apm_web_env e, apm_db_info i WHERE e.env_key = 'CHARSET' AND i.db_id = e.db_id order by i.db_id; -- パフォーマンスアナライザの言語設定を確認 SELECT 'Performance Analyzer' AS "maxgauge",db_id, instance_name, char_set AS "charset" FROM apm_db_info order by db_id ;
対象インスタンス名、変更する文字コードを変数に代入して、文字コードを変更するSQLを実行します。
-- ///////////////////////////////////////////// -- 変数にインスタンス名と -- 変更する文字コード名を代入します -- ///////////////////////////////////////////// -- インスタンス名を代入します:手順2で表示された「instance_name」と一致するインスタンス名を指定してください。 \set mxg_instname '<対象インスタンス名>' -- 文字コード名を入力します:「ORALCEのキャラクタセットに対応するMaxGaugeの文字コード表」の文字コードを指定してください。 \set mxg_charset '<変更する文字コード>' -- ***** 実行例 ***** -- インスタンス名: ORADB -- 文字コード: MS932(DBのキャラクタセットJA16SJISTILDE) -- -- \set mxg_instname 'ORADB' -- \set mxg_charset 'MS932' -- ****************** BEGIN; -- リアルタイムモニタモニタの文字コードを変更する UPDATE apm_web_env set value = :'mxg_charset' WHERE env_key = 'CHARSET' AND db_id = ( SELECT db_id FROM apm_db_info WHERE instance_name = :'mxg_instname'); -- パフォーマンスアナライザの文字コードを変更 UPDATE apm_db_info set char_set = :'mxg_charset' WHERE instance_name = :'mxg_instname'; -- 変更後の結果を確認するSQL SELECT 'RealTime Monitor' AS "maxgauge", i.db_id, i.instance_name, e.value AS "charset" FROM apm_web_env e, apm_db_info i WHERE e.env_key = 'CHARSET' AND i.db_id = e.db_id AND i.instance_name = :'mxg_instname' UNION SELECT 'Performance Analyzer' AS "maxgauge",db_id, instance_name, char_set AS "charset" FROM apm_db_info where instance_name = :'mxg_instname' order by 1 ; -- 正しく変更されたことを確認して、COMMITで変更を確定 COMMIT; -- psql を終了します。 \q
MaxGaugeサーバの mfo-platformjs , mfo-dg-master , mfo-dg-slave1 サービスを再起動して設定を反映させます。
Windowsの場合 https://support.ex-em.co.jp/support/mfo53/ope_mxgserver_win/
Linux/Unixの場合 https://support.ex-em.co.jp/support/mfo53/ope_mxgserver_linux/
注釈
文字コード変更前に収集したSQL文は、文字化けを解消することは出来ませんのでご留意ください。