Как экспортировать большой объем данных с помощью SQL-разработчика - Oracle

Я хочу загрузить некоторые данные из UAT DB в DEV DB. Когда я пытаюсь сделать это из функции Export в SQL Developer, я получил сообщение об ошибке File C:\Users\xxx\export.sql was not opened because it exceeds the maximum automatic open size

Как я могу скопировать данные UAT в DEV?

ORACLE Version 12C
SQL Developer Version 4.0.0.13

Ответ 1

нашел ответ ниже с форума разработчиков SQL:

Похоже, что "максимальный автоматический открытый размер" жестко закодирован до значения 500000 (байт, я считаю) без возможности переопределить его. От   ограничивая это, мы зажимаем в почве любые потенциальные жалобы Java   OutOfMemory при попытке открыть огромный файл.

Чтобы просмотреть файл из SQL Developer несмотря на это ограничение, просто используйте меню "Файл | Открыть". Для этих огромных файлов, пожалуйста, используйте внешний редактор. И если вы не хотите автоматически открывать файлы в чтобы подавить диалоговое окно предупреждения, используйте Инструменты | Настройки | База данных | Экспорт/просмотр параметров DDL и отмена проверки "Открыть файл Sql при экспорте".

Вы уверены, что файл экспорта не содержит всех строк вставки? Это будет ошибкой, если вы не нажмете OutOfMemory или диск полностью состояние. Я просто попробовал свой сценарий в таблице 55000 строк, производил export.sql около 20 МБ. Все строки были включены.

С уважением, Гэри Грэм Команда разработчиков SQL

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

Надеюсь, что ответ Гэри поможет вам в некоторой степени.

Если вам нужно получить представление о некоторых инструментах, которые можно открыть большими файлами, проверьте LINK

Ответ 2

У меня была эта ошибка при экспорте базы данных в формате insert, выбор формата загрузчика на 1-м экране Export wizard устранял проблему.

Это, вероятно, потому, что формат insert создает один SQL script с DDL и данными в качестве вставных операторов. Таким образом, вся база данных сбрасывается в один файл script.

Параметр

loader создает несколько файлов: файл управления, файл данных и файлы sql. И для каждой таблицы есть отдельные файлы. В результате экспорт будет состоять из сотен файлов, и ни один файл не достигнет ограничения по размеру.

Однако это может не работать с одиночными таблицами с очень большими объемами данных, так как файл данных таблицы достигнет предела.

Ответ 3

Если вы хотите передавать большие объемы данных (или небольшие суммы) тоже из одной базы данных в другую, вы должны рассмотреть инструменты, специально предназначенные для таких задач.

Прежде всего, обратите внимание на насос данных. Тем не менее, у него немного кривая обучения.

exp и imp (также Oracle) немного легче обрабатывать, но они старше и не так сильны, как насос данных.

Вы также можете посмотреть в команду копирования SQL * Plus.

Ответ 4

Вы можете попробовать различные параметры, например, ниже.

В SQL-разработчике при щелчке правой кнопкой мыши по таблице и нажатии экспорта открывается мастер экспорта, вы можете выбрать "Сохранить как" - "отдельные файлы", которые будут экспортировать данные в том же файле SQL. ИЛИ вы можете изменить тип формата на том же мастере в CSV, который будет экспортировать данные в формате CSV.

Ответ 5

Решение 1:

enter image description here

Установите эти значения на более высокое значение!

Решение 2:

enter image description here

изменить "сохранить в" на листе!

Ответ 6

Вы можете использовать запрос спула и сохранить результаты в виде файлов CSV или XLSX для больших результатов. Например:

spool "D:\Temp\Report.csv"
SELECT /*csv*/ select id,name,age from EMP;
spool off;

Ответ 7

1-Вы можете создать ссылку на базу данных (db link) в базе данных DEV, указывающую на базу данных UAT, на строки INSERT в базе данных DEV.

2-Или вы можете встроить PL/SQL процедуру в БД UAT для экспорта данных в файл в формате CSV и в БД DEV использовать внешние таблицы Oracle для ВЫБОР из этих файлов.
Будьте осторожны с датами DATE, запишите, используя TO_CHAR.

3 - Используйте Datapump для экспорта данных из БД UAT, а затем импортируйте в БД DEV; это немного сложно.

Ответ 8

Есть трюк, чтобы скопировать большой кусок данных (от разработчика SQL) в лист excel.

шаги, которые необходимо выполнить: Щелкните правой кнопкой мыши --- > экспортировать данные ---- > выберите формат в виде "Текст" --- > выберите тип как "Буфер обмена" ---- > откройте лист Excel и попробуйте паста, сохраняющая в виду следующее:)

Затем вставьте данные ПРИМЕЧАНИЕ: ** Не вставляйте данные в первую ячейку excel. Ctrl + v в любом столбце **

Это будет работать.

Спасибо