Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Очистка базы данных Oracle 10g  [new]
fontenette
Member

Откуда:
Сообщений: 6
Имеется база данных oracle database 10g express edition.
Произошло переполнение базы данных. Очистил базу, используя скрипты, все делал по инструкции.
Вот собственно скрипты:
1. TRUNCATE TABLE SNADMIN.STATIONLOGREC
2. BEGIN
DBMS_SCHEDULER.RUN_JOB('SYS.GATHER_STATS_JOB');
END;
Затем перезагрузил сервер.
После всех манипуляций база данных вроде как заработала, но Storage по прежнему заполнена на 100%.
Как это исправить? Вроде нужно переиндексировать таблицу, но не знаю как.
Есть у кого какие мысли по этому поводу?

К сообщению приложен файл. Размер - 8Kb
29 май 14, 08:15    [16088982]     Ответить | Цитировать Сообщить модератору
 Re: Очистка базы данных Oracle 10g  [new]
123йй
Member

Откуда:
Сообщений: 1637
fontenette
Очистил базу, используя скрипты, все делал по инструкции.

показывай свою инструкцию
29 май 14, 08:20    [16088993]     Ответить | Цитировать Сообщить модератору
 Re: Очистка базы данных Oracle 10g  [new]
fontenette
Member

Откуда:
Сообщений: 6
На диске с дистрибутивом Secret Net в каталоге Tools\Infosec\ClearOracle\ имеется утилита для очистки БД Oracle.
Это приведет к потере всей хранящейся в БД информации, включая содержимое журналов, поступивших на централизованное хранение.
Данная утилита очищает содержимое записей в БД, но не выполняет переиндексацию.
Для подтверждения очистки базы необходимо просмотреть содержимое записей средствами СУБД.

Для очистки базы данных выполните следующие действия:
1.На сервере безопасности остановите работу службы CubeServer.
2.На сервере Oracle создайте каталог на локальном диске и скопируйте в него содержимое каталога \Tools\Infosec\ClearOracle\ с компакт-диска комплекта (добавлена во вложение письма)
3.Откройте для редактирования скопированные файлы clear.cmd и runjob.cmd и замените в этих файлах подстроку oracle на пароль, заданный при установке СУБД Oracle.
4.Запустите на исполнение отредактированный файл clear.cmd. После успешного завершения обработки этого файла запустите файл runjob.cmd.
5.Перезагрузите сервер Oracle и сервер безопасности.
29 май 14, 08:23    [16088996]     Ответить | Цитировать Сообщить модератору
 Re: Очистка базы данных Oracle 10g  [new]
Добрый Э - Эх
Guest
fontenette,
что в твоей терминологии есть сторадж?
В общем случае усечение таблицы высвобождает место внутри табличного пространства оракла. Но сам ораклам никогда добровольно не возвращает свободное место из табличного пространства в файловую систему. Место он вернет только по команде (шринк/ресайз).
29 май 14, 08:27    [16089001]     Ответить | Цитировать Сообщить модератору
 Re: Очистка базы данных Oracle 10g  [new]
Добрый Э - Эх
Guest
Добрый Э - Эх,

ну или на уровне бытовой аналогии:
Есть у тебя комната определенного размера. ТЫ вкорячил в комнату шкаф во весь её свободный объем. Забил шкаф вещами.
Через некоторое время подумал, и выкинул все вещи из шкафа. Но удивляешься, почему в комнате-то не увеличилось свободного места? Ответ прост: шкаф-то остался стоять внутри комнаты.

Так вот, комната - это твой сторадж, шкаф - табличное пространство оракла, вещи в шкафу - твои таблицы, индексы и прочие требующие сегментов хранения вещи... Можно сжать вещи плотнее, можно выкинуть их из шкафа, можно внутри шкафа переложить с места на место. В комнате просторнее от этих манипуляций не станет.
29 май 14, 08:36    [16089016]     Ответить | Цитировать Сообщить модератору
 Re: Очистка базы данных Oracle 10g  [new]
fontenette
Member

Откуда:
Сообщений: 6
Я не особо силен в терминологии, поскольку впервые работаю с базами данных. Скажите, правильно ли я понимаю: если оракл добровольно не отдает табличное пространство, то даже после очистки базы, показатель сторейдж будет как на скриншоте в первом посте, и это абсолютно нормально. Или я не прав?
29 май 14, 08:39    [16089024]     Ответить | Цитировать Сообщить модератору
 Re: Очистка базы данных Oracle 10g  [new]
Добрый Э - Эх
Guest
fontenette,

я же бытовую аналогии привел... :)
Всё правильно - оракл занял место и несмотря на отсутствие надобности в этом месте не вернет его назад. Чтобы появилось свободное место на устройстве хранения, нужно принудить оракл высвободить его, посредством изменения размеров датафайлов.
Но может оказаться так, что даже почти пустой датафайл не удастся ужать, так как в его "хвосте" есть один занятый блок с данными пользователя. И тут уже инструкции не помогут, ибо начинается творчество в чистом виде :)
29 май 14, 08:44    [16089031]     Ответить | Цитировать Сообщить модератору
 Re: Очистка базы данных Oracle 10g  [new]
fontenette
Member

Откуда:
Сообщений: 6
Добрый Э - Эх,

Спасибо, очень доступно все объяснили :)
База данных вроде работает, смущал показатель заполненности. Ну буду надеяться, что проблем не возникнет.

Спасибо за помощь!
29 май 14, 08:51    [16089046]     Ответить | Цитировать Сообщить модератору
 Re: Очистка базы данных Oracle 10g  [new]
123йй
Member

Откуда:
Сообщений: 1637
fontenette,

ну и почитать STFF
29 май 14, 08:59    [16089058]     Ответить | Цитировать Сообщить модератору
 Re: Очистка базы данных Oracle 10g  [new]
fontenette
Member

Откуда:
Сообщений: 6
123йй,

Спасибо!
29 май 14, 09:05    [16089077]     Ответить | Цитировать Сообщить модератору
 Re: Очистка базы данных Oracle 10g  [new]
fontenette
Member

Откуда:
Сообщений: 6
Простите, еще один вопрос в догонку :)
А как мне отследить процесс заполнения базы данных?
29 май 14, 09:22    [16089114]     Ответить | Цитировать Сообщить модератору
 Re: Очистка базы данных Oracle 10g  [new]
123йй
Member

Откуда:
Сообщений: 1637
fontenette,

там же stff
29 май 14, 09:29    [16089146]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить