Сохранение и восстановление инф. баз при обновлении клиентов: различия между версиями

Материал из База знаний АО АСП
Перейти к навигации Перейти к поиску
Новая страница: «======= Сохранение и восстановление информационных баз при обновлении клиентов ======= === Аварийное восстановление и резервное копирование информационных баз 1С === __Файловые базы__ - Если есть доступ к конфигуратору:<WRAP> * тестирование и исправление * загру...»
 
Нет описания правки
 
(не показаны 4 промежуточные версии этого же участника)
Строка 1: Строка 1:
======= Сохранение и восстановление информационных баз при обновлении клиентов =======
====== Сохранение и восстановление информационных баз при обновлении клиентов ======


=== Аварийное восстановление и резервное копирование информационных баз 1С ===
=== Аварийное восстановление и резервное копирование информационных баз 1С ===


__Файловые базы__
'''Файловые базы'''


  - Если есть доступ к конфигуратору:<WRAP>
Если есть доступ к конфигуратору:
* тестирование и исправление
* тестирование и исправление
* загрузка резервной копии конфигурации
* загрузка резервной копии конфигурации
</WRAP>
 
  - Если нет доступ к конфигуратору:<WRAP>
Если нет доступ к конфигуратору:
* утилита chdbfl.exe
* утилита chdbfl.exe
* манипуляции с кешем для доступа в конфигуратор (с дальнейшем заливанием конфигурации)
* манипуляции с кешем для доступа в конфигуратор (с дальнейшем заливанием конфигурации)
</WRAP>
 


1) тестирование и исправление:
1) тестирование и исправление:


  - Зайти в конфигуратор, нажать в меню на <syntaxhighlight lang='bash'>
Зайти в конфигуратор, нажать в меню на '''"Администрирование"'''
'"Администрирование"
Выбрать пункт '''"Тестирование и исправление"'''
</syntaxhighlight>'
В разделе '''"Проверки и режимы"''' отмечаем нужные пункты:
  - Выбрать пункт <syntaxhighlight lang='bash'>
'"Тестирование и исправление"
</syntaxhighlight>'
  - В разделе <syntaxhighlight lang='bash'>
'"Проверки и режимы"
</syntaxhighlight>' отмечаем нужные пункты:<WRAP>
* <syntaxhighlight lang='bash'>
* <syntaxhighlight lang='bash'>
Реиндексация таблиц информационной базы
Реиндексация таблиц информационной базы
Строка 43: Строка 37:
Реструктуризация таблиц информационной базы
Реструктуризация таблиц информационной базы
</syntaxhighlight> — процесс, с помощью которого система осуществляет пересоздание таблиц баз данных, обычно эта процедура вызывается при внесения изменений в структуру метаданных конфигурации. Реструктуризация всей БД — процесс долгий, будьте внимательны. (Например 2 таблицы и данные из 1 порциями копируются во 2, при этом структура таблицы меняется, а данные остаются такие же
</syntaxhighlight> — процесс, с помощью которого система осуществляет пересоздание таблиц баз данных, обычно эта процедура вызывается при внесения изменений в структуру метаданных конфигурации. Реструктуризация всей БД — процесс долгий, будьте внимательны. (Например 2 таблицы и данные из 1 порциями копируются во 2, при этом структура таблицы меняется, а данные остаются такие же
</WRAP>
 
  - Кликнуть по требуемому действию:<WRAP>
Кликнуть по требуемому действию:
* "Только тестирование" - если требуется узнать место ошибки в базе  
* "Только тестирование" - если требуется узнать место ошибки в базе  
* "Тестирование и исправление" - если нужно сразу все исправить. Перед началом ОБЯЗАТЕЛЬНО сделать резервную копию, даже если база уже сломана
* "Тестирование и исправление" - если нужно сразу все исправить. Перед началом ОБЯЗАТЕЛЬНО сделать резервную копию, даже если база уже сломана
</WRAP>
 
  - Установить в столбцах требуемые параметры исправления:<WRAP>
Установить в столбцах требуемые параметры исправления:
* Создавать объекты - 1С создаст объект заглушку, которая исправит ошибку. Вместо которой можно будет создать нужный объект.
* Создавать объекты - 1С создаст объект заглушку, которая исправит ошибку. Вместо которой можно будет создать нужный объект.
* Битые ссылки либо удаляются либо создаются ссылки заглушки, которая никуда не ведет.
* Битые ссылки либо удаляются либо создаются ссылки заглушки, которая никуда не ведет.
</WRAP>
 


[[File:1_бекап.png]]
[[File:1_бекап.png]]
Строка 57: Строка 51:
2) Загрузка резервной копии конфигурации
2) Загрузка резервной копии конфигурации


  - Зайти в конфигуратор, нажать в меню на <syntaxhighlight lang='bash'>
