powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Распределение Data & Log на Devices. ASE 12.5
25 сообщений из 36, страница 1 из 2
Распределение Data & Log на Devices. ASE 12.5
    #35682940
_makSim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется "каша" в распределении Data & Log на устройствах БД.
Причины понятны: по-разному созданы БД затем перенесен dump с одной на другую.
Способы устранения трудоёмки: создание объектов + перенос данных.

Вопрос: Как сказывается такая проблема на производительности БД?
Спасибо!
...
Рейтинг: 0 / 0
Распределение Data & Log на Devices. ASE 12.5
    #35683016
SAV4SAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_makSimИмеется "каша" в распределении Data & Log на устройствах БД.
Причины понятны: по-разному созданы БД затем перенесен dump с одной на другую.
Способы устранения трудоёмки: создание объектов + перенос данных.

Вопрос: Как сказывается такая проблема на производительности БД?
Спасибо!

Не трудоемко -
1) выгрузить дамп
2) создать базу с правильным чередованием сегментов данных и лога
3) загрузить дамп

Код: plaintext
1.
2.
select db_name(dbid), size/ 512  as "Size Mb 2k page",   -- если страница 2к
vstart/power( 2 , 24 )& 255  as "Device #",  * from sysusages
segmap = 3 - дата, segmap = 4 - лог, segmap = 7 - смешано

В теории, сказывается не хорошо. Кроме этого - снижается надежность
...
Рейтинг: 0 / 0
Распределение Data & Log на Devices. ASE 12.5
    #35686145
_makSim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Рассматривается вариант, когда есть БД с такой "кашей" и её нужно пересоздать с правильным размещением Data & Log. Т.е. мне не понятно как выполнить пункт:
2) создать базу с правильным чередованием сегментов данных и лога

Об этом подробнее, пожалуйста. Приведенный запрос мне не помог.
...
Рейтинг: 0 / 0
Распределение Data & Log на Devices. ASE 12.5
    #35686264
SAV4SAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_makSimРассматривается вариант, когда есть БД с такой "кашей" и её нужно пересоздать с правильным размещением Data & Log. Т.е. мне не понятно как выполнить пункт:
2) создать базу с правильным чередованием сегментов данных и лога

Об этом подробнее, пожалуйста. Приведенный запрос мне не помог.

Имелось в виду, что исходная база у Вас тоже есть...
Да, а результат селекта можно увидеть ?
...
Рейтинг: 0 / 0
Распределение Data & Log на Devices. ASE 12.5
    #35686307
_makSim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
---------------------------------------------------------------------------------------------------------------
DB     |Size Mb 2k page|Device #|dbid|segmap|lstart|size  |vstart   |pad|unreservedpgs|crdate                 |
---------------------------------------------------------------------------------------------------------------
TEST_DB|100            |36      |20  |3     |0     |51200 |603979776|   |8033         |05.29.2007 12:01:48:310|
TEST_DB|30             |36      |20  |4     |51200 |15360 |604030976|   |15300        |05.29.2007 12:01:48:310|
TEST_DB|470            |36      |20  |3     |66560 |240640|604046336|   |193972       |05.29.2007 12:01:48:310|
TEST_DB|30             |37      |20  |3     |307200|15360 |620756992|   |15300        |05.29.2007 12:01:48:310|
TEST_DB|170            |37      |20  |4     |322560|87040 |620772352|   |86700        |05.29.2007 12:01:48:310|
...
Рейтинг: 0 / 0
Распределение Data & Log на Devices. ASE 12.5
    #35686314
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_makSim,

пролейте на сервер процедуру из файла и запустите её потом

запускать так:

Код: plaintext
exec sp_get_db_scheme 'имя_вашей_базы',  1 

процедура выдаст вам скрипт для вашей БД (на основе sysusages)
останется забекапить БД , пересоздать её с помощью полученного скрипта и снова залить БД обратно

только сначала покажите результат выполнения процедуры

PS у меня она корректно работает - проверял, но может на эзотических базах и подглюкивать...
...
Рейтинг: 0 / 0
Распределение Data & Log на Devices. ASE 12.5
    #35686315
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
процедура приаттачена
...
Рейтинг: 0 / 0
Распределение Data & Log на Devices. ASE 12.5
    #35686422
