Сжатие идет больше 8 часов!

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

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

Ответить
Гаврилюк Марина
Постоянный обитатель
Сообщения: 151
Зарегистрирован: 27 авг 2007, 12:16
Откуда: ОАО КЧХК
Контактная информация:

Сжатие идет больше 8 часов!

Сообщение Гаврилюк Марина »

По одной базе сжатие журнала не может пройти за 8 часов. В чем может быть причина? Это мешает работе, т.к. задание в шедулере запускается в 23 часа и утром в 8.30 все еще висит на сжатии. Тормоза страшные....
Andrey
Местный житель
Сообщения: 702
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Украина, Запорожска яобласть, г.Днепрорудный

Сообщение Andrey »

А такая процедура как отключить-включить (можно предварительно очистить журнал) не помогает?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

Удаляйте стороними средствами. Если это первасив, то наверно давно пора грохнуть(переместить) файл журнала.
Гаврилюк Марина
Постоянный обитатель
Сообщения: 151
Зарегистрирован: 27 авг 2007, 12:16
Откуда: ОАО КЧХК
Контактная информация:

Сообщение Гаврилюк Марина »

База Оракловая, работающая, расчет зарплаты, закрытие счетов. пользователей около 400. Журнал за 3 месяца.
Оракловый админ переносил табличные пространства по базе, потом вернул все на место. Неделю уже не проходит сжатие. Чекора не может проверить мемо-поля и журнал
Может есть возможность скриптом сжать журнал. а не средствами Галактики? Если кто пользуется своими средствами для сжатия журнала, помогите пожалуйста...
Andrey
Местный житель
Сообщения: 702
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Украина, Запорожска яобласть, г.Днепрорудный

Сообщение Andrey »

если чистить журнал оракловыми средствами, то у вас эти действия нем попадут в галактический журнал и, соответсвенно, не возможен галактический откат этих действий. Через sqlplus удалите строки из таблицы с условием по дате.
Начинающий путь
Местный житель
Сообщения: 258
Зарегистрирован: 13 апр 2006, 11:57
Откуда: Бегущий к Галактике

Сообщение Начинающий путь »

Марина, а зачем вам 3 месяца держать журнал? У нас 32 дня и хватает. Проверьте журнал на последнюю дату. Было в практике на компе выставили типа 2020 года - записи с этой датой попали в журнал и он автоматически не сжимался ночью.
Гаврилюк Марина
Постоянный обитатель
Сообщения: 151
Зарегистрирован: 27 авг 2007, 12:16
Откуда: ОАО КЧХК
Контактная информация:

Сообщение Гаврилюк Марина »

Начинающий путь

У нас иногда спохватываются и через 90 дней (. Этот срок установлен как возможный по размерам табличного пространства на журнал.

Andrey

В Саппорте не идет удаление. В оракле вижу, что отключается триггер отвечающий за удаление. Удалять через Оракл? а как быть с J$xxxxxx, которые связаны с журналом?
oiko
Местный житель
Сообщения: 418
Зарегистрирован: 29 мар 2005, 17:49

Сообщение oiko »

сделайте как я себе скрипт по типу
TRUNCATE TABLE GAL."X$JOURNAL";
TRUNCATE TABLE GAL."J$6";
TRUNCATE TABLE GAL."J$9";
и т.д.
перечень таблиц тоже можно получить скриптом.
Polimer
Местный житель
Сообщения: 489
Зарегистрирован: 27 янв 2006, 12:46
Откуда: Москва

Сообщение Polimer »

У нас для чистки журнала используется такой запрос:

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

DECLARE curTables CURSOR 
FOR
SELECT
  so.Name, 
  src.Name,
  xf.XF$Title
FROM
  SysObjects so
  INNER JOIN X$FILES xf ON xf.XF$Code = CONVERT(INT, SUBSTRING(so.Name, 3, 16))
  INNER JOIN SysObjects src ON src.type='U' AND src.name = 'T$' + xf.XF$Name
WHERE
  so.Type = 'U' AND so.Name LIKE 'J$%'
ORDER BY so.Name

DECLARE @Name VARCHAR(200), @SrcName VARCHAR(200), @Title VARCHAR(200), @SQL VARCHAR(8000)
DECLARE @I INTEGER
SELECT @I = 0

SET NOCOUNT ON
OPEN curTables
FETCH NEXT FROM curTables INTO @Name, @SrcName, @Title
WHILE @@FETCH_STATUS = 0
BEGIN
  SET @SQL = 'TRUNCATE TABLE [' + RTRIM(@Name) + ']'
  PRINT 'Очищаю таблицу ' + @Name + ' (журнал таблицы ' + @SrcName + ' - ' + @Title + ')'
  EXEC(@SQL)  
  SELECT @I = @I + 1
  FETCH NEXT FROM curTables INTO @Name, @SrcName, @Title
END
PRINT 'Всего очищено таблиц: ' + LTRIM(@I)

CLOSE curTables
DEALLOCATE curTables
SET NOCOUNT OFF
SergZol
Постоянный обитатель
Сообщения: 155
Зарегистрирован: 03 сен 2007, 19:06
Откуда: Россия,Казань

Сообщение SergZol »

По одной базе сжатие журнала не может пройти за 8 часов. В чем может быть причина? Это мешает работе, т.к. задание в шедулере запускается в 23 часа и утром в 8.30 все еще висит на сжатии. Тормоза страшные....
От имени какого пользователя сжимеется журнал?
нада от имени админа. необходимо проверить роли в базе, возможно нехватает некоторых ролей. типа EXECUTE
Гаврилюк Марина
Постоянный обитатель
Сообщения: 151
Зарегистрирован: 27 авг 2007, 12:16
Откуда: ОАО КЧХК
Контактная информация:

Сообщение Гаврилюк Марина »

SergZol
От админа.


По ораклу вижу: затыкается на таблице J$15064. По truncate очищаю ее, удаляю из x$journal записи по 15064 , запускаю сжатие - проходит. На следующиейдень висит уже по j$22311. Операцию повторяю. Но боюсь что вообще весь журнал так удалить прийдется ((((((
Как будто ссылки побились все.
Начинающий путь
Местный житель
Сообщения: 258
Зарегистрирован: 13 апр 2006, 11:57
Откуда: Бегущий к Галактике

Сообщение Начинающий путь »

Support->Восстановление БД->Сервис->Проверка журнала
Делали?
Гаврилюк Марина
Постоянный обитатель
Сообщения: 151
Зарегистрирован: 27 авг 2007, 12:16
Откуда: ОАО КЧХК
Контактная информация:

Сообщение Гаврилюк Марина »

Делали, но не до конца - большой очеь. И сидеть клавишу жать подтверждая удаление некорректной записи напрягает
LaaLaa

Сообщение LaaLaa »

Клавишу подтверждения можно не держать. :grin: Следующие параметры GALNET.CFG вам помогут:

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

[AQA]
  AutoMessageTimeout = 5
  AutoMessageCountDown = on
  AutoMessageLogFile = msg.log
PS: Появились в версии 5.4.
Гаврилюк Марина
Постоянный обитатель
Сообщения: 151
Зарегистрирован: 27 авг 2007, 12:16
Откуда: ОАО КЧХК
Контактная информация:

Сообщение Гаврилюк Марина »

у нас 7-ка
Ответить