基于物化视图的数据复制方式
1.1 主库上操作:
1)创建一个业务用户ap来进行测试,并授予dba权限,在主库创建一个测试表t1:
conn ap/ap
create table t1(id number primary key);
2)对t1表创建一个物化视图日志,用于物化视图的fast刷新复制:
create materialized view log on t1;
查询增加的日志表信息:
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
T1 TABLE
MLOG$_T1 TABLE
RUPD$_T1 TABLE
3)确认主库的global_name:
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
DSOURCE.REGRESS.RDBMS.DEV.US.ORACLE.COM
SQL> show parameter global_names
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
global_names boolean TRUE
2)在目标库上使用ap用户创建到主数据库的dblink:
conn ap/ap
create database link DSOURCE.REGRESS.RDBMS.DEV.US.ORACLE.COM connect to ap identified by ap using 'DSOURCE';
测试db link是否创建成功,已经可以显示主数据库名:
SQL> select name from v$ database@DSOURCE.REGRESS.RDBMS.DEV.US.ORACLE.COM ;
NAME
---------
DSOURCE
3)创建物化视图,1分钟刷新复制1次数据:
create materialized view t1mv
refresh fast
start with sysdate next sysdate+1/1440
with primary key
as
select * from t1@DSOURCE.REGRESS.RDBMS.DEV.US.ORACLE.COM ;
1.3 测试操作:
1)在主库上操作,向t1表插入数据:
conn ap/ap
insert into t1 values(1);
commit;
2)在目标库上操作,过1分钟之后,查询目标库中的物化视图t1mv,发现数据已经传输过来,配置成功:
conn ap/ap
SQL> select * from t1mv;
ID
----------
1
1.1 主库上操作:
1)创建一个业务用户ap来进行测试,并授予dba权限,在主库创建一个测试表t1:
conn ap/ap
create table t1(id number primary key);
2)对t1表创建一个物化视图日志,用于物化视图的fast刷新复制:
create materialized view log on t1;
查询增加的日志表信息:
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
T1 TABLE
MLOG$_T1 TABLE
RUPD$_T1 TABLE
3)确认主库的global_name:
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
DSOURCE.REGRESS.RDBMS.DEV.US.ORACLE.COM
1.2 目标库上操作:
1)确认目标库的global_names参数值是否为TRUE:SQL> show parameter global_names
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
global_names boolean TRUE
2)在目标库上使用ap用户创建到主数据库的dblink:
conn ap/ap
create database link DSOURCE.REGRESS.RDBMS.DEV.US.ORACLE.COM connect to ap identified by ap using 'DSOURCE';
测试db link是否创建成功,已经可以显示主数据库名:
SQL> select name from v$ database@DSOURCE.REGRESS.RDBMS.DEV.US.ORACLE.COM ;
NAME
---------
DSOURCE
3)创建物化视图,1分钟刷新复制1次数据:
create materialized view t1mv
refresh fast
start with sysdate next sysdate+1/1440
with primary key
as
select * from t1@DSOURCE.REGRESS.RDBMS.DEV.US.ORACLE.COM ;
1.3 测试操作:
1)在主库上操作,向t1表插入数据:
conn ap/ap
insert into t1 values(1);
commit;
2)在目标库上操作,过1分钟之后,查询目标库中的物化视图t1mv,发现数据已经传输过来,配置成功:
conn ap/ap
SQL> select * from t1mv;
ID
----------
1