Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как уменьшить размер ASA 10.0 standalone database
|
|||
|---|---|---|---|
|
#18+
Уважаемые коллеги, Мне пришлось upgrade-ировать ASA 7.0 standalone database to ASA 10.0 standalone database: - upgrade-ировать пришлось сначала с ASA 7.0 на ASA 9.0 а затем ASA 9.0 на ASA 10.0; - поскольку мне нужно было в upgrade-ированной БД иметь character set UTF8BIN вместо Western European 1252, то я в ASA 9.0 создавал новую БД с UTF8 character set и pfntv делал upgrade с помощью unload из исходной ASA 7.0 в новую ASA 9.0. Затем я создавал новую ASA 10.0 БД с UTF8BIN character set и pfntv делал upgrade с помощью unload из исходной ASA 9.0 в новую ASA 10.0; - поскольку мне в конечной ASA 10.0 БД нужно было alter-ивать все columns типа CHAR, VARCHAR и LONG VARCHAR на columns типа NCHAR, NVARCHAR и LONG NVARCHAR соответственно, то мне пришлось drop-нуть все primary and foreign keys, поскольку иначе невозможно было произвести alter-ование тех колонок, которые входили в состав primary and foreign keys. Затем после alter-ования типов мне пришлось создать все primary and foreign keys заново. В результате всех этих манипуляций конечная ASA 10.0 БД получилась размером в 6-ть раз большим, чем исходная ASA 7.0 БД пр том же количестве таблиц и данных в них и том же количестве других объектов (stored procedures, triggers, views). Каким образом можно шринковать конечную ASA 10.0 БД до минимально возможного размера ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2007, 23:20 |
|
||
|
Как уменьшить размер ASA 10.0 standalone database
|
|||
|---|---|---|---|
|
#18+
Хотья я никогда таким не занимался, но предполагаю, что получившуюся базу на десятке надо :выгрузить, пересоздать файл БД и загрузить все данные снова. Т.е есть вероятность, что в вашей БД много свободного места, которое появилось в процессе переальтеривания таблиц. Это можно проверить с помощью консольной утилитки и посмотреть сколько в БД свободных страниц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2007, 13:41 |
|
||
|
Как уменьшить размер ASA 10.0 standalone database
|
|||
|---|---|---|---|
|
#18+
Ggg_oldЭто можно проверить с помощью консольной утилитки и посмотреть сколько в БД свободных страниц.А что это за утилитка ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2007, 12:06 |
|
||
|
Как уменьшить размер ASA 10.0 standalone database
|
|||
|---|---|---|---|
|
#18+
Бока Ggg_oldЭто можно проверить с помощью консольной утилитки и посмотреть сколько в БД свободных страниц.А что это за утилитка ?Sybase Central, что же еще? Правый клик по имени базы и смотреть проперти базы. Либо в dbisql: call sa_db_properties() Смотреть параметры PageSize, FileSize и FreePages. PageSize * FileSize = общий размер файла базы данных в байтах PageSize * FreePages = суммарный объем пустого пространства в базе, без учета хвостов. Хвосты отдельно посчитать можно, но сложнее. Их надо будет считать для каждой таблицы по отдельности при помощи функции sa_table_page_usage( ) А впрочем, кажется Foxhound может что-то суммарное рассказать, но я с ним не работал. А вообще-то, при конвертации CP на UTF размер базы должен увеличиться по определению - все же в CP один символ - один байт, а в UTF каждый символ от одного до четырех байт может быть... Но если хочешь ужать базу, то сделай reload прямо сейчас и все. Получишь реально минимальный объем файла БД для имеющихся в базе данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2007, 17:47 |
|
||
|
Как уменьшить размер ASA 10.0 standalone database
|
|||
|---|---|---|---|
|
#18+
Ну я имел ввиду dbinfo.exe ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2007, 18:14 |
|
||
|
Как уменьшить размер ASA 10.0 standalone database
|
|||
|---|---|---|---|
|
#18+
Спасибо всем, удалось уменьшить размер БД примерно в 4-раза. Наибольшее место занимали именно хвосты. Увеличение окончательного размера БД примерно в 1,5 раз отношу к использованию UTF8 вместо Western European 1252. А может быть и увеличение размера page от 1024 до 8192 тоже сыграло роль ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2007, 21:07 |
|
||
|
Как уменьшить размер ASA 10.0 standalone database
|
|||
|---|---|---|---|
|
#18+
БокаА может быть и увеличение размера page от 1024 до 8192 тоже сыграло роль ?Нет, это на размер базы не влияет. Вернее влияет, но в обратном направлении. Сам представь: запишешь ты восемьдесять записей в восемь килобайтных страниц или те же восемьдесят в одну восьми-килобайтную? В первом случае у тебя будет восемь хвостиков размером меньше одной записи, а во втором только один хвостик размером меньше_одной_записи умножить на восемь :) Хотя на самом деле там намного более сложная зависимость. В разных таблицах записи разных размеров, плюс индексы, плюс системные таблицы.... В общем, предсказать размер базы на основе размера страниц нереально. Размер страницы гораздо больше влияет на скорость работы. Почитай главу в BOL: SQL Anywhere® Server - SQL Usage > Monitoring and Improving Performance > Performance improvement tips -> Use an appropriate page size ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2007, 21:53 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=35016128&tid=2011758]: |
0ms |
get settings: |
8ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
62ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 255ms |
| total: | 376ms |

| 0 / 0 |
