|
перенести данные из 1 чанка в другой
|
|||
---|---|---|---|
#18+
Добрый день, с информиксом работаю не очень давно,поэтому спрошу может быть глупый вопрос,но ткните плиз в доку или где найти ответ. У меня есть dbspace с 4 чанками, раньше 1,2,3 чанки были заполнены,сейчас оттуда почти все данные выбросили,т.е. они почти пустые. Можно ли как-нибудь перенести все данные с 4,3,2 чанка в 1,например,а лишние удалить,потому что база распухла ужасно. спасибо большое за любую помощь ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2012, 10:30 |
|
перенести данные из 1 чанка в другой
|
|||
---|---|---|---|
#18+
LudeV, Если чанки пустые, их можно удалить. Если не пустые, надо сначала обнаружить, что именно там лежит, и потом уже смотреть, можно ли это удалить/перенести ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2012, 11:07 |
|
перенести данные из 1 чанка в другой
|
|||
---|---|---|---|
#18+
LudeVлишние удалить,потому что база распухла ужасно Логика в чём? Вы хотите удалить неиспользуемые чанки одного дбспейс, чтобы создать на освободившемся месте для другого? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2012, 11:13 |
|
перенести данные из 1 чанка в другой
|
|||
---|---|---|---|
#18+
АнатоЛой, да,я хочу удалить неиспользуемые,потому что необходимо создать чанки для другого пространства,а по месту ограничен. может быть просто взять и создать таблицу как свою же копию,тогда он начнет сначала заполнять 1 чанк,а потом уже второй и т.д...и после того,как создал таблицу,старую дропнуть и удалить чанк. может быть есть какой-то механизм? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2012, 13:06 |
|
перенести данные из 1 чанка в другой
|
|||
---|---|---|---|
#18+
LudeV, Перезалить базу. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2012, 13:27 |
|
перенести данные из 1 чанка в другой
|
|||
---|---|---|---|
#18+
LudeVАнатоЛой, да,я хочу удалить неиспользуемые,потому что необходимо создать чанки для другого пространства,а по месту ограничен. может быть просто взять и создать таблицу как свою же копию,тогда он начнет сначала заполнять 1 чанк,а потом уже второй и т.д...и после того,как создал таблицу,старую дропнуть и удалить чанк. может быть есть какой-то механизм? Создать новое пространство нужного обьема, сделать alter fragment.... in ... в новое пространство для таблиц из освобождаемого. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2012, 14:04 |
|
перенести данные из 1 чанка в другой
|
|||
---|---|---|---|
#18+
onstat-, насколько это безопасно делать при работающей продакшн базе? мне кажется,что это не очень надежно ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2012, 14:48 |
|
перенести данные из 1 чанка в другой
|
|||
---|---|---|---|
#18+
LudeV, достаточно безопасно с точки зрения целостности. Вопрос только во времени на который таблица станет недоступна для запросов (зависит от размеров отдельно взятой таблицы), и как отреагирует на это время конкретно взятое ПО. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2012, 17:34 |
|
перенести данные из 1 чанка в другой
|
|||
---|---|---|---|
#18+
Alter fragment может быть веселой штукой, если таблица большая. А в 11.50 можно shrink сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2012, 09:05 |
|
перенести данные из 1 чанка в другой
|
|||
---|---|---|---|
#18+
ТанAlter fragment может быть веселой штукой, если таблица большая. 1. LudeV, это к тому что не помешало бы оценить размеры таблиц ТанА в 11.50 можно shrink сделать. 2. LudeV, а это к тому, что мало кто помнит что в предыдущем вопросе Вы упоминали 11.50 FC6, да и не факт, что в данном случае у вас верся сервера та же... А shrink таки должен помочь, если чанки действительно заняты только пустыми экстентами... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2012, 10:54 |
|
перенести данные из 1 чанка в другой
|
|||
---|---|---|---|
#18+
АнатоЛой, версия на этом сервере 11.70 FC3 фрагменты таблиц занимают от 6 до 32Гб,поэтому изменять alter fragment не стоит,да и столько данных перегонять очень долго,а сервер может быть недоступен только лишь 6часов,не больше - этот вариант отпадает А вот про shrink идея хорошая,но я пока не очень понял ее смысл( Эта функция вернет в табличное пространство пустые экстенты,но размер БД не уменьшится и чанки удалить я не смогу. Если у меня первый чанк занят на 20%,а остальное удалено,то он мне просто освободит те самые 80%,но данные со второго чанка сюда не засунет же..В итоге у меня в первом будет часть данных и во втором тоже. При удалении через delete место остается зарезервированным за этими записями,и занимается оно новыми записями только после того как закончится свободное место,а эта функция позволяет создать некий отчет,согласно которому информикс будет заполнять эти экстенты сразу при добавлении новых строк. все я верно понял? спасибо большое за разъяснение ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2012, 12:36 |
|
перенести данные из 1 чанка в другой
|
|||
---|---|---|---|
#18+
LudeV, функции достаточно новые, лично у меня практического опыта их использования ещё нет :(. К сожалению, в документации repack, shrink и defragment упоминаются только в связи с compress, который вы вряд ли решитесь использовать. Ни одна из них не готовит отчёт, поэтому я не совсем понял ваши фразу об отчёте. Для просмотра, что у вас творится в чанках используйте "oncheck -pe", "oncheck -pt", "oncheck -pT", systabnames, sysextents. http://publib.boulder.ibm.com/infocenter/idshelp/v117/topic/com.ibm.admin.doc/ids_admin_0626.htm http://publib.boulder.ibm.com/infocenter/idshelp/v117/topic/com.ibm.admin.doc/ids_admin_0631.htm согласно: http://publib.boulder.ibm.com/infocenter/idshelp/v117/topic/com.ibm.admin.doc/ids_admin_1251.htm repack - по идее должен переписать строки на свободное место внутри одного "фрагмента". Являются ли таковым удалённые строки - на 100% неизвестно. Переезжают ли они при этом из одного экстента в другой - или съезжаются только в пределах одного экстента - тоже вопрос. shrink - если в экстенте есть пустое место в конце экстента - отрежет у экстента это место. defragment - посливает экстенты в один! на тему defragment информации в доке тоже немного, но таки есть: Feature SQL API onstat -g defrag ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2012, 14:04 |
|
перенести данные из 1 чанка в другой
|
|||
---|---|---|---|
#18+
АнатоЛойна тему defragment информации в доке тоже немного Больше на русском и оригинал на английком . Оно? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2012, 14:09 |
|
перенести данные из 1 чанка в другой
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2012, 14:27 |
|
перенести данные из 1 чанка в другой
|
|||
---|---|---|---|
#18+
LudeVфрагменты таблиц занимают от 6 до 32Гб,поэтому изменять alter fragment не стоит,да и столько данных перегонять очень долго,а сервер может быть недоступен только лишь 6часов,не больше - этот вариант отпадает Сомнительно. За 6 часов можно Терабайт лопатой перекидать. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2012, 15:47 |
|
перенести данные из 1 чанка в другой
|
|||
---|---|---|---|
#18+
LudeV, repack + shrink вам помогут, их можно и без сжатия использовать. Правда, неизвестно, куда именно repack переложит данные. И его можно запускать при работающих пользователях, если мне память не изменяет. Вы бы посмотрели, что в полупустых чанках лежит ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2012, 19:17 |
|
перенести данные из 1 чанка в другой
|
|||
---|---|---|---|
#18+
Тан, repack данные из 1 чанка не переложил в другой ( ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2012, 16:24 |
|
перенести данные из 1 чанка в другой
|
|||
---|---|---|---|
#18+
Тан, прошу прощения,поторопился. данные перенеслись в первый чанк только после repack+shrink. Спасибо большое! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2012, 16:27 |
|
перенести данные из 1 чанка в другой
|
|||
---|---|---|---|
#18+
вот только интересно: после перемещения данных индекс остается работоспособным? ведь rowid наверное поменяется ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2012, 16:48 |
|
перенести данные из 1 чанка в другой
|
|||
---|---|---|---|
#18+
Тан, вот какая интересная штука: если я делаю это на таблице без индекса - все получается и данные переносятся,а когда делаю на таблице с индексом - данные переносятся,а место, занимаемое индексом, так и остается в старом чанке. Приходится удалять индекс,а после этого пересоздавать его заново. Подскажите мысли почему так? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2012, 17:20 |
|
перенести данные из 1 чанка в другой
|
|||
---|---|---|---|
#18+
LudeVТан, вот какая интересная штука: если я делаю это на таблице без индекса - все получается и данные переносятся,а когда делаю на таблице с индексом - данные переносятся,а место, занимаемое индексом, так и остается в старом чанке. Приходится удалять индекс,а после этого пересоздавать его заново. Подскажите мысли почему так? индекс - отдельный объект, хранится независимо от таблицы. repack и shrink на индексы не действуют, их надо перестраивать ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2012, 09:36 |
|
перенести данные из 1 чанка в другой
|
|||
---|---|---|---|
#18+
Тан, спасибо большое. самый лучший вариант удалить и создать заново или сделать какой-нибудь rebuild? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2012, 11:05 |
|
перенести данные из 1 чанка в другой
|
|||
---|---|---|---|
#18+
LudeVТан, спасибо большое. самый лучший вариант удалить и создать заново или сделать какой-нибудь rebuild? Если индекс поддерживает констрейнты, то я бы сделала alter fragment. Но для этого нужна эксклюзивная блокировка. А так - можно пересоздать drop online, create online ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2012, 11:49 |
|
|
start [/forum/topic.php?fid=44&msg=37634392&tid=1607203]: |
0ms |
get settings: |
22ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
393ms |
get tp. blocked users: |
1ms |
others: | 32ms |
total: | 515ms |
0 / 0 |