powered by simpleCommunicator - 2.0.57     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Оптимизация производительности Sybase ASE 12.5.1
25 сообщений из 227, страница 7 из 10
Оптимизация производительности Sybase ASE 12.5.1
    #36527949
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad
Код: plaintext
1.
dbcc checkcatalog (orenburg)
select * from master..sysusages where dbid= 4 


Number (2550) Severity (16) State (1) Missing segment in sysusages segmap.
Number (2550) Severity (16) State (1) Missing segment in sysusages segmap.
Number (2550) Severity (16) State (1) Missing segment in sysusages segmap.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36528022
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр,

Код: plaintext
1.
2.
3.
4.
5.
exec sp_extendsegment 'default', orenburg, OrenDat1
exec sp_extendsegment system, orenburg, OrenDat1

exec sp_extendsegment 'default', orenburg, OrenDat2
exec sp_extendsegment system, orenburg, OrenDat2
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36528168
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komradВикторрр,

Код: plaintext
1.
2.
3.
4.
5.
exec sp_extendsegment 'default', orenburg, OrenDat1
exec sp_extendsegment system, orenburg, OrenDat1

exec sp_extendsegment 'default', orenburg, OrenDat2
exec sp_extendsegment system, orenburg, OrenDat2


ПОЛУЧИЛОСЬ!!!
Сегменты добавились на девайсы и более того два 'default' сегмента склеились в один. Теперь на девайсе один 'default' сегмент и один 'system' сегмент. Все стало совсем красиво.
Теперь, чтобы окончательно убедиться, что все нормально и это рабочий вариант, запускаю checkdatabase? Или нужно чем-то еще проверить?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36528196
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр
ПОЛУЧИЛОСЬ!!!
Сегменты добавились на девайсы и более того два 'default' сегмента склеились в один. Теперь на девайсе один 'default' сегмент и один 'system' сегмент. Все стало совсем красиво.
Теперь, чтобы окончательно убедиться, что все нормально и это рабочий вариант, запускаю checkdatabase? Или нужно чем-то еще проверить?

ага, запускай
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36528324
Немного оффтоп, но...
Почему топикстартер не думает о переходе на sybase 15? Ведь скоро выходит диас 7.2, там заявлена поддержка только ase 15 и mssql 2005 . 5нт 6.8 (или какая у вас там версия) жить осталось до сентября что ли, потом снятие с сопровождения... (по заявлениям диаса)
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36528393
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad,

На будущее... Все это произошло из-за того, что вместо нескольких не больших файлов данных и лога были созданы большой файл данных и большой файл лога, причем файл данных был на столько большой, что вместил в себя данные из всех старых файлов данных и еще и лог в себя поместил?
Допустим была база 10 Гб данные и 1 Гб лог, добавили еще 10 Гб под данные и 1 Гб под лог, потом еще 10 Гб под данные и 1 Гб под лог, итого 30+3 Гб из 6 файлов. Как теперь правильно объединить 3 файла данных по 10 Гб в один 30 Гб и 3 файла лога по 1 Гб в один 3 Гб? Полагаю проделанный сейчас фокус с переносом лог сегмента в отдельный файл и замещением высвободившегося места дефаулт сегментом не самый правильный способ?!? Или при добавлении девайсов в базу есть какой-то секрет?
Также остался открытым вопрос о размере самого файла девайса. Максимальный размер для 12.5 - 32 Гб, но как лучше в плане быстродействия СУБД, 1 файл 32 Гб или 4 файла по 8 Гб? У меня такой чувство, что лучше 4 по 8, т.к. файл 32 гб в фаре на нашем сервере копируется за 17 мин, а 15 Гб в тоже место - 3 мин, а не 7-8 мин , как следовало бы предположить исходя из первого примера.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36528442
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
почему не 15?Немного оффтоп, но...
Почему топикстартер не думает о переходе на sybase 15? Ведь скоро выходит диас 7.2, там заявлена поддержка только ase 15 и mssql 2005 . 5нт 6.8 (или какая у вас там версия) жить осталось до сентября что ли, потом снятие с сопровождения... (по заявлениям диаса)

Мы филиал, голова в Москве. А голове, как известно, всегда виднее как нам, да и ей, будет лучше. Т.к. вариант перехода на 15 даже не обсуждается, думаю, для нас просто продлят поддержку 6.8 и все. Максимум, на что мы можем перейти это 12.5.4, но для этого должны быть веские причины. Кроме кроссплатформенного дампа, есть еще явные плюсы и аргументы?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36528557
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Первая статистика по 3 самым читаемым таблицам, которые вчера добавил в именованные кеши:
За 3 суток работы (без именованных кешей):
физ. чтен физ. запис.
tDealTransact 0 818801 13175
tOperPart 0 794684 12058
tProtocol 0 631228 5117

За 12 часов работы сегодня (с именованными кешами):
tOperPart 0 1711869 2921
tProtocol 0 1211225 1643
tDealTransact 0 290197 2692

Субъективно, чувствуется общее замедление системы. Объективно, за полдня работы сегодня с кешами, чтений проведено больше, чем за 3 суток без кешей. Вчера в кеши, на всякий случай, добавил 16 К пулы, но вижу, что они не используются вообще. Их уберу. Почему вместо ускорения, получил замедление и массовое чтение? Может все же дело в cache replacement policy?

[Named Cache:default data cache]
cache size = 2375680.0K
cache status = default data cache
cache replacement policy = strict LRU replacement
local cache partition number = DEFAULT

[16K I/O Buffer Pool]
pool size = 10.0000M
wash size = DEFAULT
local async prefetch limit = DEFAULT

[Named Cache:tDealTransact]
cache size = 307200.0K
cache status = mixed cache
cache replacement policy = DEFAULT
local cache partition number = DEFAULT

[16K I/O Buffer Pool]
pool size = 51200.0000K
wash size = DEFAULT
local async prefetch limit = DEFAULT

[Named Cache:tempdb_cache]
cache size = 300M
cache status = mixed cache
cache replacement policy = strict LRU replacement
local cache partition number = DEFAULT

[16K I/O Buffer Pool]
pool size = 87040.0000K
wash size = 20480 K
local async prefetch limit = DEFAULT

[Named Cache:tOperPart]
cache size = 256000.0K
cache status = mixed cache
cache replacement policy = DEFAULT
local cache partition number = DEFAULT

[16K I/O Buffer Pool]
pool size = 16384.0000K
wash size = DEFAULT
local async prefetch limit = DEFAULT

[Named Cache:tProtocol]
cache size = 204800.0K
cache status = mixed cache
cache replacement policy = DEFAULT
local cache partition number = DEFAULT

[16K I/O Buffer Pool]
pool size = 51200.0000K
wash size = DEFAULT
local async prefetch limit = DEFAULT
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36528666
Викторррпочему не 15?Немного оффтоп, но...
Почему топикстартер не думает о переходе на sybase 15? Ведь скоро выходит диас 7.2, там заявлена поддержка только ase 15 и mssql 2005 . 5нт 6.8 (или какая у вас там версия) жить осталось до сентября что ли, потом снятие с сопровождения... (по заявлениям диаса)

Мы филиал, голова в Москве. А голове, как известно, всегда виднее как нам, да и ей, будет лучше. Т.к. вариант перехода на 15 даже не обсуждается, думаю, для нас просто продлят поддержку 6.8 и все. Максимум, на что мы можем перейти это 12.5.4, но для этого должны быть веские причины. Кроме кроссплатформенного дампа, есть еще явные плюсы и аргументы?
Сорри, с ase это не к нам, мы на mssql 2005 сидим, поэтому насчет ase ничего посоветовать не могу, просто диасофт 5нт заинтересовал. Так что технически - аргументов 0, по бизнесу аргумент один - 7.2 и поддержка, сопровождение и новый функционал, это решает. Впрочем это уже обсуждение для bankir.ru
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36528821
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр
Субъективно, чувствуется общее замедление системы. Объективно, за полдня работы сегодня с кешами, чтений проведено больше, чем за 3 суток без кешей. Вчера в кеши, на всякий случай, добавил 16 К пулы, но вижу, что они не используются вообще. Их уберу. Почему вместо ускорения, получил замедление и массовое чтение? Может все же дело в cache replacement policy?

большой пул может использоваться dbcc-операциями + при перестройке индексов

про субъективные ощущения и замедление - сисмон в помощь, запускайте раз в час на 10-15 минут в течение дня (весь вывод переправить в один файл!). Результат сюда - посмотрим вместе.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36529011
rmka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВикторррrmkaХотелось бы свести все основополагающие рекомендации вместе.
1. 10 дисков делим на 5 зеркал
2. 1-е зеркало - данные используемые для оперативных действий
2-е зеркало - лог транзакций
3-е зеркало - tempdb
4-е зеркало - индексы
5-е зеркало - данные используемые для отчётов
3. tempdb = 20-30% от размера БД
4. Именованный кэш для tempdb надо подбирать ~ 500М
5. Именованный кэш для для лога транзакций надо подбирать ~ 50М
6. Именованный кэш для для постоянно используемых нагруженных таблиц... не всегда помогает
7. Настройка пулов. если строница 2К, то для default кэш соотношение пулов 2к/16к примерно 1/3 (1/4) (подбирать по sysmon).
8. Настройка пулов. если строница 2К, то для tempdb кэш соотношение пулов 2к/16к примерно 1/2 (1/3) (подбирать по sysmon).
9. После этого смотрим запросы отчётов и всего остального, т.к. 80% тормозов это кривые запросы.

п. 1-2. А рейд 10 уровня не более эффективно использовать? Ведь он позволяет размазать данные по всем дискам и тем самым повысить количество iops?
п. 5. Этого еще не сделал, вопрос как? Ведь именованный кеш можно (в централе) связать с базой данных, таблицей и индексом. А с логом как?
п. 6. Вчера прописал, но уже вижу, что кеши пустые. Может быть дело в стратегии кеша? У меня везде strict LRU replacement. Какая стратегия должна быть на default cache, на temp db, на кэше для для лога транзакций и кеше для таблиц (ведь в нем данные должны накапливаться)???
п. 7-8. Т.е. 16 к пулы должны быть в 2-3 раза больше чем 2к???

>п. 1-2. А рейд 10 уровня не более эффективно использовать? Ведь он позволяет размазать данные по всем дискам и тем самым повысить количество iops?
Не эфективно. Есть опыт 5 рэйда, тормоза с БД на 100Гб в 2 раза больше чем на 3-х отдельных дисках. На рэйд размазывается всё вместе и лог транзакций и данные и темпдб и в случае рэйда паралелизм сильно страдает. К примеру при большом количестве запросов для связки таблиц используются индексы, и данные не нужны, а данные нужны только конечного результата. Теперь посмотрим как будет выполняться такой запрос с точки зрения использования дисковой подсистемы. Индексы считаются с зеркала индексов (паралельно 2X), темпдб запись темповых таблиц со скорость 1X, считывание 2X, далее запись в лог (нет записи если это селект, и 1X если апдейт), считывание данных с оперативного сегмента данных 2X, считывание данных с неоперативного сегментаданных 2X. Фактически паралельно делается почти всё, что рэйд никак не обеспечит, т.к. у него и данные и индексы и лог, частично лежать на одном и томже диске, это это уже самое узкое место.
2. Рэйд не безопасно, как бы его не хвалили. Отказывает контроллер рэйда. всё смерть на месте, рэйд уже не соберёшь ни при каких условиях, а если ещё хотябы и один из дисков...


3. п. 5. можно связать с логом. Немного погорячился с размером кэша для лога.

EXEC sp_cacheconfig bcsc_log, "7M", "logonly"
/*Чтобы зарезервировать кэш для обслуживания только журнала
транзакций, измените тип кэша на “logonly”. В следующем примере
создается кэш bcsc_log, имеющий тип “logonly”:*/
EXEC sp_poolconfig bcsc_log, "3M", "32K"

цитата и sybase
"Создайте именованный кэш для журналов часто используемых баз
данных. Сконфигурируйте пулы в этом кэше в соответствии с разме-
ром буфера ввода-вывода журнала, установленным процедурой
sp_logiosize."

3. Стратегию кэша в большинстве случаем оставляют по умолчанию.
> что кеши пустые
в sp_sysmon смотришь процент использования кэша, хороший результат больше 96-100%
4.
>16 к пулы должны быть в 2-3 раза больше чем 2к???
Да, но зависит от преобладающих запросов, в основном данные выбираются большими блоками, соотношение опять же смотриться по sp_sysmon.
5
>а размер лога для для рабочей базы
Размер лога зависит от длительности транзакций, их количестве и стратегии согдания бэкапа лога транзакций. В нагруженных базах с с требованием минимального времени простоя бэкап лога транзакций может делаться каждые 15 мин, следовательно иметь большой лог не целесообразно, однако надо смотреть на длительность транзакций и как быстро заполняется лог.
для темпдб лог не имеет большого смысла т.к. на то он и тэмп дб чтобы хранить темповую инфу, а важные опрерации логируются в основном логе.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36529061
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторррkomrad,

На будущее... Все это произошло из-за того, что вместо нескольких не больших файлов данных и лога были созданы большой файл данных и большой файл лога, причем файл данных был на столько большой, что вместил в себя данные из всех старых файлов данных и еще и лог в себя поместил?

нет, всё произошло из-за того, что пустую базу создали под размер исходной, но не такими же кусками, что и исходная
в артизане есть функция генерирования структуры базы (create datase скрипт)
чтобы сегменты ложились на правильные девайсы базу нужно создавать (пусть и на бОльших девайсах) кусками, которыми создавалась/расширялась исходная база
когда отправляете базу в Диасофт они обычно запрашивают и скрипт на её создание

Викторрр
Допустим была база 10 Гб данные и 1 Гб лог, добавили еще 10 Гб под данные и 1 Гб под лог, потом еще 10 Гб под данные и 1 Гб под лог, итого 30+3 Гб из 6 файлов. Как теперь правильно объединить 3 файла данных по 10 Гб в один 30 Гб и 3 файла лога по 1 Гб в один 3 Гб?


пример:
имеем один девайс D1 размером 30ГБ и один девайс L1 размером 3ГБ
тогда исходя из поставленной задачи правильный скрипт создания БД будет такой:
Код: plaintext
1.
2.
3.
create database DB2 on D1=10G log on L1=1G for load
alter database DB2 on D1=10G log on L1=1G for load
alter database DB2 on D1=10G log on L1=1G for load
база станет нужного размера и будет готова к заливке дампа


Викторрр
Полагаю проделанный сейчас фокус с переносом лог сегмента в отдельный файл и замещением высвободившегося места дефаулт сегментом не самый правильный способ?!? Или при добавлении девайсов в базу есть какой-то секрет?

самый правильный способ - изначально делать правильно
то что мы сделали - это не фокус, а использование стандартных механизмов ASE
при добавлении секретов нет, либо они описаны в документации


Викторрр
Также остался открытым вопрос о размере самого файла девайса. Максимальный размер для 12.5 - 32 Гб, но как лучше в плане быстродействия СУБД, 1 файл 32 Гб или 4 файла по 8 Гб? У меня такой чувство, что лучше 4 по 8, т.к. файл 32 гб в фаре на нашем сервере копируется за 17 мин, а 15 Гб в тоже место - 3 мин, а не 7-8 мин , как следовало бы предположить исходя из первого примера.
имхо, копирование тут ни причем; "мелкие" файлы проще раскидывать по дискам...
вопрос скорее в том, как виндовс управляется с большими файлами и фрагментированность их на диске
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36529080
rmka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Жаль что Винда стоит, можно было бы сделать виртуальный диск в памяти (15.5 уже умеет так делать) и положить на него темпдб, и тогда просто летать будет.
ещё можно SSD диски отдельно поставить и хранить на них сильно загруженные на селекты таблицы.
ещё можно разбивать таблицы на партишены и хранить их на разных дисках для паралельного чтения.
Но, всёравно считаю, что большинство тормозов из-за неадекватных запросов, неграмотного использования индексов и триггеров.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36529325
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще про именованные кеши. Если к таблице привязан именованный кеш, то она хранится только в нем, и в дефолтный кеш она уже не попадет при заполнении именного? Или нет? Если создать очень маленький именной кеш для таблицы (512 кб например), то в плане производительности, стат хуже (т.к. дефолтный кеш уже не используется) или это никак не повлияет на производительность (т.к. при заполнеии именного кеша начинает использоваться дефолтный)???
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36529493
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Викторрр,

на то он и именнованный, чтоб в нем хранились только те обьекты которые к ниму прибиндены!
Все что не прибинденно к другим кэшам храниться в дефолтном кэше!
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36530024
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cherrex_DenВикторрр,

на то он и именнованный, чтоб в нем хранились только те обьекты которые к ниму прибиндены!
Все что не прибинденно к другим кэшам храниться в дефолтном кэше!

Это понятно. Вопрос как раз наоборот, когда заполнился именованный кеш данными из привязанной к нему таблице и нужно еще памяти, дальше для хранения данных этой таблицы будет использоваться дефолтный кеш на общих условиях или нет и начнутся тормоза?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36530034
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Викторрр,

НЕТ!!! если обьект прибинден к кэшу, то его данные(страницы), живут только в этом кэше, и дефолтный здесь не причем. Тормазов не будет, просто более старые страницы(зависит от стратегии кэша) вытеснуться из кэша, а вот если эти страницы понадобяться еше раз, то сервер их прочитает с диска, естественно это медленее чем из памяти.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36530219
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad,

Собрал выжимки последних 3х страниц в одно письмо. Ночью на резервном сервере дамп опять залился и все приведенное попробовал еще раз. Делал все только командами, без Sybase Centala и после удаления лог сегмента командами used_pages в logsegment не стал отрицательным!!! И все дальнейшие шаги по починке лог я уже не делал!

exec sp_helpsegment logsegment
total_size total_pages free_pages used_pages reserved_pages
8000.0MB 4096000 3161999 934001 0

Идейным вдохновителем ниже приведенной технологии является уважаемый komrad, за что ему огромное спасибо. Опробовано на себе.

Разделение перепутанных сегментов по девайсам с данными и логом

1. Выявляем проблему (база orenburg)
use orenburg
go
sp_helpdb orenburg
go

OrenDat1 default
OrenDat1 logsegment
OrenDat1 system
OrenDat2 default
OrenDat2 logsegment
OrenDat2 system

OrenLog1 default
OrenLog1 system

На девайсах с данными OrenDat1, OrenDat2 помимо default и system сегментов находится logsegment, а на девайсах с логами OrenLog1 вместо logsegment находятся сегменты default и system.

2. Создаем новый девайс OrenLog3 на диске, который предназначен для лога с необходимым размером.

USE master
go
DISK INIT
NAME='OrenLog3',
PHYSNAME='w:\OrenLog3.dat',
VDEVNO=21,
SIZE='8000M',
VSTART=0,
CNTRLTYPE=0,
DSYNC=FALSE
go

