物化视图

1  BW同步数据到EIP

业务需要EIP上面展现BW的数据,因此就需要从BW上面进行数据的抽取;

前提条件:EIP的应用直接连接BW数据库,根据公司的业务需求使用dblink来连接使用;

针对该需求有三个方案:

a)       通过DataGuard复制一个一模一样的数据库,然后从standby数据库进行数据的抽取;

b)       配置goldengate同步需要的表到EIP数据库;

c)       EIP数据库通过dblink连接到BW数据库,然后创建物化视图进行定期的同步;

 

1.1  DBlink的配置

在目标端数据库创建相应的DBLINK

脚本:

CREATE DATABASE LINK LINK_NAMEdblink名称)

CONNECT TO "username" identified by "password" usernamepassword为远程数据库的名称) 

USING '(DESCRIPTION =
    (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = sales.company.com)(PORT = 1521))
    )
    (CONNECT_DATA =
        (SERVICE_NAME = sales)
    )
)';


 

1.2 

 

 

 

 

 

 

同步的方案
   
 

a)       BW里面按照类别创建相应的schema,然后根据要求在这些schema下面创建相应的视图;

b)       根据相应的业务需求和用户在EIP数据库创建相应的dblink

c)       EIP数据库通过dblink连接到BW数据库,并创建相应的MW(物化视图)

d)      设置物化视图的同步策略;

 

1.3  流程管理

需要在流程里面创建相应的用户和角色管理流程,用于开发提交流程进行权限的授权;

a)审批流程: 

b)流程表单: 

1.4  客户端通过dblink连接到源端

a)       连接的语法;

例:select * from ogg.a1@yuan;

用户登录到target数据库,然后通过dblinkyuan的链接,连接到数据库source

b)  连接的用户要求;

目标端使用dblink的用户需要有使用dblink的权限,如果该dblinkPrivate的话,只有创建他的用户才能使用,如果是public的话,所有的用户都能使用;

c)  通过dblink连接时,可以对源数据进行删除,其他修改可以通过存储过程来解决;

d)  ALTER SESSION CLOSE database link yuan;关闭dblink连接

 

1.5  物化视图同步的策略

1、刷新的物化视图的策略:

a)  FORCE方式:Oracle会自动判断是否满足快速刷新的条件,如果满足则进行快速刷新,否则进行完全刷新;

b)  Complete方式:全部刷新,相当于重新执行一次创建视图的查询语句。

c)  Fast方式:增量刷新,假设前一次刷新的时间为t1,那么使用fast模式刷新物化视图时,只向视图中添加t1到当前时间段内,主表变化过的数据.为了记录这种变化,建立增量刷新物化视图还需要一个物化视图日志表;

d)  Never方式:从不刷新,如果刷新后会报错;

2、刷新物化视图的时间策略:

a)  on demand:在用户需要刷新的时候刷新,这里就要求用户自己动手去刷新数据了(也可以使用job定时刷新)

b)  on commit:当主表中有数据提交的时候,立即刷新MV中的数据;

c)  start ……:从指定的时间开始,每隔一段时间(由next指定)就刷新一次;

上一篇:什么技能产品经理不会提,但技术人必须懂?


下一篇:nova分析(10)—— nova-rootwrap