Зайти в конфигуратор, нажать в меню на '''"Конфигурация"'''
'"Конфигурация"
Выбрать пункт '''"Загрузить конфигурацию из файла"''' (Предварительно сохранить конфигурацию в файл и перед началом ОБЯЗАТЕЛЬНО сделать резервную копию). Такая загрузка заменяет только скелет базы.
</syntaxhighlight>'
  - Выбрать пункт <syntaxhighlight lang='bash'>
'"Загрузить конфигурацию из файла"
</syntaxhighlight>' (Предварительно сохранить конфигурацию в файл и перед началом ОБЯЗАТЕЛЬНО сделать резервную копию). Такая загрузка заменяет только скелет базы.


<syntaxhighlight lang='bash'>
<syntaxhighlight lang='bash'>
Строка 72: Строка 62:
Загрузка базы из конфигуратора в полном объеме:
Загрузка базы из конфигуратора в полном объеме:


  - Зайти в конфигуратор, нажать в меню на <syntaxhighlight lang='bash'>
Зайти в конфигуратор, нажать в меню на '''"Администрирование"'''
'"Администрирование"
Выбрать пункт '''"Загрузить информационную базу"''' (Перед началом ОБЯЗАТЕЛЬНО сделать резервную копию) При такой загрузки идет полная замена данных
</syntaxhighlight>'
  - Выбрать пункт <syntaxhighlight lang='bash'>
'"Загрузить информационную базу"
</syntaxhighlight>' (Перед началом ОБЯЗАТЕЛЬНО сделать резервную копию) При такой загрузки идет полная замена данных


[[File:3_бекап.png]]
[[File:3_бекап.png]]
Строка 83: Строка 69:
3) Утилита chdbfl.exe
3) Утилита chdbfl.exe


Утилита chdbfl.exe расположена по пути "C:<br/>Program Files<br/>1cv8<br/><номер_версии_1с<br/>bin<br/>chdbfl.exe" и предназначенна для теста файла формата 1cd на ошибки
Утилита chdbfl.exe расположена по пути "C:\Program Files<br/>1cv8\<номер_версии_1с\bin\chdbfl.exe" и предназначенна для теста файла формата 1cd на ошибки


  - Перейти в папку нужной версии 1С
Перейти в папку нужной версии 1С
  - Зайти в папку "bin"
Зайти в папку "bin"
  - Найти утилиту chdbfl.exe и дважды кликнуть по ней.
Найти утилиту chdbfl.exe и дважды кликнуть по ней.


[[File:4_бекап.png]]
[[File:4_бекап.png]]


  - Указываем имя базы данных.
Указываем имя базы данных.
  - Если нужно исправление ошибок, то установить галочку в соответствующем поле.
Если нужно исправление ошибок, то установить галочку в соответствующем поле.
  - Нажать кнопку <syntaxhighlight lang='bash'>
Нажать кнопку '''"Выполнить"''' (конфигуратор должен быть закрыт).
'"Выполнить"
</syntaxhighlight>' (конфигуратор должен быть закрыт).


[[File:5_бекап.png]]
[[File:5_бекап.png]]
Строка 105: Строка 89:
[[File:6_бекап.png]]
[[File:6_бекап.png]]


  - Необходима чистая конфигурация той же версии что и разрушенная база (создаются бекапы базы)
Необходима чистая конфигурация той же версии что и разрушенная база (создаются бекапы базы)
  - Очистить кеш полностью
Очистить кеш полностью
  - Запустить чистую базу в режиме конфигуратора и открыть конфигурацию. При этом 1С создает ее кеш.
Запустить чистую базу в режиме конфигуратора и открыть конфигурацию. При этом 1С создает ее кеш.
  - Открыть битую базу режиме конфигуратора и посмотреть кеш. (две папки с кешем)
Открыть битую базу режиме конфигуратора и посмотреть кеш. (две папки с кешем)
  - Закрыть все и подменить кеш битой базы на кеш живой базы.
Закрыть все и подменить кеш битой базы на кеш живой базы.
  - Запустить битую базу в режиме конфигуратора.  
Запустить битую базу в режиме конфигуратора.  
  - Взять резервную копию текущей версии конфигурации и сделать полную загрузку.
Взять резервную копию текущей версии конфигурации и сделать полную загрузку.
  - Очистить кеш снова.
Очистить кеш снова.


Для очистки кеша:
Для очистки кеша:


В адресной строке пишем %appdata% и нажимаем кнопку <syntaxhighlight lang='bash'>
В адресной строке пишем %appdata% и нажимаем кнопку '''"Еnter"'''
'"Еnter"
</syntaxhighlight>'


[[File:7_бекап.png]]
[[File:7_бекап.png]]


Возвращаемся на раздел выше, кликнув на <syntaxhighlight lang='bash'>
Возвращаемся на раздел выше, кликнув на '''"Appdata"'''
'"Appdata"
</syntaxhighlight>'


[[File:8_бекап.png]]
[[File:8_бекап.png]]


  - Зайти в парку "Local"
Зайти в парку "Local"
  - Перейти в папку "1С"
Перейти в папку "1С"
  - Провалиться в папку "1Сv81"
Провалиться в папку "1Сv81"


[[File:9_бекап.png]]
[[File:9_бекап.png]]
Строка 142: Строка 122:
Если есть кеш здоровой базы и кеш сломанной, то нужно скопировать наименование здоровой, удалить сам файл и переименовать кеш в сломанной в папках Local  и  Roaming
Если есть кеш здоровой базы и кеш сломанной, то нужно скопировать наименование здоровой, удалить сам файл и переименовать кеш в сломанной в папках Local  и  Roaming


__Резервное копирование файловых баз__
'''Резервное копирование файловых баз'''


  - Копирование файлов баз данных
Копирование файлов баз данных
  - Выгрузка информационной базы в файл
Выгрузка информационной базы в файл
  - Выгрузка конфигурации информационной базы в файл
Выгрузка конфигурации информационной базы в файл


1) Копирование файлов баз данных
1) Копирование файлов баз данных
Строка 158: Строка 138:
Пример скрипта, который копирует файлы базы данных:
Пример скрипта, который копирует файлы базы данных:


xcopy "D:<br/>work<br/>Send Base_work<br/>repository" "D:<br/>work<br/>Send Base_work<br/>backup<br/>%date%" /f /s /i
xcopy "D:\work\Send Base_work\repository" "D:\work\Send Base_work\backup\%date%" /f /s /i


Данный скрипт помещается в планировщик заданий для выполнения через равные промежутки времени
Данный скрипт помещается в планировщик заданий для выполнения через равные промежутки времени


Операция "xcopy" копирует данные из папки "D:<br/>work<br/>Send Base_work<br/>repository" в папку "D:<br/>work<br/>Send Base_work<br/>backup<br/>%date%", "%date%" - означает переменную текущую дату (сегодняшний день)
Операция "xcopy" копирует данные из папки "D:\work\Send Base_work\repository" в папку "D:\work\Send Base_work\backup\%date%", "%date%" - означает переменную текущую дату (сегодняшний день)


2) Выгрузка информационной базы в файл
2) Выгрузка информационной базы в файл


  - Зайти в конфигуратор и в меню нажать <syntaxhighlight lang='bash'>
Зайти в конфигуратор и в меню нажать '''"Администрирование"'''.
'"Администрирование"
Выбрать пункт '''"Выгрузить информационную базу"''' => При этом происходит полная выгрузка базы данных (конфигурация + данные).
</syntaxhighlight>'.
  - Выбрать пункт <syntaxhighlight lang='bash'>
'"Выгрузить информационную базу"
</syntaxhighlight>' => При этом происходит полная выгрузка базы данных (конфигурация + данные).


[[File:11_бекап.png]]
[[File:11_бекап.png]]
Строка 177: Строка 153:
3) Выгрузка конфигурации информационной базы в файл
3) Выгрузка конфигурации информационной базы в файл


  - Зайти в конфигуратор и в меню нажать <syntaxhighlight lang='bash'>
Зайти в конфигуратор и в меню нажать '''"Конфигурация"'''.
'"Конфигурация"
Выбрать пункт '''"Сохранить конфигурацию в файл"''' => Происходит выгрузка только конфигурации, без данных.
</syntaxhighlight>'.
  - Выбрать пункт <syntaxhighlight lang='bash'>
'"Сохранить конфигурацию в файл"
</syntaxhighlight>' => Происходит выгрузка только конфигурации, без данных.


