|
ibcmd infobase dump может работать без выгона пользователей? | ☑ | ||
---|---|---|---|---|
0
NorthWind
06.02.23
✎
15:15
|
Случайно запустил среди дня
C:\Program Files\1cv8\8.3.16.1876\bin\ibcmd.exe" infobase dump --db-server=*** --dbms=MSSQLServer --db-user=*** --db-pwd=*** --db-name=*** D:\1C_ArcDT\arc_helios_6.dt и оно не написало никакой ошибки, типа немонопольно... Процесс висит, чего-то делает. Как так? Оно может работать с юзерами в базе? |
|||
1
Garykom
гуру
06.02.23
✎
15:16
|
(0) да
|
|||
2
NorthWind
06.02.23
✎
15:17
|
а насколько консистентный dt получается, если люди работают?
|
|||
3
NorthWind
06.02.23
✎
15:18
|
с SQLевским BAK-файлом обычно все неплохо, сильных косяков в базе не припомню, ну кроме того что какие-то последние документы оказываются недовведены, не проведены и т.п.
|
|||
4
ansh15
06.02.23
✎
15:35
|
(2) Если люди совсем ничего не делают и за время выгрузки не было фоновых/регламентных заданий, то может получиться.
Но лучше не просто выгонять, вообще остановить сервер приложений или автономный сервер. Тогда вероятности больше, что получится. Она напрямую к СУБД обращается и понятия не имеет, что там сервер приложений делает. |
|||
5
NorthWind
06.02.23
✎
15:40
|
(4) а "не получится" - какого плана? :) DT может вовсе не загрузиться?
|
|||
6
NorthWind
06.02.23
✎
15:41
|
и существует ли механизм заставить ее работать "старым способом", т.е. не делать копию, если в базе работают еще пользователи?
|
|||
7
ansh15
06.02.23
✎
15:53
|
(5) Ну да, напишет "загружены не все данные".
(6) СУБД о пользователях сервера приложений ничего не знает и сообщить о них утилите ibcmd не сможет. |
|||
8
lodger
06.02.23
✎
16:34
|
7.3.5. Выгрузка информационной базы в файл
С помощью утилиты управления автономным сервером (ibcmd) предоставляется возможность выгрузить информационную базу в dt-файл. Для этого следует использовать команду вида: ibcmd infobase dump --dbms=mssqlserver --db-server=dbServerName --db-user=dbUser --db-pwd=dbUserPassword --db-name=docs-db --data="d:\ss-data\dbName-data" 1cv8.dt При выполнении данной команды необходимо быть уверенным, что с базой данных, которая выгружается в dt-файл, не должно быть никаких подключений. Данное ограничение включает в себя запрет на работу с выгружаемой информационной базой нескольких серверных приложений (как автономных, так и обычных). В противном случае возможно нарушение целостности создаваемого файла выгрузки информационной базы (dt-файл). |
|||
9
lodger
06.02.23
✎
16:35
|
(6) оберни вызов ibcmd infobase dump в скрипт, а в скрипте проверяй сколько людей и нелюдей в базе.
|
|||
10
NorthWind
06.02.23
✎
17:51
|
(7)(8)(9) понято, спасибо.
|
|||
11
mistеr
06.02.23
✎
20:58
|
(0) Snapshot Isolation есть?
Может она того, все в одной мега транзакции пытается выгрузить? |
|||
12
NorthWind
06.02.23
✎
21:42
|
(9) но тут, кстати, есть нюанс. Я так понимаю, оно не запирает базу в эксклюзивный режим, так что проверка наличия юзаков до старта дампа не дает никакой гарантии, что кто-нть не зайдет в процессе или не стартует фоновое задание.
|
|||
13
lodger
07.02.23
✎
09:34
|
(12) после завершения дампа проверять кто есть ещё раз.
если уже есть - повторить. если нет - выгрузить ЖР и посмотрить логоны за промежуток времени. а ещё проще поставить блокировку на сервере 1с. |
|||
14
NorthWind
07.02.23
✎
09:51
|
вчера человек 10 работало во время выгрузки, попробую dt-шку загрузить и посмотреть в каком она состоянии. Может, там все не так уж и плохо. На самом деле я бэкапы-то скулем делаю, а это больше нечто вспомогательное, чтобы постоянно была относительно свежая копия для тестов, например.
|
|||
15
lodger
07.02.23
✎
09:53
|
(14) ну и откатывай себе ДТшку в 4 утра, и когда в компании обед. по расписанию каждый день.
|
|||
16
Kassern
07.02.23
✎
09:54
|
(14) " чтобы постоянно была относительно свежая копия для тестов, например." - а вы разве не на скуле тестите? Проще ведь бекап скуля развернуть на тестовой среде. ДТшки делают в основном, чтобы проверить базу на ошибки, либо для переноса между разными скулями базы данных (вроде в новых платформах завезут для этого другой инструмент)
|
|||
17
NorthWind
07.02.23
✎
09:54
|
так и сделано (в 5 утра). Правда, начиная с УПП 194.2 выгрузка платформой почему-то перестала работать. Я подозреваю, из-за фонового по обновлению индекса поиска, оно запускается в 3 утра и, видимо, до 5 не успевает. Из-за того что выгрузка платформой отвалилась, я как раз и начал разбираться с ibcmd.
|
|||
18
NorthWind
07.02.23
✎
09:58
|
(16) нам удобнее локальная копия по ряду соображений. Развернуть бэкап скуля для нашей базы занимает примерно столько же времени, сколько загрузка локальной DT - минут 30-40. Сервер достаточно старый и слабенький.
|
|||
19
Kassern
07.02.23
✎
10:05
|
(18) Если время одинаковое, то зачем париться? Тем более у вас бекапы скуля по любому хранятся готовы, не нужно ждать выгрузки дт.
|
|||
20
NorthWind
07.02.23
✎
10:32
|
(19) выгрузку dt ждать не надо. см. (17) - работает регламентная задачка, которая их подготавливает рано утром. Зашел в папку и забрал какой больше нравится - сегодняшний, вчерашний, недельной давности, месячной. 30 последних штук хранится. Благо, и размер у них небольшой.
|
|||
21
NorthWind
07.02.23
✎
11:43
|
(8) Кстати, каково назначение --data="d:\ss-data\dbName-data"? У меня в 8.3.16 ругается на этот ключ, мол, он не нужен.
|
|||
22
NorthWind
07.02.23
✎
11:44
|
без него все работает
|
|||
23
ansh15
07.02.23
✎
11:55
|
(21) Это в более поздних версиях платформы ввели.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |