Эта заметка поможет Вам снять дамп из Oracle XE в Ubuntu (проверено в 10.10 и 11.04).
Основная проблема заключается в том, что при установке Oracle XE в .bashrc добавляются строки для экспорта ORACLE_HOME и ORACLE_SID, а так же, Ваш пользователь не состоит в группе dba.
И так, в начале добавляем себя в dba.
$ useradd -G dba user_name
где user_name - это Ваше имя пользователя.
Теперь переменные:
$ export ORACLE_HOME="/usr/lib/oracle/xe/app/oracle/product/10.2.0/server" $ export ORACLE_SID="XE"
И теперь экспортируем:
$ ./exp scott/tiger file=~/db.dmp log=~/emp.log rows=yes indexes=no
где scott - имя пользователя/схемы, tiger - пароль, ~/db.dmp - файл дампа, ~/emp.log файл с логами.
В прошлый раз я рассказывал как решить такую задачу в Oracle, теперь расскажу как можно результат запроса выгрузить в файл средствами MySQL.
И так, у нас есть MySQL и большой объем данных. Скажу сразу, что раньше эту задачу я решал средствами PHP и Apache, мой объем данных выгружался за 12 - 18 часов. Теперь, только средствами MySQL, на это уходит несколько секунд (я был поражен).
Недавно встал вопрос о том как выгрузить огромный объем данных из Oracle в XML. И изначально я хотел призвать на помощь PHP, но загвоздка была бы в том что выгрузка длилась бы около суток, а то и более. И если я правильно не предугадаю какое время выполнения дать для PHP, то мне пришлось бы повторить процедуру, и возможно не один раз. Поэтому я решил покопать и найти в Oracle подобную возможность.