Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Следующая версия Следующая версия справа и слева | ||
1_основная_инструкция:сохранение_и_восстановление_инф._баз_при_обновлении_клиентов [2020/07/17 16:28] kotik |
1_основная_инструкция:сохранение_и_восстановление_инф._баз_при_обновлении_клиентов [2020/07/23 09:44] kotik |
||
---|---|---|---|
Строка 4: | Строка 4: | ||
__Файловые базы__ | __Файловые базы__ | ||
+ | |||
+ | - Если есть доступ к конфигуратору:<WRAP> | ||
+ | * тестирование и исправление | ||
+ | * загрузка резервной копии конфигурации | ||
+ | </WRAP> | ||
+ | - Если нет доступ к конфигуратору:<WRAP> | ||
+ | * утилита chdbfl.exe | ||
+ | * манипуляции с кешем для доступа в конфигуратор (с дальнейшем заливанием конфигурации) | ||
+ | </WRAP> | ||
+ | |||
+ | 1) тестирование и исправление: | ||
+ | |||
+ | - Зайти в конфигуратор, нажать в меню на **"Администрирование"** | ||
+ | - Выбрать пункт **"Тестирование и исправление"** | ||
+ | - В разделе **"Проверки и режимы"** отмечаем нужные пункты:<WRAP> | ||
+ | * //Реиндексация таблиц информационной базы// - если установлен этот флаг, будет произведена реиндексация таблиц - полное перестроение индексов для заданных таблиц. Реиндексация существенно повышает производительность системы в целом. | ||
+ | * //Проверка логической целостности информационной базы// - система умеет проверять логическую и структурную целостность базы данных, находить ошибки в организации данных (например, страниц в файле) | ||
+ | * //Проверка ссылочной целостности информационной базы// — подпункт логической проверки, проверяет информацию в базе данных на наличие «битых» ссылок. «Битые» ссылки появляются в базе из-за некорректной обработки информации разработчиком, чаще всего при непосредственном удалении данных или неправильно настроенном обмене данных. При нахождении ошибок можно выбрать 3 варианта действий: Создавать объекты — система создает элементы-заглушки, которые можно потом заполнить необходимой информацией, Очищать ссылки — «битые» ссылки будут очищены, Не изменять — система только покажет Вам ошибки. | ||
+ | * //Пересчет итогов// — в платформе 1С в регистрах накопления и регистрах бухгалтерии есть понятие итогов. Итоги — таблица подсчитанных результатов, данные из которой получить быстрее, чем анализировать весь регистр сведений. Как правило, пересчет итогов увеличивает производительность системы. | ||
+ | * //Сжатие таблиц информационной базы// — если установлен этот флаг, база данных будет сжата и уменьшится в объеме. Связанно это с тем, что при удалении данных из базы данных, 1С не удаляет физически эти объекты, а лишь «помечает» их на удаление. Т.е. пользователь не видит их, а они есть :). Вот именно сжатие базы данных и удаляет такие записи окончательно. Также такого эффекта можно достичь выгрузкой и загрузкой файла базы данных (*.dt). При удалении объектом в учетной системе, они полностью не удаляются и увеличивается вес Базы, для этого и нужна эта операция. | ||
+ | * //Реструктуризация таблиц информационной базы// — процесс, с помощью которого система осуществляет пересоздание таблиц баз данных, обычно эта процедура вызывается при внесения изменений в структуру метаданных конфигурации. Реструктуризация всей БД — процесс долгий, будьте внимательны. (Например 2 таблицы и данные из 1 порциями копируются во 2, при этом структура таблицы меняется, а данные остаются такие же | ||
+ | </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> | ||
+ | |||
+ | Пункты тестирование и исправление и загрузка резервной копии конфигурации рассматривались ранее | ||
+ | |||
+ | __Восстановление средствами СУБД__ | ||
+ | |||
+ | Данный способ применяется, когда зайти в конфигуратор нет возможности и возникает ошибка: | ||
+ | |||
+ | {{: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|}} | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | {{:1_основная_инструкция:14_бекап.png?direct|}} | ||
+ | |||
+ | Нажимаем на нее правой кнопкой и выбираем очистить. После этого пробуем зайти в конфигуратор. Здесь хранятся сохраненные, но не примененные параметры конфигурации. | ||
+ | |||
+ | {{:1_основная_инструкция:15_бекап.png?direct|}} | ||
+ | |||
+ | * Если это не помогло, производим следующие действия. | ||
+ | * Нам понадобится рабочая база данных, со здоровой конфигурацией в клиент серверном формате. Чтобы ее получить, можно создать пустую БД и залить в нее резервную копию конфигурации, либо развернуть бекап пазы данных. | ||
+ | * После того как рабочая база данных развернута, открываем pgAdmin, ищем таблицу Config, тыкаем правой кнопкой и выбираем «Резервная копия». И делаем резервную копию таблицы в файл backup. | ||
+ | * Затем открываем сломанную базу, ищем ту же таблицу Config, и нажимаем "Очистить" а затем «Восстановить», и выбираем файл бекапа, в который мы сохранили копию таблицы. | ||
+ | |||
+ | {{:1_основная_инструкция:16_бекап.png?direct|}} | ||
+ | |||
+ | Резервное копирование клиент-серверных баз | ||
+ | |||
+ | * Резервное копирование сторонними программными средствами | ||
+ | * Резервное копирование скриптами | ||
+ | |||
+ | Резервное копирование сторонними программными средствами | ||
+ | |||
+ | * Существует условно бесплатная утилита PostgreSQL Backup Tool. | ||
+ | * Позволяет настроить резервное копирование баз на FTP-сервер, в облако, на локальную или сетевую папку. | ||
+ | * Существует ограничение бесплатной версии – резервное копирование можно настроить только на две базы. | ||
+ | |||
+ | Резервное копирование скриптами | ||
+ | |||
+ | Нам понадобится: | ||
+ | - Бесплатный 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|}} | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||