Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Импортирование таблицы - нарвался на баг или еще что  [new]
RusVol
Member

Откуда:
Сообщений: 352
9.2.0.7 Win2000
Запросили восстановить таблицу с экспорта.
Создал временную схему, восстановливаю в нее чтобы оригинал не трогать.
И получаю каrую-то чушь - выдает, что имеется некий индекс таблицы совсем 3-ей схемы, и импорт обрывается. Единственно, что этот индекс ошибочно создан от имени схемы, от которой пытаюсь восстановить таблицу.
На резервном сервере вообще удалил эту таблицу с корявым индексом - так импорт ругнулся, что этого неверный индекс отсутствует, и опять облом !
Баг что-ли, или еще что - разъясните, плз, что это такое происходит ?!
25 окт 06, 13:08    [3307832]     Ответить | Цитировать Сообщить модератору
 Re: Импортирование таблицы - нарвался на баг или еще что  [new]
Kovalchuk Vitaly V
Member

Откуда: ненька Україна
Сообщений: 463
Так пробовали
EXP INDEXES=N
25 окт 06, 13:27    [3308024]     Ответить | Цитировать Сообщить модератору
 Re: Импортирование таблицы - нарвался на баг или еще что  [new]
RusVol
Member

Откуда:
Сообщений: 352
Нет, так еще не пробовал. Эспортный файл - 26Г, потому все делается не быстро.
Восстановил на резервном сервере эту таблицу 3-й схемы с корявым индексом - так этот индекс вообще не восстановился, хотя сама таблица восстановилась нормально и импорт завершился успешно !
25 окт 06, 13:33    [3308070]     Ответить | Цитировать Сообщить модератору
 Re: Импортирование таблицы - нарвался на баг или еще что  [new]
Kovalchuk Vitaly V
Member

Откуда: ненька Україна
Сообщений: 463
Ну всё правильно индекс пытается создаться в другой схеме к которой либо нет доступа либо ещё что то.
Импортните без индекса.
imp indexes=N ignore=Y
А индекс если надо создайте руками.
25 окт 06, 13:40    [3308132]     Ответить | Цитировать Сообщить модератору
 Re: Импортирование таблицы - нарвался на баг или еще что  [new]
RusVol
Member

Откуда:
Сообщений: 352
Этот корявый индекс пересоздал правильно - от имени 3-й схемы,
и вновь попытался восстановить нужную таблицу - так импорт прошел успешно, но сообщения по восстановлению таблицы не было, и сама таблица не восстановилась.
Это уже что-то запредельное. Проверяю еще на одной таблице нужной схемы, не имеющей ни ПК/ФК, ни индексов...
25 окт 06, 13:50    [3308232]     Ответить | Цитировать Сообщить модератору
 Re: Импортирование таблицы - нарвался на баг или еще что  [new]
RusVol
Member

Откуда:
Сообщений: 352
Виталий, огромное спасибо, восстановление прошло только так, как Вы и посоветовали.
В целом это потрясающе. Выходит, что к важнейшей схеме я не имел полноценного логического восстановления (вместе с индексами) на уровне таблиц.
Безусловно, это баг. Просматриваю metalink по этой проблеме, если что увижу - сообщу.
25 окт 06, 14:37    [3308773]     Ответить | Цитировать Сообщить модератору
 Re: Импортирование таблицы - нарвался на баг или еще что  [new]
Kovalchuk Vitaly V
Member

Откуда: ненька Україна
Сообщений: 463
RusVol

Безусловно, это баг. Просматриваю metalink по этой проблеме, если что увижу - сообщу.

Это не баг это фича. Вы наверное импортили от пользовтеля у которого небыло прав к вашей "важнейшей логической схеме" либо импорт пытался создать индекс и сваливался с ошибкой что индекс существует. Из вашего описания проблемы я так ничего и не понял. Если бы лог файл импорта показали было бы понятней.

В любом случае при imp indexes=N импорт происходит без создания индексов а при imp ignore=Y импорт продолжается дальше несмотря на наличие ошибок.

К тому же если импортить большие таблицы то в начале лучше загрузить все строки а затем создавать индексы. Так будет на порядок быстрей.
К томуже структура индекса будет более оптимальной.
Т.е. импорт можно делать в два прохода.
1. imp indexes=N ignore=Y rows=Y
2. imp indexes=Y ignore=Y rows=N
Либо вместо 2-го пункта вручную запустить скрипты на создания индексов.
25 окт 06, 17:20    [3310243]     Ответить | Цитировать Сообщить модератору
 Re: Импортирование таблицы - нарвался на баг или еще что  [new]
RusVol
Member

Откуда:
Сообщений: 352
В 3-ей схеме имеется таблица, индекс у которой был создан ошибочно от обладателя схемы, по которой я пытался провести восстановление необходимой таблицы, никак не связанной с таблицей 3-й схемы - она не восстанавливалась в режиме indexes=y, т.к. говорила о существование этого корявого индекса и импорт обрывался.
Этот корявый индекс я видел по запросу :

SELECT TABLE_OWNER,OWNER,TABLE_NAME,INDEX_NAME from dba_indexes where owner != table_owner

Пересоздав корявый индекс как положено, от обладателя 3-й схемы,
и проведя после этого экспорт, на тестовом сервере я провел успешное восстановление таблицы в обычном режиме (indexes=y).
25 окт 06, 17:45    [3310454]     Ответить | Цитировать Сообщить модератору
 Re: Импортирование таблицы - нарвался на баг или еще что  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18486
Kovalchuk Vitaly V
К тому же если импортить большие таблицы то в начале лучше загрузить все строки а затем создавать индексы. Так будет на порядок быстрей.
К томуже структура индекса будет более оптимальной.
Т.е. импорт можно делать в два прохода.
1. imp indexes=N ignore=Y rows=Y
2. imp indexes=Y ignore=Y rows=N
Либо вместо 2-го пункта вручную запустить скрипты на создания индексов.
Зачем (в данном случае)?
Если индекс отсутствовал, то при импорте он создастся ПОСЛЕ импорта строк
Если присутствовал, то вариант в 2 прохода вообще выглядит невменяемо -- надо просто грохнуть индекс и не париться
26 окт 06, 02:22    [3311752]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить