Администрирование баз данных (Pervasive.SQL, MS SQL, Oracle, утилита Support)
Модераторы: m0p3e , edward_K , Модераторы
WiRuc
Местный житель
Сообщения: 414 Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж
Сообщение
WiRuc » 09 янв 2007, 19:03
Выполните в QA вот такой скрипт:
Код: Выделить всё
DBCC UPDATEUSAGE (0) WITH COUNT_ROWS,NO_INFOMSGS
go
DECLARE @pagesizeKB int
SELECT @pagesizeKB = low / 1024 FROM master.dbo.spt_values
WHERE number = 1 AND type = 'E'
SELECT
table_name = OBJECT_NAME(o.id),
rows = i1.rowcnt,
reservedKB = (ISNULL(SUM(i1.reserved), 0) + ISNULL(SUM(i2.reserved), 0)) * @pagesizeKB,
dataKB = (ISNULL(SUM(i1.dpages), 0) + ISNULL(SUM(i2.used), 0)) * @pagesizeKB,
index_sizeKB = ((ISNULL(SUM(i1.used), 0) + ISNULL(SUM(i2.used), 0))
- (ISNULL(SUM(i1.dpages), 0) + ISNULL(SUM(i2.used), 0))) * @pagesizeKB,
unusedKB = ((ISNULL(SUM(i1.reserved), 0) + ISNULL(SUM(i2.reserved), 0))
- (ISNULL(SUM(i1.used), 0) + ISNULL(SUM(i2.used), 0))) * @pagesizeKB
FROM sysobjects o
LEFT OUTER JOIN sysindexes i1 ON i1.id = o.id AND i1.indid < 2
LEFT OUTER JOIN sysindexes i2 ON i2.id = o.id AND i2.indid = 255
WHERE OBJECTPROPERTY(o.id, N'IsUserTable') = 1
OR (OBJECTPROPERTY(o.id, N'IsView') = 1 AND OBJECTPROPERTY(o.id, N'IsIndexed') = 1)
GROUP BY o.id, i1.rowcnt
ORDER BY 3 DESC
go
Приведите результаты для самых больших таблиц.
Можете также с помощью этого скрипта промониторить, как у вас растут таблицы.
evchic
Местный житель
Сообщения: 216 Зарегистрирован: 25 апр 2006, 12:05
Откуда: г.Ростов-на-Дону
Контактная информация:
Сообщение
evchic » 09 янв 2007, 19:49
igornov писал(а): и каков его размер при размере базы как я понял уже 147GB?
Файл DATA примерно 83Г
а INDEX 23Г
примерно
thor
Местный житель
Сообщения: 289 Зарегистрирован: 29 мар 2005, 17:49
Откуда: Saint-Petersburg
Контактная информация:
Сообщение
thor » 09 янв 2007, 19:50
А журнализация-то Галактическая включена?
Если да, то какие настройки и сколько записей в x$Journal лежит?
evchic
Местный житель
Сообщения: 216 Зарегистрирован: 25 апр 2006, 12:05
Откуда: г.Ростов-на-Дону
Контактная информация:
Сообщение
evchic » 09 янв 2007, 19:55
thor писал(а): А журнализация-то Галактическая включена?
Если да, то какие настройки и сколько записей в x$Journal лежит?
Журнализация отключена вообще
evchic
Местный житель
Сообщения: 216 Зарегистрирован: 25 апр 2006, 12:05
Откуда: г.Ростов-на-Дону
Контактная информация:
Сообщение
evchic » 09 янв 2007, 20:08
WiRuc писал(а): Выполните в QA вот такой скрипт:
Приведите результаты для самых больших таблиц.
Можете также с помощью этого скрипта промониторить, как у вас растут таблицы.
Выдает ошибку
Код: Выделить всё
Server: Msg 701, Level 17, State 1, Line 6
There is insufficient system memory to run this query.
Server: Msg 701, Level 17, State 1, Line 6
There is insufficient system memory to run this query.
WiRuc
Местный житель
Сообщения: 414 Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж
Сообщение
WiRuc » 09 янв 2007, 20:13
На каком этапе? На выполнении DBCC или на выполнении Select?
Сколько у вас памяти на серваке, стоит ли SP4 на MSSQL, делались ли какие-нибудь манипуляции в настройках MSSQL по поводу памяти?
Можете еще увеличить размер файла подкачки, но тормоза....
evchic
Местный житель
Сообщения: 216 Зарегистрирован: 25 апр 2006, 12:05
Откуда: г.Ростов-на-Дону
Контактная информация:
Сообщение
evchic » 09 янв 2007, 20:15
Этап неизвестен
SP4 стоит
настройки для памяти не трогали
1Гб-оперативки
WiRuc
Местный житель
Сообщения: 414 Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж
Сообщение
WiRuc » 10 янв 2007, 11:42
evchic писал(а): Этап неизвестен
Ну так запустите сначала
Код: Выделить всё
DBCC UPDATEUSAGE (0) WITH COUNT_ROWS,NO_INFOMSGS
go
а затем
Код: Выделить всё
DECLARE @pagesizeKB int
SELECT @pagesizeKB = low / 1024 FROM master.dbo.spt_values
WHERE number = 1 AND type = 'E'
SELECT
table_name = OBJECT_NAME(o.id),
rows = i1.rowcnt,
reservedKB = (ISNULL(SUM(i1.reserved), 0) + ISNULL(SUM(i2.reserved), 0)) * @pagesizeKB,
dataKB = (ISNULL(SUM(i1.dpages), 0) + ISNULL(SUM(i2.used), 0)) * @pagesizeKB,
index_sizeKB = ((ISNULL(SUM(i1.used), 0) + ISNULL(SUM(i2.used), 0))
- (ISNULL(SUM(i1.dpages), 0) + ISNULL(SUM(i2.used), 0))) * @pagesizeKB,
unusedKB = ((ISNULL(SUM(i1.reserved), 0) + ISNULL(SUM(i2.reserved), 0))
- (ISNULL(SUM(i1.used), 0) + ISNULL(SUM(i2.used), 0))) * @pagesizeKB
FROM sysobjects o
LEFT OUTER JOIN sysindexes i1 ON i1.id = o.id AND i1.indid < 2
LEFT OUTER JOIN sysindexes i2 ON i2.id = o.id AND i2.indid = 255
WHERE OBJECTPROPERTY(o.id, N'IsUserTable') = 1
OR (OBJECTPROPERTY(o.id, N'IsView') = 1 AND OBJECTPROPERTY(o.id, N'IsIndexed') = 1)
GROUP BY o.id, i1.rowcnt
ORDER BY 3 DESC
go
evchic
Местный житель
Сообщения: 216 Зарегистрирован: 25 апр 2006, 12:05
Откуда: г.Ростов-на-Дону
Контактная информация:
Сообщение
evchic » 11 янв 2007, 13:49
С чем может быть связан такой сильный рост БД?
evchic
Местный житель
Сообщения: 216 Зарегистрирован: 25 апр 2006, 12:05
Откуда: г.Ростов-на-Дону
Контактная информация:
Сообщение
evchic » 11 янв 2007, 16:17
вот часть таблиц
Код: Выделить всё
Data INDEX
X$JOURNAL 651747 2307470 42866208 148752 20059744
T$SPALLCON 1914488 1326962 41865072 474144 10930408
T$OBOROT 1844028 6337176 1057024 3203224 2076928
T$SPORDER 2237357 6131712 951536 2900184 2279992
T$SPSOPR 1693126 4405672 1187592 1752864 1465216
J$3501 329023 4067136 573208 7320 3486608
T$SPDOCNAL 1384010 3862912 621976 444728 2796208
CONTOUREVENTS 885130 3845264 540416 106152 3198696
T$SALDOMC 2443920 3608184 798056 784048 2026080
T$PEREVOD 2044340 3385224 952608 829288 1603328
T$SOPRHOZ 1054420 3155736 508736 1027736 1619264
J$1101 140655 2839872 356136 3168 2480568
T$TEMPIER 737368 2580424 312920 333776 1933728
T$PEREVODTEK 48582 2495704 309744 18576 2167384
T$REPCOST 314146 2332344 405400 178920 1748024
T$SPSTEP 781979 1646208 485128 513256 647824
J$1104 69400 1585984 201744 1616 1382624
WiRuc
Местный житель
Сообщения: 414 Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж
Сообщение
WiRuc » 11 янв 2007, 16:34
Кто-то вообще-то говорил, что журнализация выключена?
А с чего, тогда журнал самая большая таблица
Может очистить забыли?
Далее, T$SPALLCON у нас не используется, не знаю для чего она. Может, кто-нибудь другой подскажет.
CONTOUREVENTS - регистрация входов\выходов в Галактику. Отключите или настройте очистку журнала.
В остальном вроде, ничего криминального.
WiRuc
Местный житель
Сообщения: 414 Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж
Сообщение
WiRuc » 11 янв 2007, 16:35
Кстати, проблему с памятью как решили?
evchic
Местный житель
Сообщения: 216 Зарегистрирован: 25 апр 2006, 12:05
Откуда: г.Ростов-на-Дону
Контактная информация:
Сообщение
evchic » 11 янв 2007, 16:52
WiRuc писал(а): Кстати, проблему с памятью как решили?
Сама решилась просто тогда нагрузка была на сервер
evchic
Местный житель
Сообщения: 216 Зарегистрирован: 25 апр 2006, 12:05
Откуда: г.Ростов-на-Дону
Контактная информация:
Сообщение
evchic » 11 янв 2007, 16:54
WiRuc писал(а): Кто-то вообще-то говорил, что журнализация выключена?
А с чего, тогда журнал самая большая таблица
Может очистить забыли?
Далее, T$SPALLCON у нас не используется, не знаю для чего она. Может, кто-нибудь другой подскажет.
CONTOUREVENTS - регистрация входов\выходов в Галактику. Отключите или настройте очистку журнала.
В остальном вроде, ничего криминального.
Журнализация выключена просто не почистили журнал
T$SPALLCON (Универсальная спецификация)-используется в модуле Учет в производстве (ПО)
WiRuc
Местный житель
Сообщения: 414 Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж
Сообщение
WiRuc » 11 янв 2007, 17:17
Предлагаю очистить журнал и настроить в плане обслуживания перестройку индексов.