[[File:12_бекап.png]]
[[File:12_бекап.png]]
Строка 188: Строка 160:
4) Аварийное восстановление клиент-серверных баз
4) Аварийное восстановление клиент-серверных баз


  - Если есть возможность попасть в конфигуратор:<WRAP>
Если есть возможность попасть в конфигуратор:
* Тестирование и исправление
* Тестирование и исправление
* Загрузка резервной копии конфигурации
* Загрузка резервной копии конфигурации
</WRAP>
 
  - Если нет возможности попасть в конфигуратор:<WRAP>
Если нет возможности попасть в конфигуратор:
* Восстановление средствами СУБД
* Восстановление средствами СУБД
</WRAP>
 


Пункты тестирование и исправление и загрузка резервной копии конфигурации рассматривались ранее
Пункты тестирование и исправление и загрузка резервной копии конфигурации рассматривались ранее
Строка 206: Строка 178:
Одним из таких случаев, когда попасть в конфигуратор нельзя, является ошибка динамического обновления. Для восстановления базы нам понадобится:
Одним из таких случаев, когда попасть в конфигуратор нельзя, является ошибка динамического обновления. Для восстановления базы нам понадобится:


  - Резервная копия конфигурации информационной базы (cf)
Резервная копия конфигурации информационной базы (cf)
  - Доступ к серверу СУБД
Доступ к серверу СУБД


  - Открыть утилиту pgAdmin (либо «Среда SQL Server Management Studio», если у вас MS SQL) и зайти в нужную БД.
Открыть утилиту pgAdmin (либо «Среда SQL Server Management Studio», если у вас MS SQL) и зайти в нужную БД.
  - Открыть схему <syntaxhighlight lang='bash'>
Открыть схему '''"public"'''.
'"public"
В списке '''"Таблицы"''' выбрать таблицу '''"Configsave"''' (хранятся сохраненные, но не примененные параметры конфигурации).
</syntaxhighlight>'.
Кликнуть правой кнопкой мышки по таблице '''"Configsave"''' и выбрать пункт '''"Очистить"''' => Удалятся все не сохраненные данные и ошибка может исчезнуть.
  - В списке <syntaxhighlight lang='bash'>
'"Таблицы"
</syntaxhighlight>' выбрать таблицу <syntaxhighlight lang='bash'>
'"Configsave"
</syntaxhighlight>' (хранятся сохраненные, но не примененные параметры конфигурации).
  - Кликнуть правой кнопкой мышки по таблице <syntaxhighlight lang='bash'>
'"Configsave"
</syntaxhighlight>' и выбрать пункт <syntaxhighlight lang='bash'>
'"Очистить"
</syntaxhighlight>' => Удалятся все не сохраненные данные и ошибка может исчезнуть.


[[File:20_бекап.png]]
[[File:20_бекап.png]]
Строка 228: Строка 190:
Если способ выше не помог, то применяется второй способ:
Если способ выше не помог, то применяется второй способ:


  - Зайти в рабочую базу данных, со здоровой конфигурацией в клиент серверном формате. Чтобы ее получить, можно создать пустую БД и залить в нее резервную копию конфигурации, либо развернуть бекап базы данных.
Зайти в рабочую базу данных, со здоровой конфигурацией в клиент серверном формате. Чтобы ее получить, можно создать пустую БД и залить в нее резервную копию конфигурации, либо развернуть бекап базы данных.
  - Найти таблицу <syntaxhighlight lang='bash'>
Найти таблицу '''"config"''' (файл содержит всю конфигурацию БД), кликнуть на нее правой кнопкой мышки.
'"config"
Выбрать пункт '''"Резервное копирование"'''.
</syntaxhighlight>' (файл содержит всю конфигурацию БД), кликнуть на нее правой кнопкой мышки.
Указать путь и наименование файла - копии.
  - Выбрать пункт <syntaxhighlight lang='bash'>
Нажать кнопку '''"Резервная копия"'''.
'"Резервное копирование"
</syntaxhighlight>'.
  - Указать путь и наименование файла - копии.
  - Нажать кнопку <syntaxhighlight lang='bash'>
'"Резервная копия"
</syntaxhighlight>'.


[[File:21_бекап.png]]
[[File:21_бекап.png]]


  - Зайти в сломанную базу.
Зайти в сломанную базу.
  - Найти таблицу <syntaxhighlight lang='bash'>
Найти таблицу '''"config"'''.
'"config"
Кликнуть правой кнопкой мышки по таблице '''"сonfig"''' и выбрать пункт '''"Очистить"'''.
</syntaxhighlight>'.
Кликнуть правой кнопкой мышки по таблице '''"сonfig"''' и выбрать пункт '''"Восстановить"'''.
  - Кликнуть правой кнопкой мышки по таблице <syntaxhighlight lang='bash'>