_makSim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проц-ра возвращает:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
create database TEST_DB on TESTDB_D='100M'
log on TESTDB_D='30M'  for load
go
alter database TEST_DB on TESTDB_D='470M'  for load
alter database TEST_DB on TESTDB_L='30M'
log on TESTDB_L='170M'  for load
go

Для выполнения требует with override
...
Рейтинг: 0 / 0
Распределение Data & Log на Devices. ASE 12.5
    #35686436
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_makSimПроц-ра возвращает:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
create database TEST_DB on TESTDB_D='100M'
log on TESTDB_D='30M'  for load
go
alter database TEST_DB on TESTDB_D='470M'  for load
alter database TEST_DB on TESTDB_L='30M'
log on TESTDB_L='170M'  for load
go

Для выполнения требует with override


ну смотри: логов должно быть 200 Мб, данных - 600 Мб
я бы сделал так:
1) создал девайс testdb_data на 600Мб
2) создал девайс testdb_log на 200Мб
3) создал базу таким скриптом:
Код: plaintext
1.
2.
3.
4.
5.
create database testdb on testdb_data= 100  log on testdb_log= 30  for load 
go
alter database testdb on testdb_data= 470  for load
go
alter database testdb on testdb_data= 30  log on testdb_log= 170  for load 
go
4) залил бекап базы
5) проверил расположение сегментов скриптом:
Код: plaintext
1.
2.
3.
4.
use testdb
go
sp_helpdb testdb
go


_makSimДля выполнения требует with override
это потому, что у вас лог и данные расположены в пределах одного сегмента - как на TESTDB_D, так и на TESTDB_L
...
Рейтинг: 0 / 0
Распределение Data & Log на Devices. ASE 12.5
    #35686465
_makSim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad
ну смотри: логов должно быть 200 Мб, данных - 600 Мб
я бы сделал так:
1) создал девайс testdb_data на 600Мб
2) создал девайс testdb_log на 200Мб
3) создал базу таким скриптом:
Код: plaintext
1.
2.
3.
4.
5.
create database testdb on testdb_data= 100  log on testdb_log= 30  for load 
go
alter database testdb on testdb_data= 470  for load
go
alter database testdb on testdb_data= 30  log on testdb_log= 170  for load 
go
4) залил бекап базы
5) проверил расположение сегментов скриптом:
Код: plaintext
1.
2.
3.
4.
use testdb
go
sp_helpdb testdb
go


Вот теперь всё ОК! Спасибо!
Может кто-то ещё добавит относительно того, насколько это "нехорошо"?
...
Рейтинг: 0 / 0
Распределение Data & Log на Devices. ASE 12.5
    #35687024
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_makSim

Вот теперь всё ОК! Спасибо!
Может кто-то ещё добавит относительно того, насколько это "нехорошо"?


насколько это нехорошо расскажет документация:
тынц частный
тынц общий

вкратце:
из-за смешения сегментов данных, лога и, потенциально, специальных пользовательских сегментов (например для балансировки нагрузки по большим объектам) сильно/катастрофически снижается быстродействие сервера СУБД, отключается буферизация кэша пользовательского лога (user log cache buffering is disabled), и др.

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.dc33621_33620_33619_1250/html/ptallbk/ptallbk118.htm]симптомы, говорящие о неоптимальности в размещении объектов [в базе, сегментах, девайсах]
...
Рейтинг: 0 / 0
Распределение Data & Log на Devices. ASE 12.5
    #35691042
Владислав Ромащенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad_makSimПроц-ра возвращает:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
create database TEST_DB on TESTDB_D='100M'
log on TESTDB_D='30M'  for load
go
alter database TEST_DB on TESTDB_D='470M'  for load
alter database TEST_DB on TESTDB_L='30M'
log on TESTDB_L='170M'  for load
go

Для выполнения требует with override


ну смотри: логов должно быть 200 Мб, данных - 600 Мб
я бы сделал так:
1) создал девайс testdb_data на 600Мб
2) создал девайс testdb_log на 200Мб
3) создал базу таким скриптом:
Код: plaintext
1.
2.
3.
4.
5.
create database testdb on testdb_data= 100  log on testdb_log= 30  for load 
go
alter database testdb on testdb_data= 470  for load
go
alter database testdb on testdb_data= 30  log on testdb_log= 170  for load 
go
4) залил бекап базы
5) проверил расположение сегментов скриптом:
Код: plaintext
1.
2.
3.
4.
use testdb
go
sp_helpdb testdb
go


_makSimДля выполнения требует with override
это потому, что у вас лог и данные расположены в пределах одного сегмента - как на TESTDB_D, так и на TESTDB_L

можно и я влезу? имею аналогичную проблему - у клиента смешан data и log. Устанавливаю дамп клиента в базу с device BKT_data = 1800M и BKT_log = 500M. Вот что вернула процедура

create database BKT on BKT_Data='50M'
log on BKT_Data='30M' for load
go
alter database BKT on BKT_Data='620M' for load
alter database BKT on BKT_Data='500M' for load
alter database BKT on BKT_Data='300M'
log on BKT_Data='300M' for load
go
alter database BKT on BKT_Log='500M' for load
go

получается, что суммарные размеры девайсов должны быть другими? Data = 50+620+500+300+500 а log = 30 + 300 ? Не совсем врубился в логику распределения девайсов даты и лога при пересоздании базы.
...
Рейтинг: 0 / 0
Распределение Data & Log на Devices. ASE 12.5
    #35691061
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
/me думает: м.б. сдесь доступнее...
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Распределение Data & Log на Devices. ASE 12.5
    #35691114
Владислав Ромащенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ex_Soft
/me думает: м.б. сдесь доступнее...
_________________
"Helo, word!" - 17 errors 56 warnings


посмотрел. но я наверное туповатый, поэтому задам еще вопрос - в базе, где дата и лог смешались, существуют segmap = 7 - их то как интерпретировать :(
...
Рейтинг: 0 / 0
Распределение Data & Log на Devices. ASE 12.5
    #35691129
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Ромащенко

можно и я влезу? имею аналогичную проблему - у клиента смешан data и log. Устанавливаю дамп клиента в базу с device BKT_data = 1800M и BKT_log = 500M. Вот что вернула процедура

create database BKT on BKT_Data='50M'
log on BKT_Data='30M' for load
go
alter database BKT on BKT_Data='620M' for load
alter database BKT on BKT_Data='500M' for load
alter database BKT on BKT_Data='300M'
log on BKT_Data='300M' for load
go
alter database BKT on BKT_Log='500M' for load
go

получается, что суммарные размеры девайсов должны быть другими? Data = 50+620+500+300+500 а log = 30 + 300 ? Не совсем врубился в логику распределения девайсов даты и лога при пересоздании базы.

давай посчитаем :

create database BKT on BKT_Data='50M' -- дата
log on BKT_Data='30M' for load -- лог
alter database BKT on BKT_Data='620M' for load -- дата alter database BKT on BKT_Data='500M' for load -- дата
alter database BKT on BKT_Data='300M' -- дата
log on BKT_Data='300M' for load -- лог
go
alter database BKT on BKT_Log='500M' for load -- дата

итого: дата - 50+620+500+300+500 = 1970М , лог - 30+300 = 330M
Судя по скрипту, данные должны быть на BKT_Data (размер больше или равен 1970M), лог - на BKT_Log(размер больше или равен 330M)
Пересоздай девайсы с нужными размерами, создай бд вот этим скриптом и заливай дамп.
Всё должно быть ок.

поправленный скрипт
create database BKT on BKT_Data='50M'
log on BKT_Log='30M' for load
go
alter database BKT on BKT_Data='620M' for load
alter database BKT on BKT_Data='500M' for load
alter database BKT on BKT_Data='300M'
log on BKT_Log='300M' for load
go
alter database BKT on BKT_Data='500M' for load
go
...
Рейтинг: 0 / 0
Распределение Data & Log на Devices. ASE 12.5
    #35691167
Владислав Ромащенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad,

К сожалению, у меня так не получилось. опять есть смешанные области.
это результат работы процедуры над созданной скриптом выше БД
create database BKT on BKT_Data='50M'
log on BKT_Log='30M' for load
go
alter database BKT on BKT_Data='620M' for load
alter database BKT on BKT_Data='500M' for load
alter database BKT on BKT_Data='300M'
log on BKT_Log='300M' for load
go
alter database BKT on BKT_Data='500M' for load
go

но segmap = 7 все равно остались
...
Рейтинг: 0 / 0
Распределение Data & Log на Devices. ASE 12.5
    #35691229
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Ромащенко
но segmap = 7 все равно остались

покажи, плз, результат модифицированного скрипта SAV4SAV

Код: plaintext
1.
2.
select db_name(dbid), (size/ 1024 )*@@maxpagesize/ 1024  as "Size Mb 2k page",   -- если страница 2к
vstart/power( 2 , 24 )& 255  as "Device #",  *
 from master..sysusages
...
Рейтинг: 0 / 0
Распределение Data & Log на Devices. ASE 12.5
    #35691247
Владислав Ромащенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad,

BKT 12 37 15 3 0 6400 620756992 NULL 0 Dec 3 2008 2:58PM
BKT 7 38 15 4 6400 3840 637534208 NULL 3825 Dec 3 2008 2:58PM
BKT 155 37 15 3 10240 79360 620782592 NULL 74986 Dec 3 2008 2:58PM
BKT 125 37 15 7 89600 64000 621100032 NULL 63742 Dec 3 2008 2:58PM
BKT 75 37 15 3 153600 38400 621356032 NULL 38250 Dec 3 2008 2:58PM
BKT 75 38 15 4 192000 38400 637549568 NULL 38250 Dec 3 2008 2:58PM
BKT 125 37 15 7 230400 64000 621509632 NULL 63750 Dec 3 2008 2:58PM
...
Рейтинг: 0 / 0
Распределение Data & Log на Devices. ASE 12.5
    #35691261
Владислав Ромащенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad,

Если есть время и желание - могу дамп прислать исходный клиентский, 11м архив
...
Рейтинг: 0 / 0
Распределение Data & Log на Devices. ASE 12.5
    #35691312
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Ромащенкоkomrad,

Если есть время и желание - могу дамп прислать исходный клиентский, 11м архив
ок, присылай
у тебя 8к сервер?

но только мне кажется, что проблема в том, что база изначально создавалась с совмещением сегментов в пределах девайса ...
моя процедура рассчитана на случай, когда изначально база создавалась с распределением сегментов по девайсам, а потом перенесена на другие девайсы без соблюдения распределения и помогает в данном случае получить исходный скрипт
...
Рейтинг: 0 / 0
Распределение Data & Log на Devices. ASE 12.5
    #35691319
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ вопрос:
покажи
Код: plaintext
select @@version


дамп кидать на мыло в профиле
...
Рейтинг: 0 / 0
Распределение Data & Log на Devices. ASE 12.5
    #35691321
Владислав Ромащенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad,

да, сервер 8К, пришли e-mail roma@alsy.by
...
Рейтинг: 0 / 0
Распределение Data & Log на Devices. ASE 12.5
    #35691334
Владислав Ромащенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Adaptive Server Enterprise/12.5.4/EBF 14656 ESD#6/P/NT (IX86)/OS 4.0/ase1254/2079/32-bit/OPT/Wed Jul 11 02:49:09 2007

почту увидел :)
...
Рейтинг: 0 / 0
Распределение Data & Log на Devices. ASE 12.5
    #35691354
Владислав Ромащенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad,

стоит default character set id = 53
default sortorder id = 59
...
Рейтинг: 0 / 0
Распределение Data & Log на Devices. ASE 12.5
    #35691368
Владислав Ромащенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komradВладислав Ромащенкоkomrad,

Если есть время и желание - могу дамп прислать исходный клиентский, 11м архив
ок, присылай
у тебя 8к сервер?

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

да, проблема в этом, у клиента смешались дата и лог, из-за этого соответственно проблемы с производительностью. хотелось бы упорядочить. Не хотелось бы заниматься в воскресенье перезаливкой данных :(
...
Рейтинг: 0 / 0
25 сообщений из 36, страница 1 из 2
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Распределение Data & Log на Devices. ASE 12.5
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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