Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 ORA-22992: при использовании mview over dblink  [new]
Jonhson
Member

Откуда: Мск
Сообщений: 979
mview (REFRESH FAST) строится по 2-м таблицам, в одной из них есть поле типа клоб, но оно не заливатеся.

мастер база 10.2.0.4, slave - 11.2.0.1


В чём может быть проблема?
19 окт 10, 12:54    [9633201]     Ответить | Цитировать Сообщить модератору
 Re: ORA-22992: при использовании mview over dblink  [new]
Jonhson
Member

Откуда: Мск
Сообщений: 979
да, анси синтаксис не используется (это к вопросу тут
19 окт 10, 12:56    [9633228]     Ответить | Цитировать Сообщить модератору
 Re: ORA-22992: при использовании mview over dblink  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6740
Jonhson,

Поле типа CLOB на стороне удалённой БД?
Матвью на стороне 10-ки?
19 окт 10, 13:22    [9633498]     Ответить | Цитировать Сообщить модератору
 Re: ORA-22992: при использовании mview over dblink  [new]
Jonhson
Member

Откуда: Мск
Сообщений: 979
env,

поле clob есть в таблице на мастере (10.2.0.4)

НО это поле не идёт в mv, которое на слейве (11.2.0.1)
19 окт 10, 17:56    [9636616]     Ответить | Цитировать Сообщить модератору
 Re: ORA-22992: при использовании mview over dblink  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6740
Jonhson,

create view ...
as
select f1,..,fN --fClob
from t
?
19 окт 10, 18:01    [9636665]     Ответить | Цитировать Сообщить модератору
 Re: ORA-22992: при использовании mview over dblink  [new]
Jonhson
Member

Откуда: Мск
Сообщений: 979
env,

create materialized view test_mv
refresh fast 
as 
select a.rowid,  a.id, a.val 
from a@dlink a, b@dblink b
     where a.id = b.id;

при этом таблица A содержит clob, но в запросе он не фигурирует
19 окт 10, 18:56    [9637082]     Ответить | Цитировать Сообщить модератору
 Re: ORA-22992: при использовании mview over dblink  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6740
Jonhson,

create view c as
select f1,..,fN --except fClob
 from a;
create materialized view test_mv
refresh fast 
as 
select a.rowid,  a.id, a.val 
from c@dlink a, b@dblink b
     where a.id = b.id;
?

Или вьюха
create view c as
select f1,..,fN --except fClob
 from a@dlink;

rowid потеряться не должен, хотя это и не есть гуд - использовать rowid вместо PK
SQL> create table killme_t as
  2  select level id, mod(level,3) clustered_data
  3  from dual connect by level<=1000;

Table created.

SQL> create view killme_v as
  2  select id,clustered_data from killme_t;

View created.

SQL> select t.rowid,t.id from killme_v t where id<10;

ROWID                      ID
------------------ ----------
AAAV0HAAEAAABALAAA          1
AAAV0HAAEAAABALAAB          2
AAAV0HAAEAAABALAAC          3
AAAV0HAAEAAABALAAD          4
AAAV0HAAEAAABALAAE          5
AAAV0HAAEAAABALAAF          6
AAAV0HAAEAAABALAAG          7
AAAV0HAAEAAABALAAH          8
AAAV0HAAEAAABALAAI          9

9 rows selected.

SQL> select t.rowid,t.id from killme_t t where id<10;

ROWID                      ID
------------------ ----------
AAAV0HAAEAAABALAAA          1
AAAV0HAAEAAABALAAB          2
AAAV0HAAEAAABALAAC          3
AAAV0HAAEAAABALAAD          4
AAAV0HAAEAAABALAAE          5
AAAV0HAAEAAABALAAF          6
AAAV0HAAEAAABALAAG          7
AAAV0HAAEAAABALAAH          8
AAAV0HAAEAAABALAAI          9

9 rows selected.
19 окт 10, 23:29    [9638021]     Ответить | Цитировать Сообщить модератору
 Re: ORA-22992: при использовании mview over dblink  [new]
Jonhson
Member

Откуда: Мск
Сообщений: 979
env,

rowid не не теряется, на в mview выводятся оба rowid

иначе бы fast mv не создалось

create materialized view test_mv
refresh fast 
as 
select a.rowid a_r, 
         b.rowid b_r, 
         a.id, 
         a.val 
from a@dlink a, b@dblink b
     where a.id = b.id;


но вопрос то не об этом, а про почему оракл неявно тянет клоб, который не нужен.
20 окт 10, 11:40    [9639478]     Ответить | Цитировать Сообщить модератору
 Re: ORA-22992: при использовании mview over dblink  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6740
Jonhson,

/*+ driving_site(a)*/
20 окт 10, 12:53    [9640191]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: ORA-22992: при использовании mview over dblink  [new]
Alexandr Kozhin
Member

Откуда: Санкт-Петербург
Сообщений: 2
присоединяюсь к вопросу. такая же история. почему не работает fast refresh даже если в мат. представлении не используется часть столбцов мастер таблицы, в том числе типа клоб.
25 апр 13, 13:29    [14229733]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить