Регистрация

Удаление области V 10.A

Обсуждение вопросов по администрированию СУБД Progress OpenEdge
Старожил
Сообщения: 43
Зарегистрирован: Сб авг 04, 2007 1:48 pm

Удаление области V 10.A

Сообщение valun » Сб авг 04, 2007 1:54 pm

Хочу удалить область. Все экстенты удалились кроме первого, ругается


/bank/db/data/bank_7.d2 successfully removed. (6968)
bash-3.00# prostrct remove bank d "TRAN Area"
The last extent of area TRAN Area is in use. (8565)
Extent delete rejected. (6961)

Что с этим можно сделать ?
спасибо.

Старожил
Аватара пользователя
Сообщения: 2871
Зарегистрирован: Ср май 12, 2004 6:03 pm
Откуда: Питер

Re: Удаление области V 10.A

Сообщение George » Сб авг 04, 2007 4:32 pm

valun писал(а):The last extent of area TRAN Area is in use. (8565)

1) В этом экстенте есть или были данные.
или
2) В этой области прописаны какие-то объекты, пусть даже в них нет данных.

На самом 2) тот же случай 1). В любой Progress'ой таблицы есть хотя бы одна запись - template, в которой храняться начальные значения всех полей. Любой Progress'оый индекс состоит как минимум из одного блока - корневого индексного блока. Т.е. если в области прописаны объекты, то несколько блоков будут заполнены данными.

Решение:
Перенести все (включая пустые) объекты в другую область.
После этого выполнить trunacte area.
Теперь команда prostrct statistics покажет, что в этой области Active blocks: 0, что означает - можно удалять последний ее экстент.

Старожил
Сообщения: 43
Зарегистрирован: Сб авг 04, 2007 1:48 pm

Сообщение valun » Сб авг 04, 2007 4:58 pm

truncate области делал до того как пытался удалить саму область...
А куда нужно их переносить, они мне ненужны ?

Старожил
Аватара пользователя
Сообщения: 2871
Зарегистрирован: Ср май 12, 2004 6:03 pm
Откуда: Питер

Сообщение George » Сб авг 04, 2007 5:09 pm

valun писал(а):А куда нужно их переносить, они мне ненужны ?

Значит их нужно удалить из Data Dictionary, а затем прибраться после них с помощью truncate area.

Полная процедура избавленя от области со всем его содержимым может быть такой:
1) Делаем первый truncate area, чтобы все объекты похудели до состояния скелета.
2) Из Data Dictionary быстро и окончательно удаляет эти "скелетики".
3) Делаем второй truncate area, чтобы полностью освободить место в области.
4) Последовательно удаляем все экстенты области (prostrct remove).

Старожил
Сообщения: 43
Зарегистрирован: Сб авг 04, 2007 1:48 pm

Сообщение valun » Сб авг 04, 2007 5:28 pm

Понял, спасибо.

Старожил
Сообщения: 43
Зарегистрирован: Сб авг 04, 2007 1:48 pm

Сообщение valun » Пн авг 06, 2007 8:15 pm

запустил dbanalys

INDEX BLOCK SUMMARY FOR AREA "TRAN Area" : 7
-------------------------------------------------------
Table Index Fields Levels Blocks Size % Util Factor
PUB.chgbnk
bic 2137 1 1 1 3.0B 0.0 1.0

наверное это из-за этого не транкейтится область....удалил в Data Dictionary табл chgbnk и все вравно транкейт не идёт. Подскажите как правильно вычищать область, куда смотреть и что удалять ?
спасибо.

Старожил
Аватара пользователя
Сообщения: 2871
Зарегистрирован: Ср май 12, 2004 6:03 pm
Откуда: Питер

Сообщение George » Пн авг 06, 2007 8:21 pm

valun писал(а):удалил в Data Dictionary табл chgbnk и все вравно транкейт не идёт.

А после удаления таблицы был сделан truncate area?

Старожил
Сообщения: 43
Зарегистрирован: Сб авг 04, 2007 1:48 pm

Сообщение valun » Пн авг 06, 2007 8:24 pm

Сделал, результат тот же -
Index "rem" was deactivated. (1515)
Index "tlx" was deactivated. (1515)
Index "valdt" was deactivated. (1515)
bash-3.00# proutil bank -C truncate bi
OpenEdge Release 10.1A as of Tue Dec 20 22:46:49 EST 2005

