IMPDP использует больше дискового пространства, чем ожидалось - PullRequest
0 голосов
/ 14 января 2019

Фон

Мне было поручено импортировать большой объем данных из производственной базы данных в тестовую базу данных (Oracle 12c выпуск 2, работающий на RHEL), и я использую Data Pump.

Когда я впервые импортировал таблицы, таблицы были созданы, и данные были импортированы, как и планировалось, но - из-за проблемы в моем файле параметров насоса данных - ограничения не были импортированы.

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

Мои попытки решения :

Я пытался использовать TABLE_EXISTS_ACTION=REPLACE и отбрасывать таблицы сразу после попытки. Я также удалил основные таблицы всех заданий передачи данных, которые мне не удалось завершить из утилиты.

Тем не менее, казалось, что раньше и раньше процесс зависал, поскольку я постоянно пытался импортировать таблицы. df -h возвращает 100% использования диска при каждом зависании.

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

tl; др :

Кажется, что выполнение заданий impdp занимает дисковое пространство за пределами добавленных таблиц и основных таблиц заданий. Где эта память используется и что я могу сделать, чтобы очистить ее для успешного импорта?

1 Ответ

0 голосов
/ 14 января 2019

Я разобрался с проблемой:

База данных находилась в archivelog mode для настройки потоков и резервного копирования менеджера восстановления. В результате impdp вызывал поток архивных изменений базы данных.

Чтобы очистить старые архивы, я запустил следующее в rman для каждой базы данных в noarchivelog mode на сервере.

connect target /
run { 
allocate channel c1 type disk; 
delete force noprompt archivelog until time 'SYSDATE-30'; 
release channel c1; 
} 

Это очистило 60 гигабайт. Я также добавил параметр transform=disable_archive_logging:Y в мой файл параметров impdp. Это подавляет создание архива при запуске импорта данных.

...