Тема: Базы данных

Снятие дампов из Oracle XE в Ubuntu

Эта заметка поможет Вам снять дамп из 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 файл с логами.

Результат запроса MySQL в XML

В прошлый раз я рассказывал как решить такую задачу в Oracle, теперь расскажу как можно результат запроса выгрузить в файл средствами MySQL.

И так, у нас есть MySQL и большой объем данных. Скажу сразу, что раньше эту задачу я решал средствами PHP и Apache, мой объем данных выгружался за 12 - 18 часов. Теперь, только средствами MySQL, на это уходит несколько секунд (я был поражен).

Результат запроса Oracle в CSV или XML

Недавно встал вопрос о том как выгрузить огромный объем данных из Oracle в XML. И изначально я хотел призвать на помощь PHP, но загвоздка была бы в том что выгрузка длилась бы около суток, а то и более. И если я правильно не предугадаю какое время выполнения дать для PHP, то мне пришлось бы повторить процедуру, и возможно не один раз. Поэтому я решил покопать и найти в Oracle подобную возможность.