特定の月のBioStar2モニタリングでイベントログが表示されません



原因

 - MariaDBのスキーマが破損しています。



イシューを確認する方法


1. 該当月のテーブル情報を確認します。


2. Heidi SQLもしくはMySQL workbenchを実行します。


3. 以下のクエリを実行します。(2020年3月ログが確認できない場合)

SELECT * FROM biostar2_ac.t_lg202003
SQL

*月を確認してクエリを更新してください。


4. エラーコード:1033を確認します。 


解決方法



1. 念のため、DBをバックアップします。


2. BioStar2 Serverを停止します。


3. MySQL Worbenchを実行します。


4. 「t_lstlog」のデータを検索しすべてのデータを削除します



5. 一時DB名を作成します。


6. .t_lg202003と同じテーブル名を作成します。

*月を確認してクエリを更新してください。1, 65, 67列を確認してください。


CREATE TABLE IF NOT EXISTS `T_LG202003` (

  `EVTLGUID` int(11) NOT NULL AUTO_INCREMENT,

  `SRVDT` Datetime,

  `DEVDT` INT,

  `DEVUID` INT NOT NULL,

  `PKTDEVID` INT NOT NULL,

  `DEVLGIDX` DECIMAL(38,0) NOT NULL,

  `IMGLGUID` CHAR(32),

  `USRID` CHAR(32),

  `USRGRUID` INT,

  `EVT` INT,

  `CRDSL` INT,

  `TNAKEY` INT,

  `DRUID` INT,

  `ZNUID` INT,

  `ELVTUID` INT,

  `DRUID1` INT,

  `DRUID2` INT,

  `DRUID3` INT,

  `IS_DST` INT,

  `TMZN_HALF` INT,

  `TMZN_HOUR` INT,

  `TMZN_NEGTV` INT,

  `USRUDTBYDEV` CHAR(1),

  `HINT` VARCHAR(50),

  PRIMARY KEY (`EVTLGUID`),

  UNIQUE KEY `UNIQUE_DEVLOG` (`PKTDEVID`,`DEVLGIDX`),

  KEY `IDX_USRID` (`USRID`),

  KEY `IDX_USRGRUID` (`USRGRUID`),

  KEY `IDX_EVT` (`EVT`),

  KEY `IDX_DEVUID` (`DEVUID`),

  KEY `IDX_HINT` (`HINT`),

  KEY `DEVDT_UID_DT_T_LG202003_IX` (`DEVDT`),

  KEY `IX_TN_DYN_T_LG202003_LG` (`IMGLGUID`)

)
SQL



6-1. Maria DB Serverを停止します。


7. Maria DBのディレクトリに移動します。(C:\Program Files\BioStar 2(x64)\ta\mariadb-10.1.10-winx64\data\NEW DB NAME\)


8. t_lg202003.frmをコピーしC:\Program Files\BioStar 2(x64)\ta\mariadb-10.1.10-winx64\data\biostar2_ac\に貼り付けます。


8.1 Maria DB Serverを開始します。


9. BioStar2 Serverを開始します。


10. BioStar2 Serverで3月のログを確認します。


11. DBを使用しない場合は、一時DB情報を削除してください