*********--对于不包括long类型的物化视图****************
1.建立测试表
create table test_user(id int,name varchar2(20));
源 库:
SQL> show user;
USER 为 "TECHLINE"
SQL> create table test_user(id int,name varchar2(20));
表已创建。
目标库:
SQL> show user;
USER 为 "TEST01"
SQL> create table test_user(id int,name varchar2(20));
表已创建。
2.在源数据库上建立物化视图日志
create materialized view log on test_user;
SQL> create materialized view log on test_user;
create materialized view log on test_user
*
第 1 行出现错误:
ORA-12014: table 'TEST_USER' does not contain a primary key constraint
SQL> alter table test_user add primary key(id);
表已更改。
SQL> create materialized view log on test_user;
实体化视图日志已创建。
3.在目标数据库上建立DBlink
create public database link t32_link
connect to techline identified by techline
using 'fttest';
4.在目标库上建立物化视图
create materialized view test_user on prebuilt table
refresh fast as select * from test_user@t32_dblink;
5.更改视图的刷新方式
alter materialized view test_user refresh complete
start with sysdate
next sysdate+10/(24*60*60);
(3-4-5都在目标库上操作,步骤如下:)
----------------------------------------------
SQL> create public database link t32_dblink
2 connect to techline identified by techline
3 using 'fttest';
数据库链接已创建。
SQL> create materialized view test_user_mv on prebuilt table
2 refresh complete
3 as select * from test_user@t32_dblink;
create materialized view test_user_mv on prebuilt table
*
第 1 行出现错误:
ORA-12059: 预建表 "TEST01"."TEST_USER_MV" 不存在
SQL> create materialized view test_user on prebuilt table
2 refresh complete as select * from test_user@t32_dblink;
实体化视图已创建。
SQL> alter materialized view test_user refresh complete start with sysdate next sysdate+10/(24*60*60
);
实体化视图已更改。
----------------------------------------------
6.测试,在源数据库中
SQL> select * from test_user;
未选定行
SQL> insert into test_user values(1,'zxf');
已创建 1 行。
SQL> commit;
提交完成。
SQL> select * from test_user;
ID NAME
---------- --------------------
1 zxf
目标库中数据,10秒后就会有记录,更改一样
SQL> select * from test_user;
未选定行
SQL> select * from test_user;
ID NAME
---------- --------------------
1 zxf
*********--对于包括 long类型的物化视图****************
1.建立表
SQL> create table com_sql(id int,name varchar2(20),comsql long);
表已创建。
SQL> alter table com_sql add primary key(id);
表已更改。
分别在源数据库与目标数据库上建立
2.
SQL> create materialized view log on com_sql;
实体化视图日志已创建。
3.创建DBLINK(这里用t32_dblink)
4.建立物化视图,对于long类型,在网上处理采用 to_lob方式进行一下转化
但实际上会出错.................:(((((
也许是我的一个版本是9i,一个是10g版本有的不支持,你可以参考一下
http://yangtingkun.itpub.net/post/468/139790这个贴子
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/67668/viewspace-594305/
,如需转载,请注明出处,否则将追究法律责任。