Читстим TEMP TABLESPACE в Oracle |
После долгих экспериментов с данными (создавал тестовую базу для DWH на ~5 000 000 000 000 записей) при создании индексов кончилось место (кто-то меня убеждал что у меня есть 500 гиг – ага щас). Табличку я немного уменьшил, но место всеравно не осталось и сделать индекс и уж тем более собрать статистику стало не возможно. Самый жирный кусок отъел TEMP, его и решено было немного почистить
Пробуем самый простой способ:
SQL> alter database tempfile ‘/data/oracle/oracle/product/10.2.0/db_1/oradata/homer/temp01.dbf’ resize 100M;
alter database tempfile ‘/data/oracle/oracle/product/10.2.0/db_1/oradata/homer/temp01.dbf’ resize 100M
*
ERROR at line 1:
ORA-00376: file 81 cannot be read at this time
ORA-01110: data file 81:
‘/data/oracle/oracle/product/10.2.0/db_1/oradata/homer/temp01.dbf’
не чиститься он просто. Пойдем другим путем – сделаем новый TEMP, переключимся на него временно и прибьем старый TEMP безвозвратно.
1. Делаем новый TEMP, не большой, он нам нужен на короткое время:
SQL> create temporary tablespace temp2 tempfile ‘/data/oracle/oracle/product/10.2.0/db_1/oradata/homer/temp02.dbf’ size 5M reuse autoextend on next 1M;
Tablespace created.
2. Переключаемся на него:
SQL> alter database default temporary tablespace temp2;
Database altered.
3. Прибиваем старый TEMP вместе с фалами данных
SQL> drop tablespace temp including contents and datafiles;
Tablespace dropped.
4. Создаем его снова:
SQL> create temporary tablespace temp tempfile ‘/data/oracle/oracle/product/10.2.0/db_1/oradata/homer/temp01.dbf’ size 500M reuse autoextend on next 100M maxsize unlimited extent management local uniform size 1M;
Tablespace created.
5. Переключсаемся обратно на него:
SQL> alter database default temporary tablespace temp;
Database altered.
6. Ну и удаляем временный TEMP (забавное сочетание)
SQL> drop tablespace temp2 INCLUDING CONTENTS AND DATAFILES;
Tablespace dropped.
Ура…. у меня снова есть 100 гиг
Комментировать | « Пред. запись — К дневнику — След. запись » | Страницы: [1] [Новые] |