Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Миграция с Oracle 10g на Oracle 11g (2 инвалида на схеме)  [new]
Tanatas
Member

Откуда:
Сообщений: 6
Здравствуйте, Уважаемые! После миграции БД с Oracle 10.2.0.4 на Oracle 11.2.0.2 два объекта стали инвалидными, которые до миграции валидны. Что это за объекты понять не могу:

IBS.SYS_PLSQL_126585_66_2 TYPE
IBS.SYS_PLSQL_126585_9_2 TYPE


Сталкивался ли кто-нибудь с похожей проблемой? Может быть посоветуете, что необходимо предпринять до миграции (или после), чтобы эти объекты были бы валидны и на БД на Oracle 11? Пока только делаем тестовые миграции. Из-за этой проблемы не рискуем мигрировать окончательно.

Заранее благодарен.

Александр.
9 дек 11, 15:04    [11737277]     Ответить | Цитировать Сообщить модератору
 Re: Миграция с Oracle 10g на Oracle 11g (2 инвалида на схеме)  [new]
Охрименко
Member

Откуда: Украина, Киев
Сообщений: 1440
Спросите у владельцев или разработчиков IBS. Потому как это не стандартная схема, по умолчанию такой нет. Кто ее создал тот знает как исправить.
9 дек 11, 15:13    [11737377]     Ответить | Цитировать Сообщить модератору
 Re: Миграция с Oracle 10g на Oracle 11g (2 инвалида на схеме)  [new]
-2-
Member

Откуда:
Сообщений: 15330
Tanatas,

Это "автотипы".
9 дек 11, 15:13    [11737388]     Ответить | Цитировать Сообщить модератору
 Re: Миграция с Oracle 10g на Oracle 11g (2 инвалида на схеме)  [new]
Tanatas
Member

Откуда:
Сообщений: 6
-2-
Tanatas,

Это "автотипы".


Понятно. На исходной БД они тоже есть и они валидны. Почему они невалидны на БД после миграции понять не можем. Причем объектов с подобными именами на схеме 28 штук, но только с двумя из них случилась такая проблема после миграции.
9 дек 11, 15:19    [11737457]     Ответить | Цитировать Сообщить модератору
 Re: Миграция с Oracle 10g на Oracle 11g (2 инвалида на схеме)  [new]
Vint
Member

Откуда: Москва
Сообщений: 4564
убейте - поймете где проблема) или проблемы нет вовсе)
9 дек 11, 16:17    [11738034]     Ответить | Цитировать Сообщить модератору
 Re: Миграция с Oracle 10g на Oracle 11g (2 инвалида на схеме)  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
Tanatas
-2-
Tanatas,

Это "автотипы".


Понятно. На исходной БД они тоже есть и они валидны. Почему они невалидны на БД после миграции понять не можем. Причем объектов с подобными именами на схеме 28 штук, но только с двумя из них случилась такая проблема после миграции.

почему невалидны - сильно не заморачивайтесь.
в качестве лапши-на-(чужие)-уши, для трактовки вероятностного эффекта их валидности при переносе
можете принять следующую байку -
имени у них нет. то есть есть, но генеренное из ораклового соответствующего сиквенса,
который в прошлой базе был один, а в этой живет (и тоже раздает - автономера).. другой.. т.е. такой же по
названию и функционалу, но таки другой (в смысле истории чего он уже пораздал по другим - своим, кроме вашего импорта, поводам)
ну и вот про некоторые номера эти два-в-одном и .. не договорились

на самом деле (имхо) тому истинную причину только кришна с вишной знают, ну да и фиг с этим.

в сухом остатке:
1) не надо автотипов. если нужен sql-тип - назовите его явно. и культура и средство от гемора,
и от греха - и в смысле сабж. (да и не только, кстати)
2) на пока - грохните их, в самом деле. пакетики, из которых они наавтогенерились перекомпилите - и всё авто-наладится
9 дек 11, 16:54    [11738397]     Ответить | Цитировать Сообщить модератору
 Re: Миграция с Oracle 10g на Oracle 11g (2 инвалида на схеме)  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10039
orawish
2) на пока - грохните их, в самом деле. пакетики, из которых они наавтогенерились перекомпилите - и всё авто-наладится


