Репликация таблиц (материализованное представление) Oracle

Я пытаюсь настроить репликацию таблицы, которая находится в удаленной базе данных (db), используя материализованное представление (mw) и ссылку на базу данных (dblink). Вот в чем суть:

  • Я создаю таблицу на 1-м дб (тб)
  • создание dblinks от 1-го db ко второму и обратно
  • создание mw на 2-м БД как выбрать из tb и установить время обновления 2 мин.

Но он не обновляется, и если я создаю mw на 1-м db, выбирая из tb, он обновляется

Что мне делать, чтобы настроить обновление mw?


ГЛАВНЫЙ САЙТ:

CREATE DATABASE LINK to_ora2_connected 
USING 'ora2';

drop table my_table
create table my_table
(
  field varchar(20) primary key,
  field2 number
);
CREATE MATERIALIZED VIEW LOG ON my_table;

SNAPSHOT SITE:

CREATE DATABASE LINK to_ora1_connected 
USING 'ora1';

select * from my_table@to_ora1_connected;

drop materialized view my_table_mw;
create materialized view my_table_mw
  build immediate
  refresh complete start with sysdate
  next sysdate  + 0.00175 
  as select * from my_table@to_ora1_connected;

insert into my_table values ('note2', 2);
select * from my_table;
select * from my_table@to_ora1_connected;
select * from my_table_MW;

журнал предупреждений:

Errors in file c:\app\ora1\diag\rdbms\ora2\ora2\trace\ora2_j000_3032.trc:
ORA-12012: ошибка при автоисполнении задания 63
ORA-04052: ошибка во время поиска удаленного объекта SYSTEM.SYS@TO_ORA1_CONNECTED
ORA-00604: ошибка на рекурсивном SQL-уровне 3
ORA-01017: invalid username/password; logon denied
ORA-02063: предшествующий line из TO_ORA1_CONNECTED
ORA-06512: на  "SYS.DBMS_SNAPSHOT", line 2558
ORA-06512: на  "SYS.DBMS_SNAPSHOT", line 2771
ORA-06512: на  "SYS.DBMS_IREFRESH", line 685
ORA-06512: на  "SYS.DBMS_REFRESH", line 195
ORA-06512: на  line 1

и этот сбой происходит каждые 10 секунд:

OER 7451 in Load Indicator : Error Code = OSD-04500: задан недопустимый параметр
O/S-Error: (OS 1) Неверная функция. !

"задан недопустимый параметр" - недопустимый параметр;
"Неверная функция" - неправильная функция;
"ошибка при автоисполнении задания" - ошибка при автозаполнении задания
"ошибка во время поиска удаленного объекта" - Ошибка при поиске удаленного объекта;
«ошибка на рекурсивном SQL-уровне 3» - Ошибка на рекурсивном SQL-уровне 3


person Eugene Mikulich    schedule 10.04.2013    source источник
comment
Вы совершили изменение?   -  person David Aldridge    schedule 10.04.2013
comment
@ Винсент Мальграт, да   -  person Eugene Mikulich    schedule 10.04.2013
comment
Какой параметр job_queue_processes установлен на сайте моментальных снимков? Вы видите запись в dba_jobs для обновления? Это задание когда-нибудь запускается? Есть ли сбои?   -  person Justin Cave    schedule 10.04.2013
comment
@Justin Cave job_queue_processes целое число 1000; выберите * из dba_jobs Я вижу эту запись, 16 сбоев   -  person Eugene Mikulich    schedule 10.04.2013
comment
@EugeneMikulich - ОК. Сбои привели бы к появлению записей в журнале предупреждений базы данных. Откройте журнал предупреждений, найдите трассировку стека и опубликуйте ее здесь.   -  person Justin Cave    schedule 10.04.2013
comment
@ Джастин Кейв. ORA-12012: ошибка при автоисполнении задания 63 ORA-04052: ошибка во время поиска удаленного объекта SYSTEM.SYS@TO_ORA1_CONNECTED ORA-00604: ошибка на рекурсивном SQL-уровне 3 ORA-01017: неверное имя пользователя / пароль; вход в систему запрещен ORA-02063: предшествующая строка из TO_ORA1_CONNECTED ORA-06512: на SYS.DBMS_SNAPSHOT, строка 2558 ORA-06512: на SYS.DBMS_SNAPSHOT, строка 2771 ORA-06512: на SYS.DBMS_IREFRESH-06512: на SYS.DBMS_IREFRESH-06512: на SYS.DBMS_IREFRESH-06512, строка. DBMS_REFRESH, строка 195 ORA-06512: на строке 1   -  person Eugene Mikulich    schedule 10.04.2013
comment
и этот сбой происходит каждые 10 секунд - OER 7451 в индикаторе нагрузки: Error Code = OSD-04500: задан недопустимый параметр O / S-Error: (OS 1) Неверная функция. !. задан недопустимый параметр - недопустимый параметр; Неверная функция - некорректная функция; ошибка при автоисполнении задания - ошибка при автозаполнении задания ошибка во время поиска удаленного объекта - Ошибка при поиске удаленного объекта; ошибка на рекурсивном SQL-уровне 3 - Ошибка на рекурсивном SQL-уровне 3   -  person Eugene Mikulich    schedule 10.04.2013
comment
Было бы проще, если бы вы отредактировали свое сообщение, включив в него эту информацию, вместо того, чтобы заставлять нас пытаться читать данные в комментариях. Однако похоже, что ссылка на базу данных была настроена с неправильным паролем.   -  person Justin Cave    schedule 10.04.2013
comment
@Justin Cave, это странно, потому что у всех пользователей одинаковый пароль.   -  person Eugene Mikulich    schedule 10.04.2013
comment
Какую версию Oracle вы используете с обеих сторон? Есть ли шанс, что одна из двух систем использует пароли с учетом регистра, а другая - нет? Работают ли другие запросы по ссылке на базу данных?   -  person Justin Cave    schedule 10.04.2013
comment
@Justin Cave оба - 11,2 г. Я создал эти две базы данных на одном сервере   -  person Eugene Mikulich    schedule 10.04.2013
comment
@EugeneMikulich - Ну, ошибка говорит вам, что пароль неверный. Как вы определили ссылку на базу данных? Вы используете фиксированное имя пользователя и пароль? Вы подключаетесь как current_user? Либо пароль неверен, либо вы не подключаетесь к базе данных, к которой, как вы думаете, подключаетесь.   -  person Justin Cave    schedule 10.04.2013
comment
@Justin Cave, код написан в моем первом предложении. И когда я использую dblink в select * from my_table @ to_ora1_connected, он работает. Попробую по-другому воссоздать dblink.   -  person Eugene Mikulich    schedule 10.04.2013
comment
Проблема была в dblink. Я создал dblink (фиксированный пользователь), и теперь он работает. Спасибо за помощь!   -  person Eugene Mikulich    schedule 11.04.2013


Ответы (1)


Проблема была в dblink. Я создал dblink (фиксированный пользователь), и теперь он работает. Спасибо за помощь!

CREATE DATABASE LINK to_ora1_connected
connect to user identified by password
USING 'ora1';
person Eugene Mikulich    schedule 10.04.2013