powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / как нормально почистить базу в ASA 5.5
11 сообщений из 11, страница 1 из 1
как нормально почистить базу в ASA 5.5
    #38083174
Kr0t_by
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. у дурачков новый вопрос.

Есть база работающая под Sybase SQL Anywhere 5.5.04.
В течение нескольких лет на базу ставятся обновления (процедуры, фунции и т.п.) + идет дофига записей (абстрактная касса в продуктовом магазине). База раздувается до 400 и более мегабайт.

Как правильно удалить записи из базы (чеки, их содержание...) не трогая структуру самой базы (остались функции, триггеры и т.п.) ?

Т.е. простой запрос
delete from "DBA"."TableName"

данные удаляет, но размер базы как был большим, так и остается.

Сделать unload base нет возможности, по причине того, что не известно какие вообще обновления накатывались и когда.
...
Рейтинг: 0 / 0
как нормально почистить базу в ASA 5.5
    #38083425
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kr0t_byЗдравствуйте. у дурачков новый вопрос.
Есть база работающая под Sybase SQL Anywhere 5.5.04.
В течение нескольких лет на базу ставятся обновления (процедуры, фунции и т.п.) + идет дофига записей (абстрактная касса в продуктовом магазине). База раздувается до 400 и более мегабайт.
Как правильно удалить записи из базы (чеки, их содержание...) не трогая структуру самой базы (остались функции, триггеры и т.п.) ?
Т.е. простой запрос
delete from "DBA"."TableName"
данные удаляет, но размер базы как был большим, так и остается.
Сделать unload base нет возможности, по причине того, что не известно какие вообще обновления накатывались и когда.
Дык утилита unload позволяет выгружать не только данные, но и саму структуру, можно как вместе, а можно и отдельно. Кроме того, можно с ее помощью просто выгрузить не трогая боевую базу. Непонятна сама постановка вопроса на тему обновлений, хотелось бы почетче узнать, что автор имел ввиду...
...
Рейтинг: 0 / 0
как нормально почистить базу в ASA 5.5
    #38083594
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
18.12.2012 12:47, Kr0t_by пишет:

> Здравствуйте. у дурачков новый вопрос.

Когда же вас, наконец, выпрут и возьмут нормальных спецов...

> Есть база работающая под Sybase SQL Anywhere 5.5.04.
> В течение нескольких лет на базу ставятся обновления (процедуры, фунции
> и т.п.) + идет дофига записей (абстрактная касса в продуктовом
> магазине). База раздувается до 400 и более мегабайт.

А зачем эти экзерсисы при нынешних размерах жёстких дисков? Уже 10 лет
назад БД такого размера не впечатляла.

> Как правильно удалить записи из базы (чеки, их содержание...) не трогая
> структуру самой базы (остались функции, триггеры и т.п.) ?

Unload-reload.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
как нормально почистить базу в ASA 5.5
    #38083611
Kr0t_by
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Orlov,

обновления, это sql файлы, с помощью которых вносятся изменения в БД (сделать в столбце А таблицы Б длинну поля такой-то, добавить в БД процедуру такую-то).

а про unload что-то я и вправду сморозил.
ведь ни кто не мешает мне сделать Unload strucure only, а потом взять ЛЮБУЮ пустую базу и в неё уже залить эту структуру.
(т.е. если в пустой базе поле=20 символов, а в исходной рабочей=10, то после перезаливки у меня будет таки 10 символов - свеже залитые данные потрут исходные).

спасибо
...
Рейтинг: 0 / 0
как нормально почистить базу в ASA 5.5
    #38083695
Kr0t_by
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
upd. не прокатило. размер поля остался как в пустой базе. в общем будем пытаться шевелить межушным нервом.
...
Рейтинг: 0 / 0
как нормально почистить базу в ASA 5.5
    #38083804
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kr0t_byupd. не прокатило. размер поля остался как в пустой базе. в общем будем пытаться шевелить межушным нервом.
Вы транзакции то закрыли? После применения sql-скрипта, если посмотреть через централ длина поля поменялась или нет... Все равно не могу понять, у меня к примеру все хоккей... Что-то вы делаете не так или не то...
И еще в моем понимании, пустая база это база без структуры и данных... Если вы в пустую базу зальете структура, то это будет база без данных, а если вы туда будете заливать данные через input/load без применения alter ... либо delete/create, то структура не изменится...
...
Рейтинг: 0 / 0
как нормально почистить базу в ASA 5.5
    #38083839
Kr0t_by
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Orlov, буду пытаться понять что я делаю не так. спасибо.

скорее всего проблема была в моем непонимании понятия "пустая база". для меня это была база без данных, но со структурой.
через утилиту создал просто новую базу, в неё загрузил структуру. всё залилось (правильный размер поля и т.п). хоть и с руганью (но это уже детали).
...
Рейтинг: 0 / 0
как нормально почистить базу в ASA 5.5
    #38086364
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
18.12.2012 17:47, Kr0t_by пишет:

> скорее всего проблема была в моем непонимании понятия "пустая база". для
> меня это была база без данных, но со структурой.

Нужно ввести понятия "совсем пустая база" (то, что делает DBINIT) и "не
совсем пустая база" (со структурой, но без данных) :).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
как нормально почистить базу в ASA 5.5
    #38089111
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понимаю понятия "пустая база данных"...
БД никогда не "пустая". Там есть триггеры, внутренние процедуры и т.д.
Я лично применяю в такой ситуации термин "чистая" БД.
Т.е. БД без пользовательских данных (наполнения пользовательских таблиц).

Лучший способ перестройки БД (очистки):
1. unload.
2. затем ручная корректировка (очистка) содержимого нужных таблиц (файлов .dat).
Этот пункт следует выполнять очень аккуратно.
3. Потом dbinit и reload.

Все вместе это называется rebuild...

Очистку можно и через delete делать, но не всегда это надежно, потому что можно просто забыть почистить некоторые
таблицы, а то и триггеры могут не дать этого сделать нормально.

Чисто ИМХО (из опыта более 10-летней работы с SA 5.5)...
...
Рейтинг: 0 / 0
как нормально почистить базу в ASA 5.5
    #38093142
Kr0t_by
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
d7i, в принципе п 1-3 и делаются.

думал, что проще как-то тупо через delete сделать.
Но у меня после delete from размер базы наоборот увеличивается. (взял таблицу, грохнул 50 тыс записей, а размер + n мегабайт стал)

но будем делать по правильному, а не как хочется.
...
Рейтинг: 0 / 0
как нормально почистить базу в ASA 5.5
    #38095349
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kr0t_by,
Вы, главное п.2 сделайте вручную.
Я всегда так готовлю "чистую" БД.
Для редактирования файлов .dat использую Far (его внутренний редактор).
Немножко утомительно (если таблиц много), но надежно.
Если нужна пустая таблица, просто удаляю соотв. файл .dat и создаю пустой (нулевой длины) новый.
Все редактировние делается довольно быстро, если предварительно выписать из файла reload.sql номера файлов, подлежащих редактированию (очистке).
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / как нормально почистить базу в ASA 5.5
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]