Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
Помогите стартонуть базу.!!!!!!!!!!! Таблица содержит более 5 000 000 строк, 26 колонок. Размер таблицы измеряется в сотнях Мбайт (а может и больше - не мерял). Попытался её очистить одной командой delete (!!!!), потом уже понял глупость, эту транзакцию следовало бы раздробить и удалять поэтапно строки типа SET ROWCOUNT 10000 WHILE EXISTS ( SELECT 1 FROM <myTable> ) BEGIN DELETE FROM <myTable> END SET ROWCOUNT 0 Но это я понял поздно, тогда когда данная транзакция заканчивала поглощать первый Гигабайт лог сегмента базы (предварительно я его увеличил) Не дождавшись завершение удаления (6 час уже колбасило), я оборвал сессию и перезагрузил сервер. Сервер останавливается на (вистит так уже сутки) .. Recovering database 'dbmain'. Recovery dbid 5 ckpt (8728982,14) oldest tran=(8946991,23) Очистка логсегмена не помогает (да он чистый как показывает sp_helpdb dbmain) ЧТО ДЕЛАТЬ? SQL Server/11.0.3.3/P/Linux Intel/Linux 2.0.36 i586 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 18:08 |
|
||
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
а дамп то есть? ну в общем - привет... надо было лог расширять пока она не отработала бы как ты пытаешься чистить лог сегмент, когда база еще не отрекаверилась? пришли select * from master..sysdatabases ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 19:37 |
|
||
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
непонятно зачем надо было использовать delete для безусловного удаления... что можно посоветовать ? А. дождаться завершения процесса (сутки для такого отката - это еще цветочки для этой версии) Б. сделать так 1. опустить сервер и поднять с флагом 3608 (не будет рековерить пользовательские базы) 2. разрешаем апдейт системных таблиц sp_configure "allow updates",1 go 3. записать куда-нибудь segmap (все !) из таблички sysusages для больной базы 4. update sysusages set segmap = 7 where dbid = db_id("dbmain") and segmap = 3 (расширяем лог за счет сегмента с данными, но только на время, потом все вернем взад) 5. не хотим, чтобы база поднялясь в саспекте select status - 320 from sysdatabases where dbid = db_id("dbmain") go запомнить это значение !!! далее update sysdatabases set status = -32768 where dbid = db_id("dbmain") go 7. перестартовать сервер уже без флага. если повезет, то база откатит большую транзакцию и не поперхнется 8. dump database dbmain with truncate_only go (на всякий случай) 8. дальше восстанавливаем значения segmap для базы как были и status 9. перестартовываем сервер заново Требуется холодная голова и твердая рука ! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 20:25 |
|
||
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
п.2 надо сделать перед п.1 т.к. при поднятии с T3608 tempdb также не будет в наличии и проца sp_configure не сработает :) как вариант - поправить конфиг сервера руками : allow updates выставить равным 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 20:37 |
|
||
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
1> select * from sysdatabases 2> go name dbid suid status version logptr crdate dumptrdate status2 audflags deftabaud defvwaud defpraud ------------------------------ ------ ------ ------ ------- ----------- -------------------------- -------------------------- ------- ----------- ----------- ----------- ----------- dbmain 5 1 -32768 1 8946991 Mar 17 2005 8:26PM Dec 8 2005 2:23AM -32719 0 0 0 0 manager 6 1 64 1 14837 Mar 17 2005 8:43PM Dec 6 2005 7:30AM -32720 0 0 0 0 master 1 1 0 1 2075 Jan 1 1900 12:00AM Dec 7 2005 12:26PM -32768 NULL NULL NULL NULL model 3 1 0 1 431 Jan 1 1900 12:00AM Mar 17 2005 8:21PM -32768 NULL NULL NULL NULL sybsystemprocs 4 1 8 1 7590 Mar 17 2005 8:20PM Dec 8 2005 8:41AM -32768 0 0 0 0 tempdb 2 1 4 1 467 Dec 8 2005 9:37AM Dec 8 2005 10:41AM -32768 NULL NULL NULL NULL 1> sp_helpdb dbmain 2> go name db_size owner dbid created status ------------------------ ------------- ------------------------ ------ -------------- ------------------------------------------------------------------------------------------------------ dbmain 17600.0 MB sa 5 Mar 17, 2005 abort tran on log full, offline device_fragments size usage free kbytes ------------------------------ ------------- -------------------- ----------- dbmain 80.0 MB data and log 0 dbmain 20.0 MB log only 20480 dbmain01 2000.0 MB data only 1952 dbmain02 2000.0 MB data only 6992 dbmain03 2000.0 MB data only 1387520 dbmain04 2000.0 MB data only 2048000 dbmain05 2000.0 MB data only 2048000 dbmain06 2000.0 MB data only 2048000 dbmain07 2000.0 MB data only 2048000 dbmain08 2000.0 MB data only 2048000 dbmainlog01 200.0 MB log only 204800 dbmainlog02 300.0 MB log only 307200 dbmainlog02_ 1000.0 MB log only 1021024 Дело вообще то обстояло так: зашёл isql, запустил : use dbmain go delete from cdr whre datepart(month,strat_time)=11 на 6-ом часе выполнения команды моя ssh сессия оборвалась, захожу на сервер повторно, вижу моя сессия весит старая, жду ещё пару часов, жду пока лог сегмент (периодически проверяю sp_helpdb dbmain) не остановится уменьшатся. В определённый он перестал изменятся (при этом все лог сегменты были по нулям и только dbmainlog02_ = 48234). делаю dump tran dbmain with no_log go Место на лог сегментах какбы освободилось, далее: select count(*) from cdr where datepart(month,start_time)=11 - висит. ничего не отвечает. Ну я и перезапускаю сервер.. он не стартует. Peter Kirillow - это врятли поможет. Дело не в лог сегменте. Он свободен. Пока жду до завтра , может подымится (а она обязательно подымится - только вопрос когда? сервер тем временем стоит и начальство в панике и удивляется моему спокойствию) Дампа именно нужной таблицы нет, сама база востанавливается из sql кода и ежедневного дампа таблиц (bcp),за исключением таблицы cdr :( Какие ещё предложения? Какие ещё предложения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 21:44 |
|
||
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
лог сервера в студию хотя бы с момента старта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 09:51 |
|
||
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
Лог: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Но проблема уже решилась вчера в полночь. Один из админов вобщем несмотря на мои запреты всё же перегрузили сервак пока база колбасила своё Recovery. И чтож я вижу к удивлению в логах : *** Bypassing recovery of database id 5 И база при этом поднялась, селекты мои принимает - но при коннекте к ней программ выдавала им чтото вроди - Database is in BYPASS RECOVERY mode. Я захожу в dbmain, dump tran dbmain with no_log - при этом где то минуту сервак шуршал диском, потом перегружаю Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. База работает! Всем спасиба! (хотя я так и не понял причину этого *** Bypassing recovery of database id 5 - есть идёи?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 10:55 |
|
||
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
Bypassing recovery of database id 5 - есть идёи?) из-за status=-32768 а дампами не балуетесь? зачем каждый раз базу пересоздавать то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 11:54 |
|
||
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
авториз-за status=-32768 спасиба. запомню. Дампы ... :) база 17 гиг занимает. её дамп - 2-3 гига и делается долго(около часа). а упакованная структура базы - 5 метров (постоянный). +данных зампы таблиц bcp гдето 600 меторов (делается за 20-30 минут)(без таблицы CDR - эту не дампим, там другая технология - данные за каждый день ложатся в файлы в удобном для отчётов виде, назад то можно загнать, но не предусмотрено. В базе есть промежуточные отчёты по ней. ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2005, 12:00 |
|
||
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
yurchello ЧТО ДЕЛАТЬ? Ждать. Или восстанавливаться из хорошего дампа. Если ты скипнешь recovery, у тебя в базе будет черти что. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2005, 02:49 |
|
||
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
yurchello авториз-за status=-32768 спасиба. запомню. Дампы ... :) база 17 гиг занимает. её дамп - 2-3 гига и делается долго(около часа). а упакованная структура базы - 5 метров (постоянный). +данных зампы таблиц bcp гдето 600 меторов (делается за 20-30 минут)(без таблицы CDR - эту не дампим, там другая технология - данные за каждый день ложатся в файлы в удобном для отчётов виде, назад то можно загнать, но не предусмотрено. В базе есть промежуточные отчёты по ней. ) ;) складывается ощущение, что база используется постольку-поскольку, а файлы рулят немеряно ;) можно попробовать поиграться с памятью отводимой бекап-серверу - в целях ускорения снятия дампа... кстати, при вашем подходе вы получаете замедление работы в начале работы с базой. А индексы у вас сколько строятся после утренней заливки? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2005, 17:00 |
|
||
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
yurchelloтранзакцию следовало бы раздробить и удалять поэтапно строки типа Еще кстати есть truncate table. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2005, 19:59 |
|
||
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
Peter KirillowБ. сделать так И чего товарищь наш получит по окончании этого замечательного процесса ? Неужели работающую базу ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2005, 20:02 |
|
||
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
MasterZiv yurchelloтранзакцию следовало бы раздробить и удалять поэтапно строки типа Еще кстати есть truncate table. там дополнительно накладывалось условие по месяцу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2005, 20:13 |
|
||
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
авторЖдать. Или восстанавливаться из хорошего дампа. Если ты скипнешь recovery, у тебя в базе будет черти что Я не ждал, а всёже сбросил recovery. Дело в том что базу я приостановил после моего delete. И скинуть recovery в моём случае - значит отменить удаление. В режиме BYPASS RECOVERY после команды "dump tran dbmain with no_log " и последующей перезагрузки - база стартонула нормально и не стала рековерить. sybdba;) складывается ощущение, что база используется постольку-поскольку, а файлы рулят немеряно ;) - а как иначе? если за две недели набирается пару миллионов записей (при 20 с лишним столбцов в таблице) с ними работать почти не возможно на данной версии Sybase( апргрейд в моём случае невозможет - не моя разработка базы и приложений) sybdbaможно попробовать поиграться с памятью отводимой бекап-серверу - в целях ускорения снятия дампа... - я выделяю shared memory при старте Sybase - echo 805306368 > /proc/sys/kernel/shmmax - база в настройках имеет строку при этом (1 еденица = 2 Kb): [Physical Memory] total memory = 358400 (716800 Mb) Для backup сервера не тратил память (всего памяти 1 Gb на сервере стоит) sybdbaкстати, при вашем подходе вы получаете замедление работы в начале работы с базой. А индексы у вас сколько строятся после утренней заливки? - нет, не наблюдается особого замедления. Не совсем понятно что такое утренняя заливка. Но когдато заливал данные в базу из bcp файлов (при этом скрипт сначало удаляет индексы заливает таблицу а потом создаёт) - время на это около 5-10 минут уходит (опять таки - не берём таблицу CDR). Вот сейчас запускаю поэтапное удаление записей........ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 11:37 |
|
||
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
yurchello sybdba;) складывается ощущение, что база используется постольку-поскольку, а файлы рулят немеряно ;) - а как иначе? если за две недели набирается пару миллионов записей (при 20 с лишним столбцов в таблице) с ними работать почти не возможно на данной версии Sybase( апргрейд в моём случае невозможет - не моя разработка базы и приложений) я что-то не втыкаю - бекапы делаются или нет? как часто выливаются/заливаются данные через текстовые файлы? почему работать невозможно? выборки медленные? может индексы просто перестраивать? раз в недельку? + статистику обновлять... sybdbaможно попробовать поиграться с памятью отводимой бекап-серверу - в целях ускорения снятия дампа... yurchello - я выделяю shared memory при старте Sybase - echo 805306368 > /proc/sys/kernel/shmmax - база в настройках имеет строку при этом (1 еденица = 2 Kb): [Physical Memory] total memory = 358400 (716800 Mb) Для backup сервера не тратил память (всего памяти 1 Gb на сервере стоит) а бекап серверу не надо постоянно много памяти - запустил с объемом 100 Мб (например), снял дамп, остановил бекап-сервер, запустил с памятью по умолчанию... sybdbaкстати, при вашем подходе вы получаете замедление работы в начале работы с базой. А индексы у вас сколько строятся после утренней заливки? - нет, не наблюдается особого замедления. Не совсем понятно что такое утренняя заливка. Но когдато заливал данные в базу из bcp файлов (при этом скрипт сначало удаляет индексы заливает таблицу а потом создаёт) - время на это около 5-10 минут уходит (опять таки - не берём таблицу CDR).[/quot] а как часто производится выливка/заливка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 12:14 |
|
||
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
Бэкап в bcp файлы делаются каждую ночь (за исклюением таблицы cdr). Таблциа CDR - каждую ночь скрипт вылаживает суточные данные в отдельные файлы. Всё остально (отчёты, настройки, экаунты клиентов, балансы, проводки) хранится и крутится в базе. Файлы CDR не бекапятся через bcp утилиту из-за размера большого и не обрабатываются в базе (за исключением процедуры генерирования отётов - каждый день снимаются промежуточные отчёты). Далее - если ктото раберает полёт какого-то звонка, счёта полугодиной давности например - лезет а этот текстовые файлы (есть ряд скриптов-утилит на bash которые работают с файлами и обрабатывают намного быстрее чем если бы это была база - селект данных за месяц может длится пару часов и при этом база тормозит). Заливка обратно в базу делается очень редко (разве что винт летит или перенос данных идёт либо какая то таблица слетела) Индексы есть - но что значит их перестраивать - разве это не делатся автоматически ? Выливка таблиц каждые сутки , заливка поти никогда (только в случае восстановления) Но щас другая фигня. Запустил я Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. После 5 минут гдето выдаёт мне: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Кто то может разшифровать ? что опять не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 12:40 |
|
||
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
Ошибочка dump tran Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 12:43 |
|
||
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
yurchelloОшибочка dump tran Код: plaintext кажется мне, что табличка/индекс того-c ... скоро накроется ;) вечером на ночь оставь работать этот скрипт на dbmain: dbcc traceon(3604) go dbcc checktable('таблица') go dbcc traceoff(3604) go ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 13:03 |
|
||
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
yurchelloИндексы есть - но что значит их перестраивать - разве это не делатся автоматически ? неа, не делается это прямая забота ДБА перестраивать надо через drop index / create index. как и обновление статистики имеет смысл на таблицах, в которых заливаются/удаляются данные (+ по ним строятся выборки) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 13:05 |
|
||
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
yurchelloселект данных за месяц может длится пару часов и при этом база тормозит если идет по большой таблице при старых неактуальных индексах + не дай бог сервер эти индексы еще и не использует, то получается простой table scan - чтение всей таблицы с диска... а сие есть очень трудо/времене-емкая процедура в итоге вы и получаете 2 часа ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 13:07 |
|
||
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
ВОбщем я понял что таблица cdr мне не простила токо что я ей сделал... вобщем сделал так 1. Создал новую таблицу cdr2, копию cdr 2. insert into cdr2 select * from cdr where datepart(month,start_time)>11 (при этом скопировалось 1770 строк вместо ожидаемых 600 000) 3. exec sp_rename cdr, cdr_old 4. exec sp_rename cdr2, cdr 5. Создал индексы на таблице CDR (обновлённая которая) Теперь столкнулся с такой проблемой - таблица моя старая cdr_old при попытке с ней чтото сделать (строки посчитать или dbcc checkallock (cdr_old)) отбрасывает с ошибкой и при этом сервер ложится.... Наверное отмена рекавери не есть хорошо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 17:14 |
|
||
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
yurchelloВОбщем я понял что таблица cdr мне не простила токо что я ей сделал... вобщем сделал так 1. Создал новую таблицу cdr2, копию cdr 2. insert into cdr2 select * from cdr where datepart(month,start_time)>11 (при этом скопировалось 1770 строк вместо ожидаемых 600 000) 3. exec sp_rename cdr, cdr_old 4. exec sp_rename cdr2, cdr 5. Создал индексы на таблице CDR (обновлённая которая) Теперь столкнулся с такой проблемой - таблица моя старая cdr_old при попытке с ней чтото сделать (строки посчитать или dbcc checkallock (cdr_old)) отбрасывает с ошибкой и при этом сервер ложится.... Наверное отмена рекавери не есть хорошо "отбрасывает с ошибкой и при этом сервер ложится...." -- что хоть за ошибка то? что в логе сервера ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 17:35 |
|
||
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. Кто то может разшифровать ? что опять не так?[/quot] Так это оно и есть. База у тебя поехала. Я ж говорю, нельзя просто так скипать RECOVERY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 18:48 |
|
||
|
Recovery процесс при старте Sybase SQL Server/11.0.3.3 длится вечно!
|
|||
|---|---|---|---|
|
#18+
Если есть структура базы и данные, выгруженные bcp, я бы рекомендовал дропнуть базу и ее девайсы, создать заново и залить данные. Бэкап 24Гб занимает около 40 минут на 11,9,2,6, Xeon1800, RAID5 на другой сервер в сети. Настройки бэкап-сервера по умолчанию. Все работает автоматом ночью. Затем автоматом идет восстановление на резервный сервер - весьма удобное решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 12:27 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=33430273&tid=2013192]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
83ms |
get tp. blocked users: |
2ms |
| others: | 226ms |
| total: | 405ms |

| 0 / 0 |
