表复制(物化视图)Oracle

时间:2013-04-10 13:54:24

标签: sql oracle replication materialized-views

我正在尝试使用物化视图(mw)和数据库链接(dblink)配置位于远程数据库(db)上的表复制。 有一点:

  • 我正在第一个db(tb)
  • 上创建表
  • 从第一个数据库到第二个数据库创建dblinks,然后向后创建
  • 在第二个数据库上创建mw,从tb中选择并设置刷新时间2分钟

但它没有刷新,如果我在第一个数据库上创建mw作为从tb中选择它刷新

如何配置mw的刷新?


MASTER SITE:

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网站:

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时出错

1 个答案:

答案 0 :(得分:0)

问题出在dblink中。我创建了dblink(固定用户),现在它可以工作了。谢谢你的帮助!

CREATE DATABASE LINK to_ora1_connected
connect to user identified by password
USING 'ora1';