| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Oracle > impdp |
| Автор: setnull 15.9.2009, 13:20 | ||
| Все здравствуйте!!! Делаю impdp (expdp прошел без ошибок)... все завершается так:
Что это может быть? И еще: можно как-нибудь указать imp/exp'у чтоб не имп/экспортировать, к примеру триггеры, или вообще определенную проседуру? Спасибо!!!! |
| Автор: ToshaCh 26.9.2009, 10:26 |
| Ты какую схему импортишь? Не sys случайно? По поводу второй часть вопроса: параметр INCLUDE. Ну и expdp -help не лишняя фишка. |
| Автор: setnull 7.10.2009, 09:52 | ||
нет, свою. Include уже нашел... Спасибо. |
| Автор: ToshaCh 7.10.2009, 13:06 | ||
| Хм. Вот жешь как интерестно. LPX... У тебя там xml используется? Давай попробуем стили перегрузить. На базе, на которую импортируешь выполни под sys.
|
| Автор: setnull 22.10.2009, 15:31 | ||
1) в initmeta.sql у меня лежит такой код
он не выполнялся, т.к. в SYS.DBMS_METADATA_UTIL.LOAD_STYLESHEETS у меня параметры отсутствуют.... 2)Я выполнил без пути... Но на поведении impdp это никак не отразилось. 3)Може это имеет значение, я лью в другую схему (remap_schema) |
| Автор: setnull 22.10.2009, 16:16 |
| И если сделать exclude=trigger, указанная ошибка пропадает |
| Автор: ToshaCh 24.10.2009, 12:53 |
| Гы. Порыл я священный металинк. Тебе надо патч походу ставить. База какой версии? Doc ID: 453918.1 |
| Автор: setnull 27.10.2009, 09:22 |
| 10 g. Я не заметалинченый. По крайней мере ничего для этого не деал. Или там свободный доступ? Не раз встречал фразы подобные "Если есть доступ на металинк, ...". |
| Автор: ToshaCh 27.10.2009, 22:13 |
| Если у тебя официально купленая база, то ты можешь создать себе металинк аккаунт используя свой CSI. Если же нет придётся выкручиваться. Раз у тебя криво заливаются тригеры, попробуем обдурить систему. У импорта есть параметр sqlfile, который позволяет нагенерить ddl код. Т.е. тебе надо слить твои тригеры в скрипт, доработать напильником, и исполнить |
| Автор: setnull 28.10.2009, 15:59 |
| Спасибо!!! а в чем именно глюк я по ddl определю? ничего сложного? |
| Автор: setnull 28.10.2009, 17:52 | ||||
в файл пишет
все :( |
| Автор: ToshaCh 28.10.2009, 23:33 |
| Блин, вот зараза |
| Автор: setnull 29.10.2009, 09:09 |
| А это возможно сделать тоже какими-нибудь не GUIшными средствами? |
| Автор: ToshaCh 29.10.2009, 09:58 |
| Ну дык sqlplus! |
| Автор: setnull 29.10.2009, 13:23 |
| |
| Автор: setnull 29.10.2009, 13:59 |
| и можно ли это реализовать batником, и чтоб как в expdp сразу для нескольких схем? просто с sqlplus практичекси не работал...( |
| Автор: setnull 29.10.2009, 15:15 | ||
вот, если у меня есть такой код
как мне сделать, чтоб 1) вывести содержимое в какой-нибудь файл? есть что-то типа DBMS_FILE_IO? чего-то не нахожу ничего.. 2) указанный код выполнялся через бат-файл? или это вообще можно сделать как-то гараздо проще? И еще хочу оточнить в чем конкретно глюк в empdp/impdp? Некорректно формируется сам дамп-файл, или ошибки именно этапа импорта? Т.е. если поставить патч, уже имеющиеся дампы будут импортироваться? Спасибо!!! |
| Автор: setnull 29.10.2009, 16:13 | ||
Вот. Как теперь его через бытник запустить? |
| Автор: setnull 29.10.2009, 16:29 | ||
Блин!!! Этот скрипт вязывает ту же самую ошибку!!!!
|
| Автор: Zloxa 29.10.2009, 16:52 | ||
| Похоже на баг. У тебя что вернет:
|
| Автор: ToshaCh 29.10.2009, 17:17 |
Это именно баг. Я выше писал об этом. Нужно патч ставить, т.к. dbms_metadata не пашет. Либо ставить патч, либо раскручивать dba_source |
| Автор: setnull 30.10.2009, 10:45 | ||
| Так да. у меня ошибку швыряет именно dbms_metadata.get_ddl. И, собственно, предложенный запрос также. Причем, только на отдельных триггерах. Сильно не анализировал, но навскидку на тех, которые отличаются большими размерами, но тоже не факт. (Может, это ассоциативное мнение из-за предложенного
) И тут вот еще что у меня вчера всплыло блин. Это тот же баг? Вот захожу в свои схемы - там все замечательно (с таблицами). Если же заходить через sys в эти же схемы, то кроме нормальных таблиц там также присутствуют таблицы с именами такого вида BIN$/FTzNt4HSwaArTixM/7I7Q==$0 и со структурами оригинальных таблиц (оригинальные также присутствуют в нормальном виде). Также и с такими же иероглифическими именами эти таблицы имеют и соответствующие оригиналу триггеры. Так вот при попытке metadata построить ddl для таких триггеров, говорит, что не может найти такой объект. Но все равно, если ставишь фильтр and (object_name not like 'BIN%') в запросе на множество трггеров, и работая только с оригиналами LPX-00225 вылетает именно на нормальных объектах. Также отмечу, что не смотря на отсутствие BIN$таблиц в оригинальных схеммах, поведение же все запросов вокруг all_objects и dbms_metadata не меняется, если вызывать их под этими схемами. Т.е. тоже на может найти BIN$/FTzNt4HSwaArTixM/7I7Q==$0 и все то же LPX-00225. Что это вообще за BIN$ы? Уж очень они мне не нравятся? Ну а возвращаясь к ddl, сейчас буду разбираться с dba_source. Спасибо!!!. |
| Автор: setnull 30.10.2009, 11:06 |
| так, с dba_source, вроде, все понятно. Единственное уточню: Там все начинается со строк "TRIGGER "SCHEME"."TRIGGER_NAME". Если же я хочу получиь DDL, то нужно просто добавиь CREATE OR REPLACE? Или есть еще какие-то нюансы? И, все-таки, как же потом выполнение моего скрипта реализовать через бат-файл? И все еще переживаю за BIN$-глюки. Насколько это серьезно? Что это? Или это проявление той же дыры? P.S. Так а в чем собственно этот баг, который патчить нужно, выражается? Какой его характер? Может быть, что сейчас проблема с триггерами, а потом возникнет и с пакетами или еще с чем? Или, обойдя, эту ситуацию с триггерами, в дельнейшем к ней не вернусь? Спасибо!!! |
| Автор: ToshaCh 30.10.2009, 15:26 |
| setnull, BIN$ это оракловая мегамысль (чтоб юзвери чувтствовали себя в базе как в родном вантузе). Это называется http://www.orafaq.com/node/968. В принципе почисти корзину, может быть поможет и не придётся тогда ковырять dba_source. |
| Автор: setnull 3.11.2009, 12:03 |
| Странно, но я и сам догадывался, что BIN$ы связаны с корзиной, только искал почему-то более косвенную связь Как бы там ни было, но очистка корзины никак не отобразилась на imp'е. В общем у меня осталось три актуальных вопроса 1) Достаточно ли для формирования DDL отдельного трггеора просто сконкатенировать 'create or replace' с соответствующей последовательностью кода из dba_source 2) Как выполнить опеределенный PL код из командной строки, только невнесением последовательности команд, а типа бат-файл, чтоб прописать все, что необходимо, а оператор только запускал.... 3) В полной ли мере решается проблема с этим багом при imp, если осуществить отдельнуюу выгрузку триггеров? Или следом может полететь выгрузка других объектов? В чем именно этот баг заключается? Спасибо!!! Добавлено через 4 минуты и 39 секунд А, и еще, я могу как-то узнать, гуляя по all_objects и т.п., что объект Корзинный по более достоверному признаку, чем object_name like 'BIN$%'? Приджойнить, может, что-то можно? |
| Автор: setnull 4.11.2009, 09:41 |
| благодарю!!! Добавлено через 14 минут и 15 секунд P.S. а еще в dba_source нет информации касательно состояния триггера. Как ее узнать? |
| Автор: ToshaCh 4.11.2009, 10:37 |
| В смысле валидный/не валидный? dba_objects (ну или all_objects). |
| Автор: setnull 4.11.2009, 10:47 | ||
нет. Вот нашел
|