They might be autogenerated types not based on PL/SQL. E.g. simple COLLECT without CAST will create autogenerated type.

SY.
9 дек 11, 17:59    [11738883]     Ответить | Цитировать Сообщить модератору
 Re: Миграция с Oracle 10g на Oracle 11g (2 инвалида на схеме)  [new]
Vint
Member

Откуда: Москва
Сообщений: 4564
orawish
у нас такая хрень генерится если в пакете есть пайплайнд и возвращает он плскуль тип объявленный в этом же пакете.... убиваешь компилиш пакет и все отлично дальше работает... причем создается 3 объекта на каждый такой объявленный тип.
зы. гадость не моя но приходится пользоваться)
9 дек 11, 18:04    [11738915]     Ответить | Цитировать Сообщить модератору
 Re: Миграция с Oracle 10g на Oracle 11g (2 инвалида на схеме)  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
SY
orawish
2) на пока - грохните их, в самом деле. пакетики, из которых они наавтогенерились перекомпилите - и всё авто-наладится


They might be autogenerated types not based on PL/SQL. E.g. simple COLLECT without CAST will create autogenerated type.

SY.

да, согласен.
и, аналогично, имеет смысл на уровне соглашения(стандарта) разработки подобные вещи исключить
в пользу явного объявления типов.
9 дек 11, 18:23    [11739028]     Ответить | Цитировать Сообщить модератору
 Re: Миграция с Oracle 10g на Oracle 11g (2 инвалида на схеме)  [new]
Tanatas
Member

Откуда:
Сообщений: 6
[quot orawish]
Tanatas
пропущено...

2) на пока - грохните их, в самом деле. пакетики, из которых они наавтогенерились перекомпилите - и всё авто-наладится


Спасибо большое за подробный ответ. А как узнать, из каких пакетов они нагенерировались? Разработчик ПО не помог, к сожалению.
10 дек 11, 11:34    [11741050]     Ответить | Цитировать Сообщить модератору
 Re: Миграция с Oracle 10g на Oracle 11g (2 инвалида на схеме)  [new]
_Nikotin
Member

Откуда: СПб
Сообщений: 2965
select object_name from user_objects where object_id = 126585
10 дек 11, 13:13    [11741243]     Ответить | Цитировать Сообщить модератору
 Re: Миграция с Oracle 10g на Oracle 11g (2 инвалида на схеме)  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
[quot Tanatas]
orawish
пропущено...


Спасибо большое за подробный ответ. А как узнать, из каких пакетов они нагенерировались? Разработчик ПО не помог, к сожалению.

первое число внутри имени автотипа, генерированного пакетом суть object_id того пакета
(о чем, имхо, и хотел сказать _Nikotin )
SQL> create or replace package pck_test123 is
  2    type pck_type1 is table of number;
  3    type pck_type2 is table of pck_type1;
  4    function f1 return pck_type1 pipelined;
  5  end;
  6  /

Пакет создан.

SQL> with t as (
  2  select object_name as type_name
  3    from user_objects tp
  4   where object_type = 'TYPE'
  5  	and regexp_like (object_name,'^SYS_PLSQL_(.)*')
  6  )
  7  select cast(type_name     as varchar2(30)) as type_name
  8  	   ,cast(o.object_name as varchar2(30)) as package_name
  9  	   ,o.object_id package_id
 10    from t
 11  	   ,user_objects  o
 12   where object_id	= regexp_substr(t.type_name,'\d+')
 13  	and object_type = 'PACKAGE';

TYPE_NAME                      PACKAGE_NAME                   PACKAGE_ID        
------------------------------ ------------------------------ ----------        
SYS_PLSQL_151800_DUMMY_1       PCK_TEST123                        151800        
SYS_PLSQL_151800_9_1           PCK_TEST123                        151800    
12 дек 11, 13:03    [11748607]     Ответить | Цитировать Сообщить модератору
 Re: Миграция с Oracle 10g на Oracle 11g (2 инвалида на схеме)  [new]
XBard
Member

Откуда: Ярославль
Сообщений: 69
Узнаю ИБСО :)
13 дек 11, 11:26    [11754900]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить