Рост базы SQL

Администрирование баз данных (Pervasive.SQL, MS SQL, Oracle, утилита Support)

Модераторы: m0p3e, edward_K, Модераторы

WiRuc
Местный житель
Сообщения: 414
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж

Сообщение WiRuc »

Выполните в 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 »

igornov писал(а):и каков его размер при размере базы как я понял уже 147GB?
Файл DATA примерно 83Г
а INDEX 23Г
примерно
thor
Местный житель
Сообщения: 289
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Saint-Petersburg
Контактная информация:

Сообщение thor »

А журнализация-то Галактическая включена?
Если да, то какие настройки и сколько записей в x$Journal лежит?
evchic
Местный житель
Сообщения: 216
Зарегистрирован: 25 апр 2006, 12:05
Откуда: г.Ростов-на-Дону
Контактная информация:

Сообщение evchic »

thor писал(а):А журнализация-то Галактическая включена?
Если да, то какие настройки и сколько записей в x$Journal лежит?
Журнализация отключена вообще
evchic
Местный житель
Сообщения: 216
Зарегистрирован: 25 апр 2006, 12:05
Откуда: г.Ростов-на-Дону
Контактная информация:

Сообщение evchic »

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 »

На каком этапе? На выполнении DBCC или на выполнении Select?
Сколько у вас памяти на серваке, стоит ли SP4 на MSSQL, делались ли какие-нибудь манипуляции в настройках MSSQL по поводу памяти?
Можете еще увеличить размер файла подкачки, но тормоза....
evchic
Местный житель
Сообщения: 216
Зарегистрирован: 25 апр 2006, 12:05
Откуда: г.Ростов-на-Дону
Контактная информация:

Сообщение evchic »

Этап неизвестен
SP4 стоит
настройки для памяти не трогали
1Гб-оперативки
WiRuc
Местный житель
Сообщения: 414
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж

Сообщение WiRuc »

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 »

С чем может быть связан такой сильный рост БД? :?
evchic
Местный житель
Сообщения: 216
Зарегистрирован: 25 апр 2006, 12:05
Откуда: г.Ростов-на-Дону
Контактная информация:

Сообщение evchic »

вот часть таблиц

Код: Выделить всё

		                          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 »

Кто-то вообще-то говорил, что журнализация выключена?
А с чего, тогда журнал самая большая таблица :D
Может очистить забыли?
Далее, T$SPALLCON у нас не используется, не знаю для чего она. Может, кто-нибудь другой подскажет.
CONTOUREVENTS - регистрация входов\выходов в Галактику. Отключите или настройте очистку журнала.
В остальном вроде, ничего криминального.
WiRuc
Местный житель
Сообщения: 414
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж

Сообщение WiRuc »

Кстати, проблему с памятью как решили?
evchic
Местный житель
Сообщения: 216
Зарегистрирован: 25 апр 2006, 12:05
Откуда: г.Ростов-на-Дону
Контактная информация:

Сообщение evchic »

WiRuc писал(а):Кстати, проблему с памятью как решили?
Сама решилась просто тогда нагрузка была на сервер
evchic
Местный житель
Сообщения: 216
Зарегистрирован: 25 апр 2006, 12:05
Откуда: г.Ростов-на-Дону
Контактная информация:

Сообщение evchic »

WiRuc писал(а):Кто-то вообще-то говорил, что журнализация выключена?
А с чего, тогда журнал самая большая таблица :D
Может очистить забыли?
Далее, T$SPALLCON у нас не используется, не знаю для чего она. Может, кто-нибудь другой подскажет.
CONTOUREVENTS - регистрация входов\выходов в Галактику. Отключите или настройте очистку журнала.
В остальном вроде, ничего криминального.
Журнализация выключена просто не почистили журнал

T$SPALLCON (Универсальная спецификация)-используется в модуле Учет в производстве (ПО)
WiRuc
Местный житель
Сообщения: 414
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж

Сообщение WiRuc »

Предлагаю очистить журнал и настроить в плане обслуживания перестройку индексов.
Ответить