Выбирать файл резервной копии.
'"сonfig"
Нажать кнопку '''"Восстановить"'''.
</syntaxhighlight>' и выбрать пункт <syntaxhighlight lang='bash'>
'"Очистить"
</syntaxhighlight>'.
  - Кликнуть правой кнопкой мышки по таблице <syntaxhighlight lang='bash'>
'"сonfig"
</syntaxhighlight>' и выбрать пункт <syntaxhighlight lang='bash'>
'"Восстановить"
</syntaxhighlight>'.
  - Выбирать файл резервной копии.
  - Нажать кнопку <syntaxhighlight lang='bash'>
'"Восстановить"
</syntaxhighlight>'.


[[File:22_бекап.png]]
[[File:22_бекап.png]]
Строка 269: Строка 213:
* Выгрузка конфигурации информационной базы в файл
* Выгрузка конфигурации информационной базы в файл


__ Резервное копирование сторонними программными средствами__
''' Резервное копирование сторонними программными средствами'''
* Существует условно бесплатная утилита PostgreSQL Backup Tool.
* Существует условно бесплатная утилита PostgreSQL Backup Tool.
* Позволяет настроить резервное копирование баз на FTP-сервер, в облако, на локальную или сетевую папку.
* Позволяет настроить резервное копирование баз на FTP-сервер, в облако, на локальную или сетевую папку.
* Существует ограничение бесплатной версии – резервное копирование можно настроить только на две базы.
* Существует ограничение бесплатной версии – резервное копирование можно настроить только на две базы.


  - Открыть программу
Открыть программу
  - Подключиться к серверу, нажав кнопку <syntaxhighlight lang='bash'>
Подключиться к серверу, нажав кнопку '''"Conect"'''  
'"Conect"
Кликнуть по кнопке '''"Save & Close"'''
</syntaxhighlight>'  
Выбирать таблицу, поставив галочку
  - Кликнуть по кнопке <syntaxhighlight lang='bash'>
'"Save & Close"
</syntaxhighlight>'
  - Выбирать таблицу, поставив галочку


[[File:30_бекап.png]]
[[File:30_бекап.png]]
Строка 293: Строка 233:
[[File:32_бекап.png]]
[[File:32_бекап.png]]


__Резервное копирование скриптами__
'''Резервное копирование скриптами'''


Понадобится:
Понадобится:
  - Бесплатный SFTP клиент WinSCP для копирования на FTP сервер
Бесплатный SFTP клиент WinSCP для копирования на FTP сервер
  - Командная строка.
Командная строка.


Порядок действий:
Порядок действий:
  - Скачать и установить WinSCP с официального сайта
Скачать и установить WinSCP с официального сайта
  - Создать папку для временного хранения SQL дампов
Создать папку для временного хранения SQL дампов
  - Написать скрипты следующего содержания
Написать скрипты следующего содержания


Скрипт для выгрузки SQL дампов ИБ
Скрипт для выгрузки SQL дампов ИБ
* cd /D C:<br/>Program Files<br/>PostgresPro 1C<br/>9.6<br/>bin
* cd /D C:\Program Files\PostgresPro 1C<br/>9.6\bin
* pg_dump -U postgres ZUP > D:<br/>work<br/>backups<br/>%DATE%_ZUP.sql
* pg_dump -U postgres ZUP > D:\work\backups\%DATE%_ZUP.sql
* pg_dump -U postgres UNF > D:<br/>work<br/>backups<br/>%DATE%_UNF.sql
* pg_dump -U postgres UNF > D:\work\backups\%DATE%_UNF.sql
* pg_dump -U postgres UT > D:<br/>work<br/>backups<br/>%DATE%_UT.sql
* pg_dump -U postgres UT > D:\work\backups\%DATE%_UT.sql
* pg_dump -U postgres bu-2 > D:<br/>work<br/>backups<br/>%DATE%_bu-2.sql
* pg_dump -U postgres bu-2 > D:\work\backups\%DATE%_bu-2.sql
* pg_dump -U postgres bu-3 > D:<br/>work<br/>backups<br/>%DATE%_bu-3.sql
* pg_dump -U postgres bu-3 > D:\work\backups\%DATE%_bu-3.sql
* pg_dump -U postgres bu-serv > D:<br/>work<br/>backups<br/>%DATE%_bu-serv.sql
* pg_dump -U postgres bu-serv > D:\work\backups\%DATE%_bu-serv.sql
* pg_dump -U postgres MWP > D:<br/>work<br/>backups<br/>%DATE%_MWP.sql
* pg_dump -U postgres MWP > D:\work\backups\%DATE%_MWP.sql


