powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / очистка временных таблиц
19 сообщений из 19, страница 1 из 1
очистка временных таблиц
    #32124674
Evgeniy146
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем, такая проблема.
На очистку временной таблицы (delete from table_1) тратится довольно значительное время. Чтобы ускорить процесс, было решено пользоваться
оператором truncate (truncate table autotran.table_1). Естественно, поместив
его в процу, выполняющуюся в автономной транзакции (чтобы не происходил commit текущей транзакции). Всё бы хорошо, да сервер БД (Oracle 7.3 Enterprise Edition) при ее выполнении периодически падает со статусом 600 (Internal error, возникает по различным причинам...). Никто с подобным не сталкивался? Может, подскажете чего?
Текст процы:
PROCEDURE L_AUTONOMOUS_EXECUTE (
OperatorText IN VARCHAR)
AS
PRAGMA AUTONOMOUS_TRANSACTION;
except EXCEPTION;
BEGIN
EXECUTE IMMEDIATE OperatorText ;
EXCEPTION
WHEN except THEN
ROLLBACK;
END;
Входной параметр:
'truncate table autotran.table_1'
...
Рейтинг: 0 / 0
очистка временных таблиц
    #32124677
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Всё бы хорошо, да сервер БД (Oracle 7.3 Enterprise Edition) при ее выполнении
>периодически падает

А что 7.3 автономные транзакции и execute immediate поддерживает?
...
Рейтинг: 0 / 0
очистка временных таблиц
    #32124687
Evgeniy146
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
еще как поддерживает...
...
Рейтинг: 0 / 0
очистка временных таблиц
    #32124693
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>еще как поддерживает

может и поддерживает фактически, но неофициально, со всеми вытекающими багами и последствиями (например, ORA 600)
...
Рейтинг: 0 / 0
очистка временных таблиц
    #32124707
Evgeniy146
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мдааа... :( Заказчика ведь фиг убедишь использовать более свежую версию - хотя бы восьмерку :( А есть другие способы почистить таблицу (более быстрые, чем delete), реализуемые без использования авт. транзакций и execute immediate?
...
Рейтинг: 0 / 0
очистка временных таблиц
    #32124716
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>А есть другие способы почистить таблицу (более быстрые, чем delete),
>реализуемые без использования авт. транзакций и execute immediate?

Более быстрого способа нет, но можно попробовать создать таблицу с nologging. Тогда по идее должно быть быстрее, но не настолько быстро как truncate.

А что, без временной таблицы нельзя обойтись?
...
Рейтинг: 0 / 0
очистка временных таблиц
    #32124720
AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В 7 еще и nologging официально нет. Там все называется unrecoverable и вешается только на команду. На разделы базы - нет.
...
Рейтинг: 0 / 0
очистка временных таблиц
    #32124722
Evgeniy146
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Без временных таблиц, к сожалению, нельзя... Отчет довольно нехилый, куча разных таблиц перебирается, много логики, частных случаев и т.п...
Насчет nologging - спасибо, попробую...
...
Рейтинг: 0 / 0
очистка временных таблиц
    #32124732
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>В 7 еще и nologging официально нет. Там все называется unrecoverable и
>вешается только на команду. На разделы базы - нет

насчет того, что называется unrecoverable согласен (хотя, кажется и nologging тоже работает), а вот то, что только на команду - это не так. Вполне допустимо (официально) create table ... unrecoverable.
...
Рейтинг: 0 / 0
очистка временных таблиц
    #32124733
AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
create table - это, разумеется, не команда...
...
Рейтинг: 0 / 0
очистка временных таблиц
    #32124736
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, еще не забудьте индексы перед этим удалить, если они есть на временной таблицы
...
Рейтинг: 0 / 0
очистка временных таблиц
    #32124743
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>create table - это, разумеется, не команда...

не надо придираться к словам, я имел ввиду, что объект в базе данных можно сделать unrecoverable
...
Рейтинг: 0 / 0
очистка временных таблиц
    #32124746
Evgeniy146
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
еще раз thanks. а с какой версии железно поддерживаются автономные транзакции и ex. immed. ? Любая 8?
...
Рейтинг: 0 / 0
очистка временных таблиц
    #32124759
AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению, unrecoverable при создании таблицы означает только то, что строки из create table ... as select не будут журналироваться. Самой таблице вообще все равно - она просто содержит строки. Другое дело create tablespace ... nologging. Тогда оракул сам будет распознавать команды, которые не надо журналировать.

А автономные транзакции, временные таблицы и прочая хиромантия официально работает с 8.1.
...
Рейтинг: 0 / 0
очистка временных таблиц
    #32124779
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну если ты делаешь чистку всей таблицы с помощью truncate почему бы тогда не drop table - сам же говоришь временная таблица.
Мне кажется самый быстрый способ.
...
Рейтинг: 0 / 0
очистка временных таблиц
    #32124839
Chira
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у тебя действительно временная таблица?
используй
CREATE GLOBAL TEMPORARY TABLE
...............
ON COMMIT DELETE
...
Рейтинг: 0 / 0
очистка временных таблиц
    #32124857
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"CREATE GLOBAL TEMPORARY TABLE "

Этого даже в 8.0.5 нет. А тут 7.3
...
Рейтинг: 0 / 0
очистка временных таблиц
    #32124899
Chira
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я подумал если человек используе EXECUTE IMMEDIATE, то должно и CREATE ... TEMPORARY тоже работать.
...
Рейтинг: 0 / 0
очистка временных таблиц
    #32124911
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Он наверно на 7.3 патч поставил от 8i
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / очистка временных таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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