- Разместил
Дмитрий Сергеевич
- Дата: 2009/10/05 в 13:10
Иногда разработчики могут сталкиваться с ошибкой экспорта из базы данных Oracle, подобная ошибка может возникать также при импорте данных
C:\> exp user/password@SOME.DB.LINK.INT tables=sometbl file=c:\sometbl.dmp
Export: Release 10.2.0.1.0 - Production on Tue Sep 29 15:57:36 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
EXP-00056: ORACLE error 6550 encountered
ORA-06550: line 1, column 41:
PLS-00302: component 'SET_NO_OUTLINES' must be declared
ORA-06550: line 1, column 15:
PL/SQL: Statement ignored
EXP-00000: Export terminated unsuccessfully
Причем возникает это, как правило, с сервером баз данных версия которого отличается от версии используемого клиента. Узнать версию сервера БД Oracle можно использовав следующий запрос
select * from v$version;
BANNER
--------
Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Prod
PL/SQL Release 10.1.0.3.0 - Production
CORE 10.1.0.3.0 Production
TNS for Linux: Version 10.1.0.3.0 - Production
NLSRTL Version 10.1.0.3.0 - Production
Использование различных релизов и версий утилит экспорта (EXP) и импорта (IMP)
Рассмотрим проблемы совместимости при использовании различных релизов EXP и сервера БД Oracle. При перемещении данных между различными релизами Oracle database, следует использовать следующие правила:
- Утилита импорта (IMP) и база данных в которую будет осуществлятся импорт (т.е. целевая БД) должны быть одной версии.
- Утилита экспорта (EXP) должна быть либо одной версии, либо более ранней, чем БД источник.
Например, для создания файла экспорта, с целью его последующего импорта в базу данных более поздней версии, используем версию экспорта равную БД источника. И наоборот, для создания файла экспорта, с целью его последующего импорта в базу данных более ранней версии, используем версию экспорта равную БД приемника (т.е. целевой БД).
Ограничения по использованию различных версий экспорта (EXP) и импорта (IMP)
Следующие ограничения применимы при использовании различных релизов экспорта (EXP) и импорта (IMP):
- Дамп-файлы экспорта могут быть прочитаны только утилитой импорта (IMP), так как сохранены в специальном двоичном виде.
- Любой дамп-файл экспорта может быть импортирован в базу данных Oracle более позднего релиза.
- Утилита импорта (IMP) не может прочитать дамп-файл экспорта созданный утилитой экспорта (EXP) более поздней поддерживаемой версии. Например, дамп-файл экспорта версии 9.2 не может быть импортирован утилитой импорта (IMP) версии 9.0.1.
- Более ранние версии утилиты экспорта работают с поздними версиями БД Oracle, категории объектов БД которые не существуют в более ранней версии исключаются из экспорта.
Примеры использования экспорта и импорта
Таблица – 1. Примеры использования версий экспорта и импорта, для разных версий БД Oracle
| из БД->в БД |
EXP |
IMP |
| 8.1.6 -> 8.1.6 |
8.1.6 |
8.1.6 |
| 8.1.5 -> 8.0.6 |
8.0.6 |
8.0.6 |
| 8.1.7 -> 8.1.6 |
8.1.6 |
8.1.6 |
| 9.0.1 -> 8.1.6 |
8.1.6 |
8.1.6 |
| 9.0.1 -> 9.0.2 |
9.0.1 |
9.0.2 |
| 9.0.2 -> 10.1.0 |
9.0.2 |
10.1.0 |
| 10.1.0 -> 9.0.2 |
9.0.2 |
9.0.2 |
| 10.1.0 -> 10.2.0 |
10.1.0 |
10.2.0 |