Скрипт для выгрузки дампов на FTP сервер
Скрипт для выгрузки дампов на FTP сервер
* cd /d D:<br/>work<br/>backups
* cd /d D:\work\backups
* "C:<br/>Program Files (x86)<br/>WinSCP<br/>WinSCP.exe" /command ^
* "C:\Program Files (x86)\WinSCP\WinSCP.exe" /command ^
* "option confirm on" ^
* "option confirm on" ^
* "option batch abort" ^
* "option batch abort" ^
* "open ftp://u141841:dJic0o0ed02s3Jto@u141841.your-storagebox.de" ^
* "open ftp://u141841:dJic0o0ed02s3Jto@u141841.your-storagebox.de" ^
* "synchronize remote -criteria=time ..<br/>backups<br/>/arhiv" ^
* "synchronize remote -criteria=time ..\backups\/arhiv" ^
* "cd /arhiv"^
* "cd /arhiv"^
* "rm *<4D"
* "rm *<4D"


Скрипт для очистки временной папки
Скрипт для очистки временной папки
* cd /d D:<br/>work<br/>backups
* cd /d D:\work\backups
* del %DATE%_ZUP.sql
* del %DATE%_ZUP.sql
* del %DATE%_UNF.sql
* del %DATE%_UNF.sql
Строка 336: Строка 276:
Резервное копирование скриптами
Резервное копирование скриптами


Скрипты положить в папку для временного хранения SQL дампов (в данном примере это D:<br/>work<br/>backups<br/>%
Скрипты положить в папку для временного хранения SQL дампов (в данном примере это D:\work\backups\%
Настроить планировщик задач на исполнение скриптов, например так:
Настроить планировщик задач на исполнение скриптов, например так:


Строка 342: Строка 282:


https://www.youtube.com/watch?v=6HDFmCEZKTk&feature=youtu.be
https://www.youtube.com/watch?v=6HDFmCEZKTk&feature=youtu.be
[[Category:1 основная инструкция]]
<vote type=1 />

Текущая версия от 10:30, 28 марта 2025

Сохранение и восстановление информационных баз при обновлении клиентов

Аварийное восстановление и резервное копирование информационных баз 1С

Файловые базы

  1. Если есть доступ к конфигуратору:
  • тестирование и исправление
  • загрузка резервной копии конфигурации
  1. Если нет доступ к конфигуратору:
  • утилита chdbfl.exe
  • манипуляции с кешем для доступа в конфигуратор (с дальнейшем заливанием конфигурации)


1) тестирование и исправление:

  1. Зайти в конфигуратор, нажать в меню на "Администрирование"
  2. Выбрать пункт "Тестирование и исправление"
  3. В разделе "Проверки и режимы" отмечаем нужные пункты:
  • Реиндексация таблиц информационной базы
    
    - если установлен этот флаг, будет произведена реиндексация таблиц - полное перестроение индексов для заданных таблиц. Реиндексация существенно повышает производительность системы в целом.
  • Проверка логической целостности информационной базы
    
    - система умеет проверять логическую и структурную целостность базы данных, находить ошибки в организации данных (например, страниц в файле)
  • Проверка ссылочной целостности информационной базы
    
     — подпункт логической проверки, проверяет информацию в базе данных на наличие «битых» ссылок. «Битые» ссылки появляются в базе из-за некорректной обработки информации разработчиком, чаще всего при непосредственном удалении данных или неправильно настроенном обмене данных. При нахождении ошибок можно выбрать 3 варианта действий: Создавать объекты — система создает элементы-заглушки, которые можно потом заполнить необходимой информацией, Очищать ссылки — «битые» ссылки будут очищены, Не изменять — система только покажет Вам ошибки.
  • Пересчет итогов
    
     — в платформе 1С в регистрах накопления и регистрах бухгалтерии есть понятие итогов. Итоги — таблица подсчитанных результатов, данные из которой получить быстрее, чем анализировать весь регистр сведений. Как правило, пересчет итогов увеличивает производительность системы.
  • Сжатие таблиц информационной базы
    
     — если установлен этот флаг, база данных будет сжата и уменьшится в объеме. Связанно это с тем, что при удалении данных из базы данных, 1С не удаляет физически эти объекты, а лишь «помечает» их на удаление. Т.е. пользователь не видит их, а они есть :). Вот именно сжатие базы данных и удаляет такие записи окончательно. Также такого эффекта можно достичь выгрузкой и загрузкой файла базы данных (*.dt). При удалении объектом в учетной системе, они полностью не удаляются и увеличивается вес Базы, для этого и нужна эта операция.
  • Реструктуризация таблиц информационной базы
    
     — процесс, с помощью которого система осуществляет пересоздание таблиц баз данных, обычно эта процедура вызывается при внесения изменений в структуру метаданных конфигурации. Реструктуризация всей БД — процесс долгий, будьте внимательны. (Например 2 таблицы и данные из 1 порциями копируются во 2, при этом структура таблицы меняется, а данные остаются такие же
  1. Кликнуть по требуемому действию:
  • "Только тестирование" - если требуется узнать место ошибки в базе
  • "Тестирование и исправление" - если нужно сразу все исправить. Перед началом ОБЯЗАТЕЛЬНО сделать резервную копию, даже если база уже сломана
  1. Установить в столбцах требуемые параметры исправления:
  • Создавать объекты - 1С создаст объект заглушку, которая исправит ошибку. Вместо которой можно будет создать нужный объект.
  • Битые ссылки либо удаляются либо создаются ссылки заглушки, которая никуда не ведет.


2) Загрузка резервной копии конфигурации

  1. Зайти в конфигуратор, нажать в меню на "Конфигурация"
  2. Выбрать пункт "Загрузить конфигурацию из файла" (Предварительно сохранить конфигурацию в файл и перед началом ОБЯЗАТЕЛЬНО сделать резервную копию). Такая загрузка заменяет только скелет базы.
Информационная база  состоит из 2 частей из данных и скелета конфигурации

Загрузка базы из конфигуратора в полном объеме:

  1. Зайти в конфигуратор, нажать в меню на "Администрирование"
  2. Выбрать пункт "Загрузить информационную базу" (Перед началом ОБЯЗАТЕЛЬНО сделать резервную копию) При такой загрузки идет полная замена данных

3) Утилита chdbfl.exe

Утилита chdbfl.exe расположена по пути "C:\Program Files
1cv8\<номер_версии_1с\bin\chdbfl.exe" и предназначенна для теста файла формата 1cd на ошибки

  1. Перейти в папку нужной версии 1С
  2. Зайти в папку "bin"
  3. Найти утилиту chdbfl.exe и дважды кликнуть по ней.

  1. Указываем имя базы данных.
  2. Если нужно исправление ошибок, то установить галочку в соответствующем поле.
  3. Нажать кнопку "Выполнить" (конфигуратор должен быть закрыт).

4) Подмена кеша

Если в конфигуратор нет возможности попасть и появляется ошибка

  1. Необходима чистая конфигурация той же версии что и разрушенная база (создаются бекапы базы)
  2. Очистить кеш полностью
  3. Запустить чистую базу в режиме конфигуратора и открыть конфигурацию. При этом 1С создает ее кеш.
  4. Открыть битую базу режиме конфигуратора и посмотреть кеш. (две папки с кешем)
  5. Закрыть все и подменить кеш битой базы на кеш живой базы.
  6. Запустить битую базу в режиме конфигуратора.
  7. Взять резервную копию текущей версии конфигурации и сделать полную загрузку.
  8. Очистить кеш снова.

Для очистки кеша:

В адресной строке пишем %appdata% и нажимаем кнопку "Еnter"

Возвращаемся на раздел выше, кликнув на "Appdata"

  1. Зайти в парку "Local"
  2. Перейти в папку "1С"
  3. Провалиться в папку "1Сv81"

Удалить все файлы с гуидами, кроме исключений указанных ниже. Аналогично удаляем файлы из папки "Roaming"

Когда осуществляется вход в конфигуратор, то автоматически формируется 2 одинаковых лога в папке Local и Roaming

Если есть кеш здоровой базы и кеш сломанной, то нужно скопировать наименование здоровой, удалить сам файл и переименовать кеш в сломанной в папках Local и Roaming

Резервное копирование файловых баз

  1. Копирование файлов баз данных
  2. Выгрузка информационной базы в файл
  3. Выгрузка конфигурации информационной базы в файл

1) Копирование файлов баз данных

При использовании файлового варианта 1С:Предприятия 8 можно организовать процесс создания резервной копии информационной базы путем простого копирования файла 1CV8.1CD в отдельный каталог или с использованием программного обеспечения для резервного копирования и восстановления данных. Следует учитывать, что для обеспечения целостности и согласованности данных во время создания резервной копии, работа пользователей с информационной базой должна быть запрещена,  однако время, необходимое на создание резервной копии существенно меньше, чем при использовании выгрузки информационной базы в файл.

Копируется вся папка с базой или только файл с расширением 1CD. ВАЖНО, что бы все конфигураторы и 1С предприятия были закрыты, иначе может возникнуть ситуация потери данных.

Пример скрипта, который копирует файлы базы данных:

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. Зайти в конфигуратор и в меню нажать "Администрирование".
  2. Выбрать пункт "Выгрузить информационную базу" => При этом происходит полная выгрузка базы данных (конфигурация + данные).

3) Выгрузка конфигурации информационной базы в файл

  1. Зайти в конфигуратор и в меню нажать "Конфигурация".
  2. Выбрать пункт "Сохранить конфигурацию в файл" => Происходит выгрузка только конфигурации, без данных.

4) Аварийное восстановление клиент-серверных баз

  1. Если есть возможность попасть в конфигуратор:
  • Тестирование и исправление
  • Загрузка резервной копии конфигурации
  1. Если нет возможности попасть в конфигуратор:
  • Восстановление средствами СУБД


Пункты тестирование и исправление и загрузка резервной копии конфигурации рассматривались ранее

5) Восстановление средствами СУБД

Данный способ применяется, когда зайти в конфигуратор нет возможности и возникает ошибка:

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

  1. Резервная копия конфигурации информационной базы (cf)
  2. Доступ к серверу СУБД
  1. Открыть утилиту pgAdmin (либо «Среда SQL Server Management Studio», если у вас MS SQL) и зайти в нужную БД.
  2. Открыть схему "public".
  3. В списке "Таблицы" выбрать таблицу "Configsave" (хранятся сохраненные, но не примененные параметры конфигурации).
  4. Кликнуть правой кнопкой мышки по таблице "Configsave" и выбрать пункт "Очистить" => Удалятся все не сохраненные данные и ошибка может исчезнуть.

Если способ выше не помог, то применяется второй способ:

  1. Зайти в рабочую базу данных, со здоровой конфигурацией в клиент серверном формате. Чтобы ее получить, можно создать пустую БД и залить в нее резервную копию конфигурации, либо развернуть бекап базы данных.
  2. Найти таблицу "config" (файл содержит всю конфигурацию БД), кликнуть на нее правой кнопкой мышки.
  3. Выбрать пункт "Резервное копирование".
  4. Указать путь и наименование файла - копии.
  5. Нажать кнопку "Резервная копия".

  1. Зайти в сломанную базу.
  2. Найти таблицу "config".
  3. Кликнуть правой кнопкой мышки по таблице "сonfig" и выбрать пункт "Очистить".
  4. Кликнуть правой кнопкой мышки по таблице "сonfig" и выбрать пункт "Восстановить".
  5. Выбирать файл резервной копии.
  6. Нажать кнопку "Восстановить".

6) Резервное копирование клиент-серверных баз

  • Резервное копирование сторонними программными средствами
  • Резервное копирование скриптами
  • Выгрузка информационной базы в файл
  • Выгрузка конфигурации информационной базы в файл

Резервное копирование сторонними программными средствами

  • Существует условно бесплатная утилита PostgreSQL Backup Tool.
  • Позволяет настроить резервное копирование баз на FTP-сервер, в облако, на локальную или сетевую папку.
  • Существует ограничение бесплатной версии – резервное копирование можно настроить только на две базы.
  1. Открыть программу
  2. Подключиться к серверу, нажав кнопку "Conect"
  3. Кликнуть по кнопке "Save & Close"
  4. Выбирать таблицу, поставив галочку

Указать, где будет хранится таблица

Настроить расписание

Резервное копирование скриптами

Понадобится:

  1. Бесплатный SFTP клиент WinSCP для копирования на FTP сервер
  2. Командная строка.

Порядок действий:

  1. Скачать и установить WinSCP с официального сайта
  2. Создать папку для временного хранения SQL дампов
  3. Написать скрипты следующего содержания

Скрипт для выгрузки 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
  • 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\% Настроить планировщик задач на исполнение скриптов, например так:

https://www.youtube.com/watch?v=6HDFmCEZKTk&feature=youtu.be

0.00
(0 голосов)