Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Sybase ASA, ASE, IQ Новый топик    Ответить
 sql anywhere 5.0 очистка  [new]
Discount88
Member

Откуда:
Сообщений: 40
Доброго всем вечера. В наследство достался один сервер, с базой пропусков.
Сервер на Win 2003
База на sybase sql anywhere 5.0
Очень старая машина :)
До недавнего времени боялся даже заглядывать туда. Работает - ну и ладно.
Не так давно база начала притормаживать, т.е. открытие списков пользователей, подключение и т.п. - начало тормозить.
Перезагрузка не помогает. Списался со старым админом.
Ответил: (цитирую)

"очистить архив, сбросить инкриментные счётчики ключей таблиц"
Начинаю расспрашивать что это и с чем едят.

"речь-то изначально о БД была, да таблицы чистить надо.
Инкриментные счётчики - автоинкримент + генерируемые значения в отдельной таблице. с очисткой и без очистки таблиц. учётки и ID пользователей оставить нужно"

Спрашиваю как это сделать - Он уже не помнит, было 5-7 лет назад Говорит с помощью запросов и процедурок.

Т.к. я не знаком с SQL запросами. Может кто подсказать как все эти действия выполнить? Буду очень благодарен.
16 сен 15, 17:32    [18157478]     Ответить | Цитировать Сообщить модератору
 Re: sql anywhere 5.0 очистка  [new]
Sergey Orlov
Member

Откуда: СПб
Сообщений: 4272
Discount88,
Бекап то делаете? Если делаете то с обрезанием или не знаете...
16 сен 15, 18:20    [18157688]     Ответить | Цитировать Сообщить модератору
 Re: sql anywhere 5.0 очистка  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34289
Discount88,
скорее всего что админ тебе говорит - полная лажа.

счетчики например
17 сен 15, 07:07    [18158870]     Ответить | Цитировать Сообщить модератору
 Re: sql anywhere 5.0 очистка  [new]
Discount88
Member

Откуда:
Сообщений: 40
Sergey Orlov,

Бэкап делается каждый день. С обрезанием или нет, я не в курсе. Если честно, я даже не знаю каким образом он делается, как я понимаю там не всё так просто, в отличие от того же MS SQL Server 2005/2008/2012
Я даже скопировал сервер на виртуалку, чтобы поэкспериментировать.
17 сен 15, 08:35    [18158995]     Ответить | Цитировать Сообщить модератору
 Re: sql anywhere 5.0 очистка  [new]
Sergey Orlov
Member

Откуда: СПб
Сообщений: 4272
Discount88
Sergey Orlov,
Бэкап делается каждый день. С обрезанием или нет, я не в курсе. Если честно, я даже не знаю каким образом он делается, как я понимаю там не всё так просто, в отличие от того же MS SQL Server 2005/2008/2012
Я даже скопировал сервер на виртуалку, чтобы поэкспериментировать.

Если размер лога большой, то тормозит однозначно.... Банальная проверка старт самого asa, если очень долго, то он очень большой... Вы для начала все-таки разберитесь, делается ли бэкап утилитами самого asa...
17 сен 15, 09:16    [18159089]     Ответить | Цитировать Сообщить модератору
 Re: sql anywhere 5.0 очистка  [new]
Discount88
Member

Откуда:
Сообщений: 40
Sergey Orlov
Discount88
Sergey Orlov,
Бэкап делается каждый день. С обрезанием или нет, я не в курсе. Если честно, я даже не знаю каким образом он делается, как я понимаю там не всё так просто, в отличие от того же MS SQL Server 2005/2008/2012
Я даже скопировал сервер на виртуалку, чтобы поэкспериментировать.

Если размер лога большой, то тормозит однозначно.... Банальная проверка старт самого asa, если очень долго, то он очень большой... Вы для начала все-таки разберитесь, делается ли бэкап утилитами самого asa...


Бэкап делается с помощью батника, запускающегося планировщиком заданий.
Вот сам код батника

@echo off
setlocal
set f_name_db=D:\xxx\xxx.DB
set f_name_dblog=D:\xxx\xxx.LOG
set f_name_bakuprar=D:\Backup_xxx\%date:~6,4%%date:~3,2%%date:~0,2%.rar
set f_log_std=D:\Backup_xxx\log\Backup.log

