Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Informix Новый топик    Ответить
 Уменьшить дбспейсы  [new]
falcon111
Member

Откуда:
Сообщений: 115
Направьте меня, плиз, в нужную сторону. 12.10.FC8, есть дбспейсы с большими чанками. Надо вместо больших чанков сделать чанки поменьше, а большие убрать. Собственно, это переезд на ссд.

Отсюда вопросы, как это сделать?
1. Если использовать ontape - там можно переименовать чанки, но изменить размер, вроде, нельзя?
2. Добавить небольшие чанки в дбспейс и потом переносить данные из большого чанка в малые. Вопрос как перенести данные и очистить большой изначальный чанк?
3. dbexport/dbimport, но тут не устраивает что оно не переносит как раз таки имена дбспейсов, экстент сайзы и потом сидеть в спешке (пренос - даунтайм) править все создания таблиц/индексов - плохая идея.
4 5 6 ... ?
16 фев 17, 21:07    [20219400]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить дбспейсы  [new]
Яковлев Павел
Member

Откуда: Ленинград
Сообщений: 233
Cначала все таблицы и индесы с помощью ALTER FRAGMENT в новый дбспейс.

Потом грохнуть старый.

(а размеры экстентов dbexport умеет однако)
16 фев 17, 22:09    [20219557]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить дбспейсы  [new]
falcon111
Member

Откуда:
Сообщений: 115
Яковлев Павел
Cначала все таблицы и индесы с помощью ALTER FRAGMENT в новый дбспейс.
Потом грохнуть старый

О, точно, хорошая мысль. А основной дбспейс, в котором создавалась база удалить даст? База была создана в своем дбспейсе, не в руте.
(а размеры экстентов dbexport умеет однако)

Подскажите плиз как, смотрел - там выборочно влючать-не включать таблицы, овнер и прочее - знаю, видел, а это, видать плохо смотрел.
17 фев 17, 03:01    [20219838]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить дбспейсы  [new]
Ikir
Member

Откуда:
Сообщений: 257
falcon111
Подскажите плиз как, смотрел - там выборочно влючать-не включать таблицы, овнер и прочее - знаю, видел, а это, видать плохо смотрел.


ключ -ss
17 фев 17, 12:08    [20220720]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить дбспейсы  [new]
Яковлев Павел
Member

Откуда: Ленинград
Сообщений: 233
Пусто дбспейс грохнуть даст - чего не дать-то

А вот "пустой" чанк не грохнуть если в нём экстент TBLTBLSPACE

И TBLTBLSPACE не поддаётся repack/shrik, а казалось бы.....
17 фев 17, 22:03    [20222994]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить дбспейсы  [new]
Яковлев Павел
Member

Откуда: Ленинград
Сообщений: 233
А блин, в пустом дбспейсе база.....

А вот тогда скорее всего зверёк пушной.
17 фев 17, 22:04    [20222999]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить дбспейсы  [new]
falcon111
Member

Откуда:
Сообщений: 115
Яковлев Павел,

Тогда что мне остается? Дбэкспорт с -ss, dbimport, получится, на первый взгляд, идентичная база за исключением того, что все будет не в тех дбспейсах и потом разносить таблицы-индексы по правильным местам? Вопрос в том, как вместить все данные в один начальный дбспейс, куда dbimport будет втягивать базу. Плюс этот дбспейс тоже должен будет быть больше, чем надо, потом встанет такой же вопрос по его уменьшению...

Либо ваять тулзу по корректировке выгруженного скрипта с дописыванием in spacename... Ни у кого, кстати, таких наработок нет?
18 фев 17, 00:11    [20223228]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить дбспейсы  [new]
Яковлев Павел
Member

Откуда: Ленинград
Сообщений: 233
Импорт при импорте (во загнул) сразу раскладывает по указанным дбспейсам - экспортируйте с -ss и потом в <db>.sql руками/редактором поправьте названия.

Импорт же ничего этакого не делает - созадаёт базу где указали и потом по sql воссоздаёт и заполняет тааблицы.

Возможная засада - длинная транзакция. Если можете (нет HDR/RSS) вносите базу в режиме без логирования и только всё сделав включите логирование.

Если HDR/RSS есть и ими временно не пожертвовать - заменить импорт ручной работой - создать базу и только таблицы по sql.

Потом загрузить данные load from insert into (последовательно кусками для сильно больших таблиц).

Потом довыполнить остаток sql в части создания индексов, констрейнтов и прочего.
18 фев 17, 11:28    [20223812]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить дбспейсы  [new]
Яковлев Павел
Member

Откуда: Ленинград
Сообщений: 233
А вот если у вас чанки нарезаны на LVM, то ваша жизнь может резко упроститься

Делаете на SSD физический том LVM и добавляете его в тот же виртуальный том где и чанки.

Потом lvconvert --mirror для каждого чанка с указанием создания копии на физическом томе SSD.

После построения зеркал - lvconvert --splitmirrors отсоединив те части что на HDD (их потом можно удалить)

И всё это ОНЛАЙН. На SSD надо столько же места естественно.

А можно и не отсоединять части на HDD - пометить их writemostly - запись будет идти и туда и туда, а чтение только с SSD (пока оно живо) - бесплатный raid силами ОС.

Вы имеете опыт эксплуатации SSD и статистику сколько они живут ? Какая именно модель ? SSD в raid 10 или 5 или 6 ? Вы точно продумали все эти моменты ?
18 фев 17, 11:39    [20223826]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить дбспейсы  [new]
falcon111
Member

Откуда:
Сообщений: 115
Яковлев Павел
А вот если у вас чанки нарезаны на LVM, то ваша жизнь может резко упроститься

Делаете на SSD физический том LVM и добавляете его в тот же виртуальный том где и чанки.

Потом lvconvert --mirror для каждого чанка с указанием создания копии на физическом томе SSD.

После построения зеркал - lvconvert --splitmirrors отсоединив те части что на HDD (их потом можно удалить)

И всё это ОНЛАЙН. На SSD надо столько же места естественно.

А можно и не отсоединять части на HDD - пометить их writemostly - запись будет идти и туда и туда, а чтение только с SSD (пока оно живо) - бесплатный raid силами ОС.

Вы имеете опыт эксплуатации SSD и статистику сколько они живут ? Какая именно модель ? SSD в raid 10 или 5 или 6 ? Вы точно продумали все эти моменты ?


LVM не используется, так что уже не получится.
С ссд да, опыт есть, и особенности, типа трима(который при отсутствии изменений файловой системы в целом не очень-то и нужен, чанки же не имеют операций файлового удаления, главное чтобы трим работал при разбиении винта и создании чанков), и износ от объема записанных данных, все это в курсе, включая дигиталлайфовские тесты, где народ тер разные ссд и постил результы на какой ссд сколько вкачали, снимки смарта и итоги какой ссд когда погиб. :)

Поэтому система ставится на аппаратное зеркало на классических хдд, без любых дбспейсов, а уже дбспейсы выносятся на ссдшники с зеркалированием средствами информикса. Было уже, винты дохли, информикс выводил выпавшие дбспейсы в оффлайн, винт менялся, зеркало восстанавливалось onspaces и все работает дальше.

На этот сервер поставили какие-то intel dc<цифры> (цифру не помню).

По сути вопроса, с ключем -ss у дбэкспорта получается вполне кошерная выгрузка, в которой есть эсктенты, и указаны дбспейсы для всех полей/таблиц/индексов, которые НЕ в дефолтном дбспейсе базы. Так что dbimport база -d defaultdbspace и все получается очень даже красиво, сегодня сделал тестовый импорт, все получилось по феншую, вопрос можно считать закрытым.

Спасибо за подсказки.
19 фев 17, 17:37    [20226245]     Ответить | Цитировать Сообщить модератору
Все форумы / Informix Ответить