Экспорт данных в плоский файл - PullRequest
0 голосов
/ 27 июня 2010

У меня вопрос новичка - я долго искал в Интернете, но не могу найти никаких ответов.

Я понимаю, что все пакеты, процедуры и хранимые программные блоки хранятся в системном табличном пространстве или табличном пространстве sysaux.Мое требование - скопировать несколько схем из исходной базы данных в целевую базу данных.Достаточно ли экспортировать схемы и перенести их в целевую базу данных?Приведет ли это также к сохранению сохраненных программных модулей. Или мне нужно будет экспортировать схемы sys / system?Я экспортировал одну схему и сделал следующее в unix.

strings expdat.dmp | grep -i "package", но это ничего не возвращает.Я также открыл файл exp и искал пакеты, но безрезультатно.Поэтому я создал файл parfile (tables = somepackagename), но exp пожаловался, что объект не найден.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 27 июня 2010

Пока процедуры / функции принадлежат экспортируемому пользователю, они должны входить в экспорт. Если вы не нашли «пакет», возможно, это связано с тем, что экспортированный вами пользователь не размещал никаких пакетов (но, возможно, только отдельные процедуры и / или функции). В зависимости от версии Oracle у вас может быть expdp и опция include.

Николя.

0 голосов
/ 27 июня 2010

Да, код для пакетов, процедур, функций и т. Д. Хранится в табличном пространстве SYSTEM, но при экспорте схемы Oracle не заботится об этом - она ​​захватывает DDL, необходимый для воссоздания объекта в новой базе данных.,

Как упоминает Н. Гаспаротто, убедитесь, что экспортируемая схема действительно владеет интересующими объектами.Вы можете получить краткую сводку по объектам, принадлежащим, подключившись к исходной базе данных с учетной записью, имеющей права доступа к каталогу, и выполнив этот запрос:

select owner, object_type, count(*)
from dba_objects
group by owner, object_type
;

(Например, вы можете увидеть только синонимы для интересующей схемыи поэтому он фактически не владеет пакетами)

Более новые утилиты expdp / impdp имеют больше возможностей, но имеют недостаток, заключающийся в том, что для создания объектов каталога Oracle требуются как доступ к файловой системе хоста базы данных, так и привилегии.Опыт / имп должен быть в порядке для того, что вам нужно сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...