echo %date% >> %f_log_std%
net stop "SQLANYs_xxx" 1>>%f_log_std%
echo "Archiving %f_name_dblog% ....">>%f_log_std%
"C:\Program Files\WinRAR\Rar.exe" a %f_name_bakuprar% %f_name_dblog% 1>>%f_log_std%
echo "Copy %f_name_db% ....">>%f_log_std%
"C:\Program Files\WinRAR\Rar.exe" a %f_name_bakuprar% %f_name_db% 1>>%f_log_std%
net start "SQLANYs_xxx" 1>>%f_log_std%

endloca

Размер самой базы - 70 мб, Размер логов - 72 мб
Размер Бэкапа 20мб.
17 сен 15, 09:44    [18159166]     Ответить | Цитировать Сообщить модератору
 Re: sql anywhere 5.0 очистка  [new]
Sergey Orlov
Member

Откуда: СПб
Сообщений: 4272
Discount88
Размер самой базы - 70 мб, Размер логов - 72 мб
Размер Бэкапа 20мб.

Ну это не бэкап базы, а ее простое копирование и сжатие а архив. Надеюсь, 5-ка поставлена в полном обьеме и там есть утилита dbbackup, так что, берите документацию и читайте как сделать бэкап базы с усечением лога...
17 сен 15, 12:28    [18160155]     Ответить | Цитировать Сообщить модератору
 Re: sql anywhere 5.0 очистка  [new]
Dim2000
Member

Откуда: Москва
Сообщений: 5305

17.09.2015 7:07, MasterZiv пишет:

> скорее всего что админ тебе говорит - полная лажа.
>
> счетчики например

Сделать всё, что он пишет, можно (если знаешь структуру базы), но нужно
ли :)?

Posted via ActualForum NNTP Server 1.5

17 сен 15, 12:29    [18160164]     Ответить | Цитировать Сообщить модератору
 Re: sql anywhere 5.0 очистка  [new]
Dim2000
Member

Откуда: Москва
Сообщений: 5305

17.09.2015 9:44, Discount88 пишет:

> Бэкап делается с помощью батника, запускающегося планировщиком заданий.
> Вот сам код батника

Это ламеризм в 146-процентной концентрации. Если не понимаешь, почему, -
не трогай сервер.

> Размер самой базы - 70 мб, Размер логов - 72 мб
> Размер Бэкапа 20мб.

Ржунимагу упалпаццтол . Или ты ошибся в единицах измерения, и вместо
мегабайт должны быть гигабайты?

Posted via ActualForum NNTP Server 1.5

17 сен 15, 12:35    [18160209]     Ответить | Цитировать Сообщить модератору
 Re: sql anywhere 5.0 очистка  [new]
Discount88
Member

Откуда:
Сообщений: 40
Dim2000
17.09.2015 9:44, Discount88 пишет:

> Бэкап делается с помощью батника, запускающегося планировщиком заданий.
> Вот сам код батника

Это ламеризм в 146-процентной концентрации. Если не понимаешь, почему, -
не трогай сервер.

> Размер самой базы - 70 мб, Размер логов - 72 мб
> Размер Бэкапа 20мб.

Ржунимагу упалпаццтол . Или ты ошибся в единицах измерения, и вместо
мегабайт должны быть гигабайты?


Не не, база реально мелкая) в ней храниться лишь данные о посетителях.
Может кто подскажет как почистить хотя бы логи?
17 сен 15, 13:08    [18160468]     Ответить | Цитировать Сообщить модератору
 Re: sql anywhere 5.0 очистка  [new]
old_joy
Member

Откуда:
Сообщений: 155
Discount88,
Ищите в ProgrammFiles папку с sql5.
Найдете там файл dbstop, dbstart, dbeng.

Можете остановить сервис SQLANYs_xxx любыми способами.

Потом переименуйте log.

А затем наберите команду из строки dbeng -f D:\xxx\xxx.DB
Ключ -f говорит о том, что нужно создать новый лог.
База немного покрутиться и остановиться. Увидите, что создан новый лог. Запускайте SQLANYs_xxx
17 сен 15, 14:42    [18161122]     Ответить | Цитировать Сообщить модератору
 Re: sql anywhere 5.0 очистка  [new]
Dim2000
Member

Откуда: Москва
Сообщений: 5305

17.09.2015 13:08, Discount88 пишет:

> Не не, база реально мелкая) в ней храниться лишь данные о посетителях.
> Может кто подскажет как почистить хотя бы логи?

Не нужно ничего "чистить", не те объёмы.

Да, совет от old_joy - тупой ламеризм от человека, так и не открывшего
dbbackup.exe ;).

Posted via ActualForum NNTP Server 1.5

17 сен 15, 15:04    [18161322]     Ответить | Цитировать Сообщить модератору
 Re: sql anywhere 5.0 очистка  [new]
Discount88
Member

Откуда:
Сообщений: 40
Dim2000
17.09.2015 13:08, Discount88 пишет:

> Не не, база реально мелкая) в ней храниться лишь данные о посетителях.
> Может кто подскажет как почистить хотя бы логи?

Не нужно ничего "чистить", не те объёмы.

Да, совет от old_joy - тупой ламеризм от человека, так и не открывшего
dbbackup.exe ;).



С чего вы взяли что я не открыл dbbackup? Просто я не трогал то, чего и так уже настроено и не лез к этому серверу без необходимости.
17 сен 15, 16:29    [18161930]     Ответить | Цитировать Сообщить модератору
 Re: sql anywhere 5.0 очистка  [new]
antand
Member

Откуда: Москва
Сообщений: 585
Обычно база с такими объемами может тормозить только если 1) или там что-то на уровне системы криво(очень старый комп, барахлит аппаратура, диск забит, сеть и т.п.) 2) или там ну очень кривая структура, логика, запросы(без индексов и т.п.). Н-р, может там только таблица сотрудников, пропусков и + 70М лог входа/выхода сотрудников за 5-7 лет. И по этому логу гоняются неинд запросы:) Встречал такое.

Из-за логов сервера, учитывая такие объемы, вряд ли будет заметное торможение.
Мне кажется для автора будет проще для начала приподнять на виртуалке копию(вместо этого сервера) с более менее нормальной производительностью. Опыт у него есть, это к тому же избавит от необходимости ставить заново ASA5
И посмотреть на рабочую ситуацию в новых условиях. Если что можно будет подкрутить опции запуска и настройки админские сервера и базы, для этого знания SQL не сильно нужны.
Естественно старый сервер оставить, если что можно будет просто файл с логом перекинуть обратно.

Ну а если это не поможет, тогда уже надо внутрь базы и приложения смотреть.
"Почистить архив" и почистить "логи" это может также относиться к внутренней логике приложения(т.е. чистка определенных таблиц), к логам базы и сервера это может не относиться.
17 сен 15, 17:45    [18162407]     Ответить | Цитировать Сообщить модератору
 Re: sql anywhere 5.0 очистка  [new]
Discount88
Member

Откуда:
Сообщений: 40
antand
Обычно база с такими объемами может тормозить только если 1) или там что-то на уровне системы криво(очень старый комп, барахлит аппаратура, диск забит, сеть и т.п.) 2) или там ну очень кривая структура, логика, запросы(без индексов и т.п.). Н-р, может там только таблица сотрудников, пропусков и + 70М лог входа/выхода сотрудников за 5-7 лет. И по этому логу гоняются неинд запросы:) Встречал такое.

Из-за логов сервера, учитывая такие объемы, вряд ли будет заметное торможение.
Мне кажется для автора будет проще для начала приподнять на виртуалке копию(вместо этого сервера) с более менее нормальной производительностью. Опыт у него есть, это к тому же избавит от необходимости ставить заново ASA5
И посмотреть на рабочую ситуацию в новых условиях. Если что можно будет подкрутить опции запуска и настройки админские сервера и базы, для этого знания SQL не сильно нужны.
Естественно старый сервер оставить, если что можно будет просто файл с логом перекинуть обратно.

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


Спасибо. Попробую это сделать.
Кстати вот ещё вопрос, Вы упомянули "чистка определённых таблиц", Как посмотреть какие вообще есть таблицы в базе? И как их чистить.
Как я понимаю, там должна быть таблица с посетителями, которые сотрудники бюро пропусков заполняют ручками....вот эта таблица по идее за 5-10 лет накопилась, и её необходимо почистить. Но я даже не знаю каким образом можно залезть в структуру базы.
18 сен 15, 08:47    [18163905]     Ответить | Цитировать Сообщить модератору
 Re: sql anywhere 5.0 очистка  [new]
Sergey Orlov
Member

Откуда: СПб
Сообщений: 4272
У вас там на сервере должен быть виндовый Sybase Central, аналог enterprise manager для mssql, его запускаете и подключаетесь к вашему серверу... И начните с dbbackup, у вас база 70 метров, лог 70 метров, при бекапе через dbbackup база будет иметь размер примерно метров 70-80, а лог примерно 1 килобайт, т.е. будет операция типа shrink из mssql...
18 сен 15, 09:11    [18163988]     Ответить | Цитировать Сообщить модератору
 Re: sql anywhere 5.0 очистка  [new]
d7i
Member

Откуда:
Сообщений: 374
Discount88

1. Надо обязательно сделать backup и перезппустить сервер SQL. log-файл (журнал) сразу усечется.
2. Для устранения ошибок в индексах БД, сжатия пустых страниц и т.п. надо пересобрать базу.
Для этого нужно сделать выгрузку базы в текстовые файлы утилитой unload, переместить базу в иное место (страховка), а
затем сделать создание/загрузку утилитами dbinit и isql.

Пример команд:

Бекап
-------
C:\sqlany50\win32\DBBACKUP.EXE -d -x -y -c "eng=ИмяБД;uid=пользователь;pwd=пароль" backup
Здесь: ИмяБД - имя БД; uid - пользователь (по умолчанию dba); pwd - пароль (по умолчанию sql)
backup - подпапка для бекапа (там будет копия БД)

Выгрузка БД
-------------
C:\SQLAny50\win32\dbunload -o unload.log -y -u -c "uid=dba;pwd=sql;dbf=файлБД.db;start=dbeng50 /c 120M" unload
Здесь: unload - подпапка для текстовых файлов БД; unload.log - файл лога выгрузки

Создание и загрузка БД
-------------------------
c:\SQLAny50\win32\dbinit -p 4096 -z 1251a.col файлБД.db
c:\SQLAny50\win32\isql -c "uid=dba;pwd=sql;dbf=файлБД.db;dbs=-q;start=c:\SQLAny50\win32\dbeng50 -b /c 120M" read reload.sql

Файл reload.sql будет создан утилитой unload
Файл 1251a.col - это таблица символов кириллицы (если таковые есть в БД). Могу прислать если нужно.

Подробности о ключах можно прочитать в документации.

P.S. Работаю с SyBase SQL Anywhere 5.5 более 15 лет, немного её знаю.
18 сен 15, 23:12    [18168763]     Ответить | Цитировать Сообщить модератору
 Re: sql anywhere 5.0 очистка  [new]
Sergey Orlov
Member

Откуда: СПб
Сообщений: 4272
d7i,
у него в базе кодировка может быть cp866
19 сен 15, 11:33    [18169366]     Ответить | Цитировать Сообщить модератору
 Re: sql anywhere 5.0 очистка  [new]
d7i
Member

Откуда:
Сообщений: 374
Sergey Orlov,
ну, вопрос по кодировке - это отдельная тема....
а бэкап и пересборку базы сделать надо...
20 сен 15, 12:18    [18171950]     Ответить | Цитировать Сообщить модератору
 Re: sql anywhere 5.0 очистка  [new]
Sergey Orlov
Member

Откуда: СПб
Сообщений: 4272
d7i,
Про бэкап соглашусь полностью, а вот про перезагрузку базы из старой в новую... Знать бы какие запросы засылает приложение, посмотреть бы их планы, иногда добавление индекса решает все проблемы... Да вот в свое время у меня всплыла проблема, при переносе одной базы с w2k на w2k3, при выполнении одного запроса все вставало колом, поскольку приложение было старое и исходники утрачены, то теперь у меня есть w2k в виртуалке...
20 сен 15, 20:36    [18172927]     Ответить | Цитировать Сообщить модератору
 Re: sql anywhere 5.0 очистка  [new]
Dim2000
Member

Откуда: Москва
Сообщений: 5305
Очень хочется увидеть, с какими параметрами запускается сервер.
30 сен 15, 03:00    [18212581]     Ответить | Цитировать Сообщить модератору
Все форумы / Sybase ASA, ASE, IQ Ответить