3. Добавить его в базу и расположить на нем только лог

USE master
go
ALTER DATABASE orenburg
ON OrenLog3='8000M'
WITH OVERRIDE
Go

4. Переводим базу в режим 'dbo use only'

USE master
go
EXEC sp_dboption 'orenburg','dbo use only',true
go
USE orenburg
go
CHECKPOINT
go

5. Удалить лог-сегмент с девайсов OrenDat1 и OrenDat2

use orenburg
go
exec sp_dropsegment logsegment, orenburg, OrenDat1
go
exec sp_dropsegment logsegment, orenburg, OrenDat2
go

6. Проверяем результат

use orenburg
go
sp_helpdb orenburg
go

OrenDat1 -- unused by any segments --
OrenDat1 default
OrenDat1 system
OrenDat2 -- unused by any segments --
OrenDat2 default
OrenDat2 system

OrenLog1 default
OrenLog1 system
OrenLog3 logsegment

Смотрим на состояние сегментов БД:

use orenburg
go
exec sp_helpsegment logsegment
exec sp_helpsegment system
exec sp_helpsegment 'default'
go

В случае если used_pages в logsegment показывается отрицательным, выполняем:

a. Переводим базу в ‘single user mode’
USE master
go
EXEC sp_dboption 'orenburg','single user',true
go
USE orenburg
go
CHECKPOINT
go
b. Выполняем dbcc tablealloc(syslogs,full,fix)
use orenburg
go
dbcc tablealloc(syslogs,full,fix)
go
c. Проверяем результат, смотрим used_pages в
exec sp_helpsegment logsegment
d. Переводим базу в многопользовательский режим
USE master
go
EXEC sp_dboption 'orenburg','single user',false
go
USE orenburg
go
CHECKPOINT
go

7. Расширяем 'default' и system сегмент на девайсах OrenDat1 и OrenDat2

use orenburg
go

exec sp_extendsegment 'default', orenburg, OrenDat1
exec sp_extendsegment system, orenburg, OrenDat1

exec sp_extendsegment 'default', orenburg, OrenDat2
exec sp_extendsegment system, orenburg, OrenDat2

8. Проверяем результат

use orenburg
go
sp_helpdb orenburg
go

OrenDat1 default
OrenDat1 system
OrenDat2 default
OrenDat2 system

OrenLog3 logsegment

9. Перенести девайс OrenLog1 на диск с девайсами под данные (шатдаун сервера, старт в режиме recover only master, правка таблицы sysdevices - имя диска для OrenLog1, останов сервера, перенос девайса на новый диск, старт сервера в нормальном режиме). Кстати, тут же можно поменять название файла и девайса - чтоб глаз не мозолило.

10. Переводим базу в рабочий режим

USE master
go
EXEC sp_dboption 'orenburg','dbo use only',false
go
USE orenburg
go
CHECKPOINT
go

11. Запускаем процедуру проверки целостности БД

USE orenburg
go
DBCC CHECKDB('orenburg')
go

Таким образом освободится место на OrenDat1 и OrenDat2 под данные и логи будут на своем собственном диске и девайсе.
-------------------

Что скажет многоуважаемое сообщество, может еще что-то нужно добавить?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36530247
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр

3. Добавить его в базу и расположить на нем только лог

USE master
go
ALTER DATABASE orenburg
ON OrenLog3='8000M'
WITH OVERRIDE
Go


Что скажет многоуважаемое сообщество, может еще что-то нужно добавить?

with override расположит на новом девайсе все сегменты
чтобы положить туда только logsegment команда должна выглядеть так:
Код: plaintext
1.
2.
3.
4.
5.
USE master
go
ALTER DATABASE orenburg
   LOG ON OrenLog3='8000M'
Go
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36530682
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad
про субъективные ощущения и замедление - сисмон в помощь, запускайте раз в час на 10-15 минут в течение дня (весь вывод переправить в один файл!). Результат сюда - посмотрим вместе.

Викторрр,
сисмон собрал? присылай - прогоню его через анализатор.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36530867
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Викторрр

Ночью на резервном сервере дамп опять залился и все приведенное попробовал еще раз. Делал все только командами, без Sybase Centala и после удаления лог сегмента командами used_pages в logsegment не стал отрицательным!!! И все дальнейшие шаги по починке лог я уже не делал!

exec sp_helpsegment logsegment
total_size total_pages free_pages used_pages reserved_pages
8000.0MB 4096000 3161999 934001 0


На всякий случай все же запустил dbcc tablealloc(syslogs,full,fix), он отработал и выдал
Syslogs free space count has been successfully recalculated. It has been corrected to 4079999 pages.
вместо 3161999. Похоже dbcc tablealloc(syslogs,full,fix) нужно выполнить в любом случае. Если ее выполнить на нормальной базе, хуже ей от этого не станет?

***************************************************************
TABLE: syslogs OBJID = 8
INDID=0 FIRST=89600182 ROOT=89600182 SORT=0
Syslogs free space count has been successfully recalculated. It has been corrected to 4079999 pages.
Data level: 0. 1 Data pages allocated and 1 Extents allocated.
TOTAL # of extents = 1
Alloc page 89600000 (# of extent=1 used pages=2 ref pages=1)
Total (# of extent=1 used pages=2 ref pages=1) in this database
DBCC execution completed. If DBCC printed error messages, contact a user with System Administrator (SA) role.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36530881
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komradkomrad
про субъективные ощущения и замедление - сисмон в помощь, запускайте раз в час на 10-15 минут в течение дня (весь вывод переправить в один файл!). Результат сюда - посмотрим вместе.

Викторрр,
сисмон собрал? присылай - прогоню его через анализатор.

В понедельник, т.к. сейчас тормозит из-за больших именных кешей. Я завтра выйду, перенастрою кеши, разделю сегменты по девайсам и настрою дампирование транзакционного лога. В понедельник тогда соберу статистику и пришлю.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36531134
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр

На всякий случай все же запустил dbcc tablealloc(syslogs,full,fix), он отработал и выдал
Syslogs free space count has been successfully recalculated. It has been corrected to 4079999 pages.
вместо 3161999. Похоже dbcc tablealloc(syslogs,full,fix) нужно выполнить в любом случае. Если ее выполнить на нормальной базе, хуже ей от этого не станет?


ну он их просто пересчитал заново
имхо, проблем нет
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36531140
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторррkomradkomrad
про субъективные ощущения и замедление - сисмон в помощь, запускайте раз в час на 10-15 минут в течение дня (весь вывод переправить в один файл!). Результат сюда - посмотрим вместе.

Викторрр,
сисмон собрал? присылай - прогоню его через анализатор.

В понедельник, т.к. сейчас тормозит из-за больших именных кешей. Я завтра выйду, перенастрою кеши, разделю сегменты по девайсам и настрою дампирование транзакционного лога. В понедельник тогда соберу статистику и пришлю.

ок
рано начал с кэшами возиться
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36532226
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komradВикторрр

На всякий случай все же запустил dbcc tablealloc(syslogs,full,fix), он отработал и выдал
Syslogs free space count has been successfully recalculated. It has been corrected to 4079999 pages.
вместо 3161999. Похоже dbcc tablealloc(syslogs,full,fix) нужно выполнить в любом случае. Если ее выполнить на нормальной базе, хуже ей от этого не станет?


ну он их просто пересчитал заново
имхо, проблем нет

Сделал все скриптами на основном сервере, но used_pages отрицательный. Пересчитал с помощью dbcc tablealloc(syslogs,full,fix). Вроде все стало нормально.
...
Рейтинг: 0 / 0
25 сообщений из 227, страница 7 из 10
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Оптимизация производительности Sybase ASE 12.5.1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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