Есть ли в Oracle аналог mysqldump? - PullRequest
3 голосов
/ 15 марта 2011

Есть ли способ вывести содержимое таблицы оракула в файл, форматированный как оператор INSERT.Я не могу использовать oradump, как на GPL.Я буду запускать его из сценария Perl CGI.Я ищу что-то, чтобы выгрузить данные напрямую с сервера Oracle с помощью одной команды.Выполнение операторов select и создания операторов вставки с использованием perl слишком медленное, поскольку данных будет много.

Я знаю, что, вероятно, могу сделать это с помощью команды spool и блока plsql на стороне сервера.Но есть ли встроенная команда, чтобы сделать это вместо того, чтобы самому форматировать операторы INSERT?

Ответы [ 2 ]

0 голосов
/ 15 марта 2011

краткий ответ: НЕТ.На производительность генерации этих операторов вставки можно очень положительно повлиять, используя массовые выборки.Есть хороший шанс, что dbi поддерживает массовые выборки.Проверьте это и экспериментируйте с этим.Я также написал небольшую программу под названием fun, которая генерирует файлы загрузчика sql в PRO * c.Не лучший код, но вы можете получить его из недавнего блога, который я написал http://ronr.blogspot.com/2010/11/proc-and-xcode-32-how-to-get-it-working.html В статье я объяснил, как заставить PRO * c работать на Mac, используя xcode и программу, по совпадению wat fun.(Fast Un Load).Он почти делает то, что вы хотите, вы можете немного его настроить ... Надеюсь, это поможет.

0 голосов
/ 15 марта 2011

Генерирование большого числа операторов INSERT, вероятно, будет медленным независимо от того, как вы это делаете, и будет также медленным выполнять все вставки. Почему вы это делаете? Если вы не можете использовать такой инструмент, как насос данных, более эффективным решением было бы создание текстового файла, который впоследствии можно будет импортировать с помощью SQL * Loader.

...