|
Подготовка легковесных копий 1с для разработки
|
|||
---|---|---|---|
#18+
Здравствуйте. Рабочая база данных весит 1.2 Тб. Для каждого программиста 1с создана копия рабочей бд с полным набором данных. Есть задача подготовить автоматизированную копию с обрезанными данными для разработки. Решение в лоб: truncate table + shrinkfile выполняются около 36 часов. Есть идеи как ускорить процесс? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 12:56 |
|
Подготовка легковесных копий 1с для разработки
|
|||
---|---|---|---|
#18+
LexFreeman truncate table + shrinkfile выполняются около 36 часов Хмм, это очень странно. Что именно тормозит, truncate table или shrinkfile ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 13:04 |
|
Подготовка легковесных копий 1с для разработки
|
|||
---|---|---|---|
#18+
msLex, тормозит конечно шринк ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 13:11 |
|
Подготовка легковесных копий 1с для разработки
|
|||
---|---|---|---|
#18+
В качестве идеи: можно включить партиционирование в основной базе и потом копировать разработчикам только актуальные секции ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 13:13 |
|
Подготовка легковесных копий 1с для разработки
|
|||
---|---|---|---|
#18+
LexFreeman msLex, тормозит конечно шринк А насколько база заполнена после truncate table? Может быстрее будет отребилдить все оставшиеся таблицы и шринкать с truncateonly? Логи тоже шринкуются? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 13:36 |
|
Подготовка легковесных копий 1с для разработки
|
|||
---|---|---|---|
#18+
0wl, партиционирование изучаю, спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 13:49 |
|
Подготовка легковесных копий 1с для разработки
|
|||
---|---|---|---|
#18+
msLex LexFreeman msLex, тормозит конечно шринк А насколько база заполнена после truncate table? Может быстрее будет отребилдить все оставшиеся таблицы и шринкать с truncateonly? Логи тоже шринкуются? На данном этапе база заполнена на 70% после truncate table. Это тестовый вариант. Отребилдить как? shrinkfile notruncate? база в простом режиме восстановления, лог пустой. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 13:53 |
|
Подготовка легковесных копий 1с для разработки
|
|||
---|---|---|---|
#18+
LexFreeman На данном этапе база заполнена на 70% после truncate table. Это тестовый вариант. Если база остается заполнена на 70%, то ребилд не ваш вариант. LexFreeman Отребилдить как? shrinkfile notruncate? alter table .. rebuild Но при 70% заполнении, как я уже сказал, это не вариант. Могло бы помочь, оставайся в базе 5-10 % данных, тогда ребилд с высокой вероятностью "прижал" бы данные к началу файла(ов) данных и, что самое главное, сделал бы это значительно быстрее, чем shrink. После чего shrinkfile c truncteonly быстро бы высвободил место "справа" от последних существующих данных. Кстати, truncate - операция асинхронная, т.е. физическое удаление данных (а значит и освобождение страниц) происходит не мгновенно. Возможно, ваш shrink в том числе переносит уже удаленные данные. LexFreeman база в простом режиме восстановления, лог пустой. Пустой не значит не занимает место на диске, какие файлы и с какими опциями вы шринкаете? И вообще, зачем вам шринк при такой внушительной заполненности базы. Выиграете 300 - 400 ГБ при исходном размере в 1.2 ТБ, не уж то это так критично? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 14:06 |
|
Подготовка легковесных копий 1с для разработки
|
|||
---|---|---|---|
#18+
0wl В качестве идеи: можно включить партиционирование в основной базе и потом копировать разработчикам только актуальные секции А насколько 1С (я сейчас про сам сервер приложений) позволяет секционировать данные? Могу ли я на свое усмотрение секционировать, например, какую-нибудь ГК по дате проводки? Не возникнет ли при этом сбоев в работе самой 1С? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 14:15 |
|
Подготовка легковесных копий 1с для разработки
|
|||
---|---|---|---|
#18+
msLex 0wl В качестве идеи: можно включить партиционирование в основной базе и потом копировать разработчикам только актуальные секции А насколько 1С (я сейчас про сам сервер приложений) позволяет секционировать данные? Могу ли я на свое усмотрение секционировать, например, какую-нибудь ГК по дате проводки? Не возникнет ли при этом сбоев в работе самой 1С? Майкрософт пишет, что для приложений секционирование прозрачно. Влияет ли секционирование на 1с не знаю, надо пробовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 14:21 |
|
Подготовка легковесных копий 1с для разработки
|
|||
---|---|---|---|
#18+
LexFreeman Майкрософт пишет, что для приложений секционирование прозрачно. Только если эти приложения не занимаются "сверкой" текущей структуры базы с их ожиданиями. Насколько я слышал, 1С это делает. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 14:42 |
|
Подготовка легковесных копий 1с для разработки
|
|||
---|---|---|---|
#18+
msLex [ Пустой не значит не занимает место на диске, какие файлы и с какими опциями вы шринкаете? И вообще, зачем вам шринк при такой внушительной заполненности базы. Выиграете 300 - 400 ГБ при исходном размере в 1.2 ТБ, не уж то это так критично? dbcc shrinkfile (dbfile,0) Логфайл пустой - занимает 25мб. 400гб на десяти копиях разработчиков это уже 4тб. Вообще, тестовый набор данных не окончательный. По быстрому выбрали те таблицы, которые точно никому не нужны. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 14:51 |
|
Подготовка легковесных копий 1с для разработки
|
|||
---|---|---|---|
#18+
msLex, 1С 7 очень истерично относилась к структуре БД и падала при любом несоответствии своим ожиданиям. 1С 8 в целом все равно, лишь бы запросы выполнялись. Единственное - при реструктуризации секционированной таблицы (например, если потребуется добавить колонку), 1С пересоздаст эту таблицу заново и всё секционирование превратится в тыкву. Надо, конечно, протестировать основные сценарии использования на стенде. Но все такие особенности преодолимы ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 15:14 |
|
|
start [/forum/topic.php?fid=46&fpage=36&tid=1685164]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 143ms |
0 / 0 |