Ad Widget

Collapse

Попытка перевести большую систему с 1.8.13 на 2.0.2

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • dotneft
    Senior Member
    • Nov 2008
    • 699

    #16
    Originally posted by jimson
    dep_level выпилили еще полтора года назад, из беты в смысле

    что тебе надо делать, надо сделать следующее

    select triggerid_down, triggerid_up, count(*) as duplicate from trigger_depends group by triggerid_down, triggerid_up having duplicate > 1;

    получишь портятнку дублей и их кол-во

    далее делаешь
    select * from triggers where triggerid = xxx
    где xxx это идентификаторы из колонки triggerid_down предыдущей портянки

    затем пробуешь через интерфейс для найденных таким образом тригеров убрать зависимости, притом если это шаблон, то удостовериться что в хостах, использующих этот шаблон, тоже зависимости снимаются

    затем вернуться к пункту один - сделать заново портянку, до тех пор пока она не перестанет выдавать дубли
    Слишком долгое решение, и ручное.

    Comment

    • gdgsoft
      Senior Member
      • Apr 2009
      • 202

      #17
      Все равно сейчас попробую. Слава богу всего 4 строки в дублях
      Zabbix 2.4.2
      PHP 5.4.5
      Oracle Linux 6.5
      VmWare ESXi 4

      MariaDB 10.0.15
      Oracle Linux 6.5
      Supermicro SYS-6027TRF(64Gb+RAID-10 600Gb SAS15k)

      Comment

      • dotneft
        Senior Member
        • Nov 2008
        • 699

        #18
        Ок, поступим следующим образом выполните последовательно следующие запросы:

        CREATE TABLE trigger_depends_tmp LIKE trigger_depends;

        INSERT INTO trigger_depends_tmp (triggerdepid, triggerid_down, triggerid_up) (SELECT MIN(triggerdepid),triggerid_down, triggerid_up FROM trigger_depends GROUP BY triggerid_down, triggerid_up);

        RENAME TABLE trigger_depends TO trigger_depends_old;

        RENAME TABLE trigger_depends_tmp TO trigger_depends;

        Пока оставьте таблицу trigger_depends_old, после чего убедитесь что патч сработал и данные в целостности. Ну и наконец убейте таблицу
        DROP TABLE trigger_depends_old;

        Comment

        • dotneft
          Senior Member
          • Nov 2008
          • 699

          #19
          Originally posted by gdgsoft
          Все равно сейчас попробую. Слава богу всего 4 строки в дублях
          ну тогда вообще все просто

          Comment

          • gdgsoft
            Senior Member
            • Apr 2009
            • 202

            #20
            Jimson, dotneft
            огромное Вам СПАСИБО за помощь!!!

            Сделал все как описал dotneft:
            CREATE TABLE trigger_depends_tmp LIKE trigger_depends;

            INSERT INTO trigger_depends_tmp (triggerdepid, triggerid_down, triggerid_up) (SELECT MIN(triggerdepid),triggerid_down, triggerid_up FROM trigger_depends GROUP BY triggerid_down, triggerid_up);

            RENAME TABLE trigger_depends TO trigger_depends_old;

            RENAME TABLE trigger_depends_tmp TO trigger_depends;

            После этого запустил оригинальный скрипт по апгрейду по от версии 2.0.2 и без внесения доработок тех, которые предлагал dotneft ранее, а именно:
            убрать: CREATE UNIQUE INDEX trigger_depends_1 ON trigger_depends (triggerid_down,triggerid_up);
            добавить: ALTER IGNORE TABLE trigger_depends ADD UNIQUE INDEX trigger_depends_1 (triggerid_down,triggerid_up);

            База проапгрейдилась.
            На первый взгляд все нормально. Спасибо!
            Zabbix 2.4.2
            PHP 5.4.5
            Oracle Linux 6.5
            VmWare ESXi 4

            MariaDB 10.0.15
            Oracle Linux 6.5
            Supermicro SYS-6027TRF(64Gb+RAID-10 600Gb SAS15k)

            Comment

            • dotneft
              Senior Member
              • Nov 2008
              • 699

              #21
              Кстати рекомендую вам подождать до выхода 2.0.3. Там скрипт был оптимизирован под heavy системы и теперь выполняется намного быстрее

              Comment

              • ugh
                Senior Member
                • Jun 2009
                • 296

                #22
                Господа, товарищи у которых большие инсталляции в продакшене.
                Вы таки обновились до двойки? Если да, то заметен ли профит?

                Comment

                • dotneft
                  Senior Member
                  • Nov 2008
                  • 699

                  #23
                  Originally posted by ugh
                  Господа, товарищи у которых большие инсталляции в продакшене.
                  Вы таки обновились до двойки? Если да, то заметен ли профит?
                  очень заметен

                  Comment

                  Working...