powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Перенос пользовательского типа из одной базы в другую
25 сообщений из 28, страница 1 из 2
Перенос пользовательского типа из одной базы в другую
    #39513472
ioserg2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день
Необходимо перенести пользовательский тип из одной базыданных в другую
Подскажите пожалуйста как это можно сделать что бы OID были одинаковы
...
Рейтинг: 0 / 0
Перенос пользовательского типа из одной базы в другую
    #39513474
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Перенос пользовательского типа из одной базы в другую
    #39513477
ioserg2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Viewer,

Спасибо, а как узнать OID определённого объекта?
...
Рейтинг: 0 / 0
Перенос пользовательского типа из одной базы в другую
    #39513481
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ioserg2018,

1) https://docs.oracle.com/database/121/ARPLS/d_metada.htm#ARPLS66869
2) expdb/impdb
3) найти скрипт которым "создавалось" в исходной

...
stax
...
Рейтинг: 0 / 0
Перенос пользовательского типа из одной базы в другую
    #39513496
ioserg2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax,

И где там написано как узнать OID объекта?
...
Рейтинг: 0 / 0
Перенос пользовательского типа из одной базы в другую
    #39513506
ioserg2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax,

МОжет есть какое-нибудь системное представление, что бы посмотреть там OID ?
...
Рейтинг: 0 / 0
Перенос пользовательского типа из одной базы в другую
    #39513522
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ioserg2018,

oid
...
Рейтинг: 0 / 0
Перенос пользовательского типа из одной базы в другую
    #39513524
ioserg2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
123йй,

Спасибо
...
Рейтинг: 0 / 0
Перенос пользовательского типа из одной базы в другую
    #39513538
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ioserg2018Stax,

МОжет есть какое-нибудь системное представление, что бы посмотреть там OID ?


если ворос об импорте, то в Кайта кажись описано как обмануть,
надо перед импортом саздать обьект

для impdb что-то есть
TRANSFORM = transform_name:value[:object_type]
OID - If the value is specified as n, the assignment of the exported OID during the creation of object tables and types is inhibited. Instead, a new OID is assigned. This can be useful for cloning schemas, but does not affect referenced objects. The default value is y.

я не ДБА, по imp/exp луче к ним

.....
stax
...
Рейтинг: 0 / 0
Перенос пользовательского типа из одной базы в другую
    #39513541
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ioserg2018,

не то?
Код: plsql
1.
2.
3.
4.
5.
SQL> select type_name,TYPE_OID from user_types where TYPE_NAME='TSCHEDULE';

TYPE_NAME                      TYPE_OID
------------------------------ --------------------------------
TSCHEDULE                      580BDAAE54001DE3E0534804A8C051B1



.....
stax
...
Рейтинг: 0 / 0
Перенос пользовательского типа из одной базы в другую
    #39513544
ioserg2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax,

я так и сделал, создал объект с тем же OID, теперь при выводе этого поля select из синонима, выдается ошибка
- Удаленные операции над таблицами объектов и столбцами пользовательских типов не разрешены

Нужно ли пересоздавать синоним?
...
Рейтинг: 0 / 0
Перенос пользовательского типа из одной базы в другую
    #39513549
ioserg2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax,

Балин, не тот OID записался
хотя я указывал при создании типа нужный OID объекта
типо:
Код: plsql
1.
2.
3.
CREATE OR REPLACE Type TScheduledOperation
       OID '111blablabla777'
       AS Object (



И все равно левый OID прописался
...
Рейтинг: 0 / 0
Перенос пользовательского типа из одной базы в другую
    #39513551
ioserg2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ioserg2018,

Нет все норм, левый OID на порожденном типе оказался
...
Рейтинг: 0 / 0
Перенос пользовательского типа из одной базы в другую
    #39513563
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ioserg2018Stax,

я так и сделал, создал объект с тем же OID, теперь при выводе этого поля select из синонима, выдается ошибка
- Удаленные операции над таблицами объектов и столбцами пользовательских типов не разрешены


шот я перегрелся
видать по разному понимаю "Перенос пользовательского типа из одной базы в другую"

.....
stax
...
Рейтинг: 0 / 0
Перенос пользовательского типа из одной базы в другую
    #39513571
ioserg2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax,

создать такой же с такой же структурой с таким же OID
Нет?
...
Рейтинг: 0 / 0
Перенос пользовательского типа из одной базы в другую
    #39513572
ioserg2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ioserg2018Stax,

создать такой же с такой же структурой с таким же OID
Нет?

Ну все ок, работает
...
Рейтинг: 0 / 0
Перенос пользовательского типа из одной базы в другую
    #39513577
ioserg2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax,

Так, теперь надо как-то перенести данные этого типа из одной БД в другую
Тип данных тот же самый - пользовательский тип
...
Рейтинг: 0 / 0
Перенос пользовательского типа из одной базы в другую
    #39513585
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ioserg2018Stax,

Так, теперь надо как-то перенести данные этого типа из одной БД в другую
Тип данных тот же самый - пользовательский тип

експоpт/імпорт не подходит?
у меня мало опыта рыботы с обьектами


зи
недавно кто на форуме кажись переносил (вернее пытался)

зии
для древних баз Кайт настоятельно рекомендовал создавать типы в отдельной схеме

....
stax
...
Рейтинг: 0 / 0
Перенос пользовательского типа из одной базы в другую
    #39513594
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ioserg2018,

к сожленью по буржуински

авторRestriction on Using User-Defined Types with a Remote Database

Objects or user-defined types (specifically, types declared with a SQL CREATE TYPE statement, as opposed to types declared within a PL/SQL package) are currently useful only within a single database. Oracle Database restricts use of a database link as follows:

You cannot connect to a remote database to select, insert, or update a user-defined type or an object REF on a remote table.

You can use the CREATE TYPE statement with the optional keyword OID to create a user-specified object identifier (OID) that allows an object type to be used in multiple databases. See the discussion on assigning an OID to an object type in the Oracle Database Data Cartridge Developer's Guide.

You cannot use database links within PL/SQL code to declare a local variable of a remote user-defined type.

You cannot convey a user-defined type argument or return value in a PL/SQL remote procedure call.



.....
stax
...
Рейтинг: 0 / 0
Перенос пользовательского типа из одной базы в другую
    #39513597
ioserg2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax,

пытался сделать прямой update, но выпала ошибка:
Код: plsql
1.
ora-01779 нельзя изменить столбец, который отображает non key-precerved таблицу


Что это такое?
...
Рейтинг: 0 / 0
Перенос пользовательского типа из одной базы в другую
    #39513607
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ioserg2018Stax,

пытался сделать прямой update, но выпала ошибка:
Код: plsql
1.
ora-01779 нельзя изменить столбец, который отображает non key-precerved таблицу


Что это такое?

update по линку?

імхо ето больше к вьюшкам
Код: plsql
1.
2.
3.
4.
5.
oerr ora 1779
01779, 00000, "cannot modify a column which maps to a non key-preserved table"
// *Cause: An attempt was made to insert or update columns of a join view which
//         map to a non-key-preserved table.
// *Action: Modify the underlying base tables directly.



зы

гугль перевод


авторВы не можете подключиться к удаленной базе данных для выбора,
вставки или обновления определенного пользователем типа или
REF объекта в удаленной таблице.



.....
stax
...
Рейтинг: 0 / 0
Перенос пользовательского типа из одной базы в другую
    #39513790
ioserg2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax,

Да, update по линку
Но простой select из синонима по ДБЛинку выводится, и update я делаю не удалённого объекта,
я беру select из ДБЛинка и вставляю данные в "местную" таблицу
Но не получается, почему такое может быть, вроде как все правильно делал, гугл я курил на эту тему, так же смотрел
как делается сложный update, пример кода, который пытаюсь выполнить:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
update 
(select t1.pole as pnew,t2.pole as pold
    from ttable1 t1
           join ttable2 t2
                 on t1.id=t2.id
) tt
set tt.pnew=tt.pold



Как вариант хочется попробовать ещё делать merge, но будет ли целесообразно сделать этот merge в курсоре,
так как таблицы большие....?
...
Рейтинг: 0 / 0
Перенос пользовательского типа из одной базы в другую
    #39513817
ioserg2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax,

можно ли ещё так же делать marge только лишь с частью таблиц
...
Рейтинг: 0 / 0
Перенос пользовательского типа из одной базы в другую
    #39513830
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ioserg2018Stax,

можно ли ещё так же делать marge только лишь с частью таблиц
наверное можно

но
1) у меня нет практического опыта работы с обектными таблицами (не люблю я их)
2) я не совсем понимаю вопрос


зы
на счет ora-01779 у вас вьюшка (запрос) no update (или как оно там называется)
иногда может помочь индексация, но надо ли, не знаю

......
stax
...
Рейтинг: 0 / 0
Перенос пользовательского типа из одной базы в другую
    #39513886
ioserg2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax,

Спасибо большое,
А как индексы-то помогут в этом воросе?
Ониж только упорядочевают записи, если это примари и создают ссылки на записи, если это форинг...?
Как они отработают при update поля с пользовтельским типом?
...
Рейтинг: 0 / 0
25 сообщений из 28, страница 1 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Перенос пользовательского типа из одной базы в другую
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]