Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
unix:progress:dump-load [2015/10/08 16:59]
kos
unix:progress:dump-load [2021/07/07 22:38] (текущий)
kos [Загрузка]
Строка 2: Строка 2:
  
 === Примечание === === Примечание ===
-Если дамп и последующая загрузка производятся на разных серверах и/или инсталляциях OpenEdge, то перед операциями необходимо проверить ''​$DLC/​startup.pf''​ для обоих инстансов OpenEdge ​ +Если дамп и последующая загрузка производятся на разных серверах и/или инсталляциях OpenEdge, то перед операциями необходимо проверить ​содержимое файлов ​''​$DLC/​startup.pf''​ для обоих инстансов OpenEdge (на исходном и целевом хосте) на предмет корректности и совпадения параметров локализации. Либо следует указывать эти параметры в выполняемых командах в явном виде.
-(на исходном и целевом хосте) на предмет корректности и совпадения параметров локализации. Либо следует указывать эти параметры в выполняемых командах в явном виде.+
  
 Стандартные параметры локализации для БИСквита:​ Стандартные параметры локализации для БИСквита:​
Строка 28: Строка 27:
                 Data Definitions (.df file)... ​     <​bisquit.df>​                 Data Definitions (.df file)... ​     <​bisquit.df>​
                 User Table Contents... ​             <​_user.d>​                 User Table Contents... ​             <​_user.d>​
-                Security ​Authentication Records...  <​_sec-authentication-*.d>​+                Security ​Domains...                 ​<​_sec-authentication-*.d>​
                 Sequences Current Values... ​        <​_seqvals.d>​                 Sequences Current Values... ​        <​_seqvals.d>​
  
Строка 35: Строка 34:
   * Создаем файл со списком всех таблиц исходной базы (''​tabs.txt''​) по выгруженному ''​bisquit.df'':​   * Создаем файл со списком всех таблиц исходной базы (''​tabs.txt''​) по выгруженному ''​bisquit.df'':​
  
-   sed -ne '​s:​^ADD TABLE "​\(.*\)":​\1:​p'​ bisquit.df | tee tabs.txt+   sed -ne '​s:​^ADD TABLE "​\(.*\)"​.*$:\1:p' bisquit.df | tee tabs.txt
  
-Проверяем и фиксируем кол-во таблиц: ​+Проверяем и фиксируем количество таблиц: ​
  
    wc -l tabs.txt    wc -l tabs.txt
Строка 44: Строка 43:
  
    while read TAB; do    while read TAB; do
-        bq41d dump $TAB . || break+        bq41d dump $TAB . -thread 1 -threadnum 4 || break
    done <​tabs.txt | tee dump.log    done <​tabs.txt | tee dump.log
  
-Если какую-либо таблицу не надо дампить (напр''​history''​),​ то следует предварительно удалить ее из файла ''​tabs.txt''​+Если какую-либо таблицу не надо дампить (например, ​''​history''​),​ то следует предварительно удалить ее из файла ''​tabs.txt''​.
 После дампа проверяем логи (''​dump.log''​).\\ После дампа проверяем логи (''​dump.log''​).\\
-Проверяем кол-во сообщений об успешных дампах (должно соответствовать кол-ву таблиц):​+Проверяем количество сообщений об успешных дампах (должно соответствовать количеству таблиц):​
  
    grep "​(6254)"​ dump.log | wc -l    grep "​(6254)"​ dump.log | wc -l
Строка 93: Строка 92:
                 Data Definitions (.df file)... ​     <​bisquit.df>​                 Data Definitions (.df file)... ​     <​bisquit.df>​
                 User Table Contents... ​             <​_user.d>​                 User Table Contents... ​             <​_user.d>​
-                Security ​Authentication Records...  <​_sec-authentication-*.d>​+                Security ​Domains...                 ​<​_sec-authentication-*.d>​
                 Sequences Current Values... ​        <​_seqvals.d>​                 Sequences Current Values... ​        <​_seqvals.d>​
  
Строка 101: Строка 100:
    bq41d tablemove table-name table-area [index-area]    bq41d tablemove table-name table-area [index-area]
  
-Или используем процедуру ''​genscript.p''​ для генерации скрипта ''​move.sh''​ по описанию ''​table.cfg''​. Актуальные версии ''​genscript.p''​ и ''​table.cfg''​ поставляются в составе исходников выпускаемых патчей. Перед запуском созданного скрипта ''​move.sg''​ проверьте его содержание и отредактируйте при необходимости.+Или используем процедуру ''​genscript.p''​ для генерации скрипта ''​move.sh''​ по описанию ''​table.cfg''​. Актуальные версии ''​genscript.p''​ и ''​table.cfg''​ поставляются в составе исходников выпускаемых патчей. Перед запуском созданного скрипта ''​move.sh''​ проверьте его содержание и отредактируйте при необходимости.
  
    bq41d -1 -p genscript.p -param table.cfg,​move.sh    bq41d -1 -p genscript.p -param table.cfg,​move.sh
Строка 107: Строка 106:
  
    * В этом месте лучше сделать бэкап созданной "​пустой"​ базы с загруженной структурой,​ чтобы в случае неудачи начинать не с создания базы, а из бэкапа (база еще маленькая и восстановится быстро).    * В этом месте лучше сделать бэкап созданной "​пустой"​ базы с загруженной структурой,​ чтобы в случае неудачи начинать не с создания базы, а из бэкапа (база еще маленькая и восстановится быстро).
 +   * Для увеличения производительности загрузки можно предварительно выполнить запуск брокера БД и процессов APW а также выключить механизм защиты от сбоя (запись в журнал BI). Внимание:​ при указании опции "​-i"​ в случае какого-либо сбоя в загрузке необходимо будет начать процесс полностью заново,​ с пункта создания новой пустой базы либо восстановить ее из предварительно сделанного бэкапа.
 +
 +   bq41d start -i -spin 50000 -L 102400 -bibufs 100 -B 20000
 +
 +Запуск нескольких процессов proapw позволит ускорить процесс загрузки данных. Задайте дополнительное их количество в параметрах запускающего скрипта:​
 +
 +   ​RunBIW="​yes"​
 +   ​RunAPW="​yes"​
 +   ​BQNAPW="​5"​
 +   
 +Или используйте соответсвующие команды:​
 +
 +   bq41d exec probiw \$BQDB
 +   bq41d exec proapw \$BQDB
 +   bq41d exec proapw \$BQDB
 +   bq41d exec proapw \$BQDB
 +   bq41d exec proapw \$BQDB
 +   bq41d exec proapw \$BQDB
 +
  
    * Грузим данные (//​может требовать значительного времени!//​):​    * Грузим данные (//​может требовать значительного времени!//​):​
  
    cd <dump dir>    cd <dump dir>
-   for F in *.bd*; do bq41d load $F || break; done | tee load.log+   for F in *.bd*; do bq41d load $F -tscope 5000 || break; done | tee load.log
  
-Если какую-либо таблицу не надо загружать (напр''​history''​),​ то следует +Если какую-либо таблицу не надо загружать (например, ​''​history''​),​ то следует 
-предварительно удалить или переименовать ее суффикс (''​.bd''​)+предварительно ​ее удалить или переименовать ее суффикс (''​.bd''​)
  
-   * Проверяем логи (''​load.log''​). Искать "''​err''"​ или "''​fail''"​. Проверяем кол-во сообщений об успешных загрузках (должно соответствовать кол-ву таблиц):​+   * Проверяем логи (''​load.log''​). Искать "''​err''"​ или "''​fail''"​. Проверяем количество сообщений об успешных загрузках (должно соответствовать количеству загружаемых ​таблиц):​
  
    grep "​(6256)"​ load.log | wc -l    grep "​(6256)"​ load.log | wc -l
  
-   * Строим индексы (файл ''​bisquit.srt''​ должен быть создан заранее)+   * Строим индексы (файл ''​bisquit.srt''​ должен быть создан заранее). Эта операция самая ресурсозатратная,​ во многих случаях имеет смысл запускать ее в пакетном режиме в нерабочее время (для этого удобно использовать юниксовую команду ''​at''​).
  
    bq41d idxbuild all -mergethreads 2 -threadnum 2 -datascanthreads 6 -B 1024 -TF 50 -TMB 64 -TB 64 -TM 32 -rusage -silent    bq41d idxbuild all -mergethreads 2 -threadnum 2 -datascanthreads 6 -B 1024 -TF 50 -TMB 64 -TB 64 -TM 32 -rusage -silent
  
-   * Компилируем БИСквит при необходимости. +   * Компилируем БИСквит при необходимости ​с помощью promake, например
-   ​Убираем из PROPATH все старые r-ки. Заходим в ''​src''​ и запускаем, например:+   ​Убираем из PROPATH все старые r-ки. Заходим в ''​src''​ и запускаем:​
  
    bq41d -U bis -P ***    bq41d -U bis -P ***
       run promake.p       run promake.p
       ​       ​
-      указываем исходники: ​.../src/*+      указываем исходники: ​<​путь>​/src/*
       указываем каталог для r       указываем каталог для r
  
Строка 150: Строка 168:
          -> Managing R-code Libraries//​\\          -> Managing R-code Libraries//​\\
    - Компиляция:​\\    - Компиляция:​\\
-     - Документация БИСквит http://​support.bis.ru/​docs/​\\+     - Документация БИСквит http://​support.bis.ru/​prod/​bq/​core/docs/\\
      - Документация к патчам БИСквит//​\\      - Документация к патчам БИСквит//​\\
 +
 +{{tag>​progress prodb}}