bash-3.00# prostrct remove bank d "TRAN Area"
The last extent of area TRAN Area is in use. (8565)
Extent delete rejected. (6961)

Старожил
Аватара пользователя
Сообщения: 2871
Зарегистрирован: Ср май 12, 2004 6:03 pm
Откуда: Питер

Сообщение George » Пн авг 06, 2007 11:46 pm

valun писал(а):Сделал, результат тот же -
Index "rem" was deactivated. (1515)
Index "tlx" was deactivated. (1515)
Index "valdt" was deactivated. (1515)

Блин! Ну так ведь эти индексы тоже прописаны в той же области!
Неужели dbanalys о них не упоминал?

Старожил
Сообщения: 43
Зарегистрирован: Сб авг 04, 2007 1:48 pm

Сообщение valun » Вт авг 07, 2007 1:07 am

Неужели dbanalys о них не упоминал?
нет, несколько раз пересмотрел dbanalys... потом еще искал по индексу "tix" - нету такого... Все данные этой области я выгрузил, можно её как-то убить, не боясь за данные, которые в ней остались ?

Старожил
Аватара пользователя
Сообщения: 1016
Зарегистрирован: Чт авг 04, 2005 5:19 pm
Откуда: Pennsylvania, USA

Сообщение dmitri » Вт авг 07, 2007 1:16 am

Попробуйте приведенные в ссылке 2 программы.
http://www.geocities.com/d_levin/dlc/tablearea.html

Первая про таблицы, а вторая про индексы.
Интересно показувает ли она что нибудь в той области которую вы планируете удалить?

Старожил
Аватара пользователя
Сообщения: 2871
Зарегистрирован: Ср май 12, 2004 6:03 pm
Откуда: Питер

Сообщение George » Вт авг 07, 2007 1:18 am

valun писал(а):несколько раз пересмотрел dbanalys...

А можно запустить и опубликовать целиком результат dbanalys'а для этой области?
proutil db -C dbanalys "Area Name"

Или можно проверить ЭпроживающихЭ в области из 4GL:
Код: Выделить всё
FOR EACH _StoraObject NO-LOCK
  WHERE _StoraObject._Area-number EQ <Area>:
  DISPLAY
   _StoraObject._Object-type
   _StoraObject._Object-number
END.

Старожил
Аватара пользователя
Сообщения: 2871
Зарегистрирован: Ср май 12, 2004 6:03 pm
Откуда: Питер

Сообщение George » Вт авг 07, 2007 1:23 am

George писал(а):Блин! Ну так ведь эти индексы тоже прописаны в той же области!
Неужели dbanalys о них не упоминал?

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

Но суть не изменилась - в области по-прежнему кто-то еще живет.

И еще одна команда, которая может это подтвердить:
prostrct statistics db
Интересуют Active blocks для данной области.

Старожил
Сообщения: 43
Зарегистрирован: Сб авг 04, 2007 1:48 pm

Сообщение valun » Вт авг 07, 2007 1:28 am

Statistics for Area: TRAN Area

Files in Area: TRAN Area
/bank/db/data/bank_7.d1 536870912

Database Block Usage for Area: TRAN Area

Active blocks: 3583
Empty blocks: 61953
Extent blocks: 1
Total blocks: 65536
Records/Block: 256

больше ничего по этой области нет

Старожил
Аватара пользователя
Сообщения: 2871
Зарегистрирован: Ср май 12, 2004 6:03 pm
Откуда: Питер

Сообщение George » Вт авг 07, 2007 1:37 am

valun писал(а): Active blocks: 3583

Откровенно не верится, что для этой области выполнялась команда truncate area.
Команда была такой?: proutil db -C truncate area "TRAN Area"
больше ничего по этой области нет

Т.е. ни 4GL программы, ссылки на которые дал dmitri, ни dbnalays для этой области ничего не показали? Прошу прощения, но не верю. Хотелось бы увидеть команду в точности как она вызывалась и ее результат. Я имею ввиду:
proutil db -C dbanalys "TRAN Area"
Последний раз редактировалось George Вт авг 07, 2007 1:42 am, всего редактировалось 1 раз.

След.

Вернуться в PROGRESS - АДМИНИСТРИРОВАНИЕ БАЗ ДАННЫХ

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 3