Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
1_основная_инструкция:сохранение_и_восстановление_инф._баз_при_обновлении_клиентов [2020/07/20 09:58]
kotik
1_основная_инструкция:сохранение_и_восстановление_инф._баз_при_обновлении_клиентов [2020/07/25 17:53] (текущий)
kotik
Строка 16: Строка 16:
 1) тестирование и исправление:​ 1) тестирование и исправление:​
  
-  - Зайти в конфигуратор+  - Зайти в конфигуратор, нажать в меню на **"​Администрирование"​**
-  - Нажать в меню на **"​Администрирование"​**+
   - Выбрать пункт **"​Тестирование и исправление"​**   - Выбрать пункт **"​Тестирование и исправление"​**
-  - В разделе **"​Проверки и режимы"​** отмечаем нужные пункты:​+  - В разделе **"​Проверки и режимы"​** отмечаем нужные пункты:​<​WRAP>​ 
 +  * //​Реиндексация таблиц информационной базы// - если установлен этот флаг, будет произведена реиндексация таблиц - полное перестроение индексов для заданных таблиц. Реиндексация существенно повышает производительность системы в целом.  
 +  * //​Проверка логической целостности информационной базы// - система умеет проверять логическую и структурную целостность базы данных,​ находить ошибки в организации данных (например,​ страниц в файле) 
 +  * //​Проверка ссылочной целостности информационной базы//​ — подпункт логической проверки,​ проверяет информацию в базе данных на наличие «битых» ссылок. «Битые» ссылки появляются в базе из-за некорректной обработки информации разработчиком,​ чаще всего при непосредственном удалении данных или неправильно настроенном обмене данных. При нахождении ошибок можно выбрать 3 варианта действий:​ Создавать объекты — система создает элементы-заглушки,​ которые можно потом заполнить необходимой информацией,​ Очищать ссылки — «битые» ссылки будут очищены,​ Не изменять — система только покажет Вам ошибки. 
 +  * //​Пересчет итогов//​ — в платформе 1С в регистрах накопления и регистрах бухгалтерии есть понятие итогов. Итоги — таблица подсчитанных результатов,​ данные из которой получить быстрее,​ чем анализировать весь регистр сведений. Как правило,​ пересчет итогов увеличивает производительность системы. 
 +  * //​Сжатие таблиц информационной базы//​ — если установлен этот флаг,​ база данных будет сжата и уменьшится в объеме. Связанно это с тем, что при удалении данных из базы данных,​ 1С не удаляет физически эти объекты,​ а лишь «помечает» их на удаление. Т.е. пользователь не видит их, а они есть :). Вот именно сжатие базы данных и удаляет такие записи окончательно. Также такого эффекта можно достичь выгрузкой и загрузкой файла базы данных (*.dt). При удалении объектом в учетной системе,​ они полностью не удаляются и увеличивается вес Базы, для этого и нужна эта операция. 
 +  * //​Реструктуризация таблиц информационной базы//​ — процесс,​ с помощью которого система осуществляет пересоздание таблиц баз данных,​ обычно эта процедура вызывается при внесения изменений в структуру метаданных конфигурации. Реструктуризация всей БД — процесс долгий,​ будьте внимательны. (Например 2 таблицы и данные из 1 порциями копируются во 2, при этом структура таблицы меняется,​ а данные остаются такие же 
 +</​WRAP>​
   - Кликнуть по требуемому действию:<​WRAP>​   - Кликнуть по требуемому действию:<​WRAP>​
   * "​Только тестирование"​ - если требуется узнать место ошибки в базе ​   * "​Только тестирование"​ - если требуется узнать место ошибки в базе ​
