Как удалить данные и свободный дисковое пространство в Oracle DBMS 9i

Я предложил бы, чтобы Вы посмотрели на свой sysprep inf файл. Может быть установка там, которая будет допускать автовход в систему в первый раз.

2
задан 29 April 2011 в 05:32
4 ответа

В Oracle, удаляя строки из таблицы автоматически не выпустит дискового пространства. Возможно выпустить дисковое пространство, но выполнять это необходимо узнать, как таблицы физически помещаются в файлы данных. Как только файл данных имеет пустые блоки на конце, можно изменить размер файла данных к меньшему размеру. Только после этого - успешный - операция Вы возвращаете реальное дисковое пространство. Если у Вас есть много пустых блоков в файле данных, но не на конце, могло бы быть самым легким переместить таблицы от табличной области, до которой файл данных принадлежит в новую табличную область, и отбросьте старую табличную область. Это не будет работать на СИСТЕМНУЮ табличную область, Нельзя переместить объекты SYS в другую табличную область.

Иногда Вы удачливы, когда можно переместить всего один - маленький - таблица, которая, оказалось, заблокировала освобождающее пространство, потому что это было помещено в конце файла данных. В этом случае простое alter table thesmalltable move; переместит ту таблицу и сделает исправимое пространство в конце файла данных [s]. После этого, alter database datafile '/your/df/name.dbf' resize the_new_size; дисковое пространство выпусков.

Таблица логически помещается в табличную область. Табличная область состоит из минимального 1 файла данных, во многих случаях несколько файлов данных.

5
ответ дан 3 December 2019 в 09:23

Попробуйте эту команду для возвращения некоторого пространства:

DUMP TRAN <database name> WITH NO_LOG

Я думаю, что лучший способ вернуть пространство на жестком диске путем удаления любого другого, больше не использовал файлы от жесткого диска.

Обычный способ удалить данные из базы данных выполняет удалить команду, однако который не обязательно освободит дисковое пространство.

0
ответ дан 3 December 2019 в 09:23

Чтобы завершить другие ответы, очистка журналов диагностики может помочь вам освободить значительное дисковое пространство (до нескольких ГБ).

Проверьте это: http://www.databasejournal.com/features /oracle/article.php/3875896/Purging-Oracle-Databases-Alert-Log-with-ADRCI---Usage-and-Warning.htm

В основном вы запустите команду Oracle adrci line, затем выполните:

adrci> set homepath diag/rdbms/yourinstance/yourinstance
adrci> purge -age 10080

В приведенном выше примере будут удалены трассировки диагностики старше 1 недели.


Также, проверьте, есть ли у вас локально управляемые табличные пространства (LMT) или табличные пространства, управляемые каталогом (DMT). Предполагается, что первый лучше справляется с фрагментацией (хотя и далек от совершенства). Проверить: http://www.orafaq.com/node/3

1
ответ дан 3 December 2019 в 09:23
EPADMRT > @resizea

CURRENT_MEG    SAVINGS    ID TABLESPACE_NAME RESIZE_COMMAND
----------- ---------- ----- --------------- ---------------------------------------------------------------------------------------
      30000         -1     3 UNDO_TS         alter database datafile '/var/oradata03/PADMRT/PADMRT_UNDO_01.dbf' resize 30001m;
      30000         -1    19 UNDO_TS         alter database datafile '/var/oradata04/PADMRT/PADMRT_UNDO_02.dbf' resize 30001m;
      20000         -1    11 OPLA_DATA       alter database datafile '/var/oradata01/PADMRT/OPLA_DATA01.dbf' resize 20001m;
      15360         -1     8 AGILEODM_INDX   alter database datafile '/var/oradata01/PADMRT/AGILEODM_INDX_DATA02.dbf' resize 15361m;
      20480         -1    13 AGILEODM        alter database datafile '/var/oradata02/PADMRT/AGILEODM_DATA04.dbf' resize 20481m;
       5120         -1     7 AGILEODM_INDX   alter database datafile '/var/oradata01/PADMRT/AGILEODM_INDX_DATA01.dbf' resize 5121m;
      20480         -1    14 AGILEODM        alter database datafile '/var/oradata02/PADMRT/AGILEODM_DATA05.dbf' resize 20481m;
 32767.1875     -.8125     6 AGILEODM        alter database datafile '/var/oradata01/PADMRT/AGILEODM_DATA01.dbf' resize 32768m;
      13236          0     5 AGILEODI        alter database datafile '/var/oradata01/PADMRT/AGILEODI_DATA01.dbf' resize 13236m;
      22784          6     9 AGILEODI        alter database datafile '/var/oradata02/PADMRT/AGILEODI_DATA02.dbf' resize 22778m;
      32767         30    10 AGILEODM        alter database datafile '/var/oradata02/PADMRT/AGILEODM_DATA02.dbf' resize 32737m;
      10240         42    20 AGILEODI        alter database datafile '/var/oradata01/PADMRT/AGILEODI_DATA03.dbf' resize 10198m;
       3000         51    16 VQA_DATA        alter database datafile '/var/oradata03/PADMRT/VQA_DATA02.dbf' resize 2949m;
       3000         72    15 VQA_DATA        alter database datafile '/var/oradata01/PADMRT/VQA_DATA01.dbf' resize 2928m;
       3000         79    18 VQA_DATA        alter database datafile '/var/oradata04/PADMRT/VQA_DATA04.dbf' resize 2921m;
       1335        151     4 USERS           alter database datafile '/var/oradata01/PADMRT/users01.dbf' resize 1184m;
      10240        202    21 AGILEODI        alter database datafile '/var/oradata01/PADMRT/AGILEODI_DATA04.dbf' resize 10038m;
       6144        938     2 SYSAUX          alter database datafile '/var/oradata02/PADMRT/PLMDM_SYSAUX_DATA1_01.dbf' resize 5206m;
       4096       1058     1 SYSTEM          alter database datafile '/var/oradata02/PADMRT/PLMDM_SYS_DATA1_01.dbf' resize 3038m;
      32767       1391    22 OPLA_DATA       alter database datafile '/var/oradata01/PADMRT/OPLA_DATA02.dbf' resize 31376m;
      10000       7053    17 VQA_DATA        alter database datafile '/var/oradata03/PADMRT/VQA_DATA03.dbf' resize 2947m;
      32767       7492    12 AGILEODM        alter database datafile '/var/oradata02/PADMRT/AGILEODM_DATA03.dbf' resize 25275m;
      32767       8749    23 AGILEODM        alter database datafile '/var/oradata03/PADMRT/AGILEODM_DATA06.dbf' resize 24018m;

Полный resizea.sql следующий:

отключить termout выпадающая таблица alan99; набор страниц 50 установить упаковку col resize_command для a180 col id для 9999 создать таблицу alan99 как выберите max (block_id + blocks) block_id, file_id из dba_extents группировать по file_id; столбец tablespace_name формат a15 столбец pct формат 999,99 установить упаковку установить линии 320 отключить усечение столбец file_id формат 999 установить срок на выберите экономию b.bytes / 1024/1024 CURRENT_meg, b.bytes / 1024/1024-trunc (c.block_id * 8192/1024/1024 + 1), b.file_id идентификатор, b.tablespace_Name, 'alter database datafile' '' || b.file_name || '' 'resize' || trunc (c.block_id * 8192/1024/1024 + 1) || 'm;' resize_command из dba_data_files b, alan99 c где b.file_id = c.file_id заказ по 2; установить срок выпадающая таблица alan99; установить termout на

0
ответ дан 3 December 2019 в 09:23

Теги

Похожие вопросы