-  * "​Тестирование и исправление"​ - если нужно сразу все исправить+  * "​Тестирование и исправление"​ - если нужно сразу все исправить. Перед началом ОБЯЗАТЕЛЬНО сделать резервную копию, даже если база уже сломана 
 +</​WRAP>​ 
 +  - Установить в столбцах требуемые параметры исправления:<​WRAP>​ 
 +  * Создавать объекты - 1С создаст объект заглушку,​ которая исправит ошибку. Вместо которой можно будет создать нужный объект. 
 +  * Битые ссылки либо удаляются либо создаются ссылки заглушки,​ которая никуда не ведет. 
 +</​WRAP>​ 
 + 
 +{{:​1_основная_инструкция:​1_бекап.png?​direct|}} 
 + 
 +2) Загрузка резервной копии конфигурации 
 + 
 +  - Зайти в конфигуратор,​ нажать в меню на **"​Конфигурация"​** 
 +  - Выбрать пункт **"​Загрузить конфигурацию из файла"​** (Предварительно сохранить конфигурацию в файл и перед началом ОБЯЗАТЕЛЬНО сделать резервную копию). Такая загрузка заменяет только скелет базы. 
 + 
 +//​Информационная база 1С состоит из 2 частей из данных и скелета конфигурации//​ 
 + 
 +{{:​1_основная_инструкция:​2_бекап.png?​direct|}} 
 + 
 +Загрузка базы из конфигуратора в полном объеме:​ 
 + 
 +  - Зайти в конфигуратор,​ нажать в меню на **"​Администрирование"​** 
 +  - Выбрать пункт **"​Загрузить информационную базу"​** (Перед началом ОБЯЗАТЕЛЬНО сделать резервную копию) При такой загрузки идет полная замена данных 
 + 
 +{{:​1_основная_инструкция:​3_бекап.png?​direct|}} 
 + 
 +3) Утилита chdbfl.exe 
 + 
 +Утилита chdbfl.exe расположена по пути "​C:​\Program Files\1cv8\<​номер_версии_1с\bin\chdbfl.exe"​ и предназначенна для теста файла формата 1cd на ошибки 
 + 
 +  - Перейти в папку нужной версии 1С 
 +  - Зайти в папку "​bin"​ 
 +  - Найти утилиту chdbfl.exe и дважды кликнуть по ней. 
 + 
 +{{:​1_основная_инструкция:​4_бекап.png?​direct|}} 
 + 
 +  - Указываем имя базы данных. 
 +  - Если нужно исправление ошибок,​ то установить галочку в соответствующем поле. 
 +  - Нажать кнопку **"​Выполнить"​** (конфигуратор должен быть закрыт). 
 + 
 +{{:​1_основная_инструкция:​5_бекап.png?​direct|}} 
 + 
 +4) Подмена кеша 
 + 
 +Если в конфигуратор нет возможности попасть и появляется ошибка 
 + 
 +{{:​1_основная_инструкция:​6_бекап.png?​direct|}} 
 + 
 +  - Необходима чистая конфигурация той же версии что и разрушенная база (создаются бекапы базы) 
 +  - Очистить кеш полностью 
 +  - Запустить чистую базу в режиме конфигуратора и открыть конфигурацию. При этом 1С создает ее кеш. 
 +  - Открыть битую базу режиме конфигуратора и посмотреть кеш. (две папки с кешем) 
 +  - Закрыть все и подменить кеш битой базы на кеш живой базы. 
 +  - Запустить битую базу в режиме конфигуратора.  
 +  - Взять резервную копию текущей версии конфигурации и сделать полную загрузку. 
 +  - Очистить кеш снова. 
 + 
 +Для очистки кеша: 
 + 
 +В адресной строке пишем %appdata% и нажимаем кнопку **"​Еnter"​** 
 + 
 +{{:​1_основная_инструкция:​7_бекап.png?​direct|}} 
 + 
 +Возвращаемся на раздел выше, кликнув на **"​Appdata"​** 
 + 
 +{{:​1_основная_инструкция:​8_бекап.png?​direct|}} 
 + 
 +  - Зайти в парку "​Local"​ 
 +  - Перейти в папку "​1С"​ 
 +  - Провалиться в папку "​1Сv81"​ 
 + 
 +{{:​1_основная_инструкция:​9_бекап.png?​direct|}} 
 + 
 +Удалить все файлы с гуидами,​ кроме исключений указанных ниже. Аналогично удаляем файлы из папки "​Roaming"​ 
 + 
 +{{:​1_основная_инструкция:​10_бекап.png?​direct|}} 
 + 
 +Когда осуществляется вход в конфигуратор,​ то автоматически формируется 2 одинаковых лога в папке Local  и  Roaming 
 + 
 +Если есть кеш здоровой базы и кеш сломанной,​ то нужно скопировать наименование здоровой,​ удалить сам файл и переименовать кеш в сломанной в папках Local  и  Roaming 
 + 
 +__Резервное копирование файловых баз__ 
 + 
 +  - Копирование файлов баз данных 
 +  - Выгрузка информационной базы в файл 
 +  - Выгрузка конфигурации информационной базы в файл 
 + 
 +1) Копирование файлов баз данных 
 + 
 +При использовании файлового варианта 1С:​Предприятия 8 можно организовать процесс создания резервной копии информационной базы путем простого копирования файла 1CV8.1CD в отдельный каталог или с использованием программного обеспечения для резервного копирования и восстановления данных. Следует учитывать,​ что для обеспечения целостности и согласованности данных во время создания резервной копии, работа пользователей с информационной базой должна быть запрещена,​  однако время, необходимое на создание резервной копии существенно меньше,​ чем при использовании выгрузки информационной базы в файл. 
 + 
 +Копируется вся папка с базой или только файл с расширением 1CD. ВАЖНО, что бы все конфигураторы и 1С предприятия были закрыты,​ иначе может возникнуть ситуация потери данных. 
 + 
 +{{:​1_основная_инструкция:​18_бекап.png?​direct|}} 
 + 
 +Пример скрипта,​ который копирует файлы базы данных:​ 
 + 
 +xcopy "​D:​\work\Send Base_work\repository"​ "​D:​\work\Send Base_work\backup\%date%"​ /f /s /i 
 + 
 +Данный скрипт помещается в планировщик заданий для выполнения через равные промежутки времени 
 + 
 +Операция "​xcopy"​ копирует данные из папки "​D:​\work\Send Base_work\repository"​ в папку "​D:​\work\Send Base_work\backup\%date%",​ "​%date%"​ - означает переменную текущую дату (сегодняшний день) 
 + 
 +2) Выгрузка информационной базы в файл 
 + 
 +  - Зайти в конфигуратор и в меню нажать **"​Администрирование"​**. 
 +  - Выбрать пункт **"​Выгрузить информационную базу"​** => При этом происходит полная выгрузка базы данных (конфигурация + данные). 
 + 
 +{{:​1_основная_инструкция:​11_бекап.png?​direct|}} 
 + 
 +3) Выгрузка конфигурации информационной базы в файл 
 + 
 +  - Зайти в конфигуратор и в меню нажать **"​Конфигурация"​**. 
 +  - Выбрать пункт **"​Сохранить конфигурацию в файл"​** => Происходит выгрузка только конфигурации,​ без данных. 
 + 
 +{{:​1_основная_инструкция:​12_бекап.png?​direct|}} 
 + 
 +4) Аварийное восстановление клиент-серверных баз 
 + 
 +  - Если есть возможность попасть в конфигуратор:<​WRAP>​ 
 +  * Тестирование и исправление 
 +  * Загрузка резервной копии конфигурации 
 +</​WRAP>​ 
 +  - Если нет возможности попасть в конфигуратор:<​WRAP>​ 
 +  * Восстановление средствами СУБД
 </​WRAP>​ </​WRAP>​
 +
 +Пункты тестирование и исправление и загрузка резервной копии конфигурации рассматривались ранее
 +
 +5) Восстановление средствами СУБД
 +
 +Данный способ применяется,​ когда зайти в конфигуратор нет возможности и возникает ошибка:​
 +
 +{{:​1_основная_инструкция:​13_бекап.png?​direct|}}
 +
 +Одним из таких случаев,​ когда попасть в конфигуратор нельзя,​ является ошибка динамического обновления. Для восстановления базы нам понадобится:​
 +
 +  - Резервная копия конфигурации информационной базы (cf)
 +  - Доступ к серверу СУБД
 +
 +  - Открыть утилиту pgAdmin (либо «Среда SQL Server Management Studio», если у вас MS SQL) и зайти в нужную БД.
 +  - Открыть схему **"​public"​**.
 +  - В списке **"​Таблицы"​** выбрать таблицу **"​Configsave"​** (хранятся сохраненные,​ но не примененные параметры конфигурации).
 +  - Кликнуть правой кнопкой мышки по таблице **"​Configsave"​** и выбрать пункт **"​Очистить"​** => Удалятся все не сохраненные данные и ошибка может исчезнуть.
 +
 +{{:​1_основная_инструкция:​20_бекап.png?​direct|}}
 +
 +Если способ выше не помог, то применяется второй способ:​
 +
 +  - Зайти в рабочую базу данных,​ со здоровой конфигурацией в клиент серверном формате. Чтобы ее получить,​ можно создать пустую БД и залить в нее резервную копию конфигурации,​ либо развернуть бекап базы данных.
 +  - Найти таблицу **"​config"​** (файл содержит всю конфигурацию БД), кликнуть на нее правой кнопкой мышки.
 +  - Выбрать пункт **"​Резервное копирование"​**.
 +  - Указать путь и наименование файла - копии.
 +  - Нажать кнопку **"​Резервная копия"​**.
 +
 +{{:​1_основная_инструкция:​21_бекап.png?​direct|}}
 +
 +  - Зайти в сломанную базу.
 +  - Найти таблицу **"​config"​**.
 +  - Кликнуть правой кнопкой мышки по таблице **"​сonfig"​** и выбрать пункт **"​Очистить"​**.
 +  - Кликнуть правой кнопкой мышки по таблице **"​сonfig"​** и выбрать пункт **"​Восстановить"​**.
 +  - Выбирать файл резервной копии.
 +  - Нажать кнопку **"​Восстановить"​**.
 +
 +{{:​1_основная_инструкция:​22_бекап.png?​direct|}}
 +
 +6) Резервное копирование клиент-серверных баз
 +
 +  * Резервное копирование сторонними программными средствами
 +  * Резервное копирование скриптами
 +  * Выгрузка информационной базы в файл
 +  * Выгрузка конфигурации информационной базы в файл
 +
 +__  Резервное копирование сторонними программными средствами__
 +
 +  * Существует условно бесплатная утилита PostgreSQL Backup Tool.
 +  * Позволяет настроить резервное копирование баз на FTP-сервер,​ в облако,​ на локальную или сетевую папку.
 +  * Существует ограничение бесплатной версии – резервное копирование можно настроить только на две базы.
 +
 +  - Открыть программу
 +  - Подключиться к серверу,​ нажав кнопку **"​Conect"​** ​
 +  - Кликнуть по кнопке **"​Save & Close"​**
 +  - Выбирать таблицу,​ поставив галочку
 +
 +{{:​1_основная_инструкция:​30_бекап.png?​direct|}}
 +
 +Указать,​ где будет хранится таблица ​
 +
 +{{:​1_основная_инструкция:​31_бекап.png?​direct|}}
 +
 +Настроить расписание
 +
 +{{:​1_основная_инструкция:​32_бекап.png?​direct|}}
 +
 +__Резервное копирование скриптами__
 +
 +Понадобится:​
 +  - Бесплатный SFTP клиент WinSCP для копирования на FTP сервер
 +  - Командная строка.
 +
 +Порядок действий:​
 +  - Скачать и установить WinSCP с официального сайта
 +  - Создать папку для временного хранения SQL дампов
 +  - Написать скрипты следующего содержания
 +
 +Скрипт для выгрузки SQL дампов ИБ
 +
 +  * cd /D C:\Program Files\PostgresPro 1C\9.6\bin
 +  * pg_dump -U postgres ZUP > D:​\work\backups\%DATE%_ZUP.sql
 +  * pg_dump -U postgres UNF > D:​\work\backups\%DATE%_UNF.sql
 +  * pg_dump -U postgres UT > D:​\work\backups\%DATE%_UT.sql
 +  * pg_dump -U postgres bu-2 > D:​\work\backups\%DATE%_bu-2.sql
 +  * pg_dump -U postgres bu-3 > D:​\work\backups\%DATE%_bu-3.sql
 +  * pg_dump -U postgres bu-serv > D:​\work\backups\%DATE%_bu-serv.sql
 +  * pg_dump -U postgres MWP > D:​\work\backups\%DATE%_MWP.sql
 +
 +Скрипт для выгрузки дампов на FTP сервер
 +
 +  * cd /d D:​\work\backups
 +  * "​C:​\Program Files (x86)\WinSCP\WinSCP.exe"​ /command ^
 +  * "​option confirm on" ^
 +  * "​option batch abort" ^
 +  * "open ftp://​u141841:​dJic0o0ed02s3Jto@u141841.your-storagebox.de"​ ^
 +  * "​synchronize remote -criteria=time ..\backups\ /​arhiv"​ ^
 +  * "cd /​arhiv"​^
 +  * "rm *<​4D"​
 +
 +Скрипт для очистки временной папки
 +
 +  * cd /d D:​\work\backups
 +  * del %DATE%_ZUP.sql
 +  * del %DATE%_UNF.sql
 +  * del %DATE%_UT.sql
 +  * del %DATE%_bu-2.sql
 +  * del %DATE%_bu-3.sql
 +  * del %DATE%_bu-serv.sql
 +  * del %DATE%_MWP.sql
 +
 +Резервное копирование скриптами
 +
 +Скрипты положить в папку для временного хранения SQL дампов (в данном примере это D:​\work\backups\%
 +Настроить планировщик задач на исполнение скриптов,​ например так:
 +
 +{{:​1_основная_инструкция:​17_бекап.png?​direct|}}
 +
 +https://​www.youtube.com/​watch?​v=6HDFmCEZKTk&​feature=youtu.be