oracle物化视图配置指导书 下载本文

sname => 'rbt',

use_existing_object => TRUE, copy_rows => FALSE); END; /

--其他索引添加到复制组语法如下

--作为约束的索引,当表在主站点上被创建的时候,会自动在复制站点上创建,但是对于 --提高性能的索引则不会被自动创建而必须手动指定。对于索引被复制到目标站点之后, --等同于本地的索引,不需要再添加复制支持。 BEGIN

DBMS_REPCAT.CREATE_MASTER_REPOBJECT ( gname => 'RBTSYN', type => 'INDEX',

oname => 'PK_OPERATION_LOGS', sname => 'rbt',

use_existing_object => TRUE, copy_rows => FALSE); END; /

2.9 在主体站点上生成复制支持

BEGIN

DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT ( sname => 'rbt',

oname => 't_rbt_operation_logs', type => 'TABLE',

min_communication => TRUE); END; /

2.10 在主体站点上开始复制

BEGIN

DBMS_REPCAT.RESUME_MASTER_ACTIVITY ( gname =>'RBTSYN'); END; /

2.11 主体站点上面建立物化视图日志表

--以复制用户连接到主站点 Conn rbt/rbt@ MAIN;

--建立物化视图日志表,FAST 刷新方式必须要求建立物化视图日志,COMPLETE 则不需要 CREATE MATERIALIZED VIEW LOG ON RBT.t_rbt_operation_logs;

3 物化视图站点配置

连接到物化视图站点 Conn sys/mcp@ MATEVIEW ;

3.1 建立物化视图管理员并授权

--在实际应用中,需要修改mvadmin帐号的密码,以确保安全。 CREATE USER mvadmin IDENTIFIED BY mvadmin; BEGIN

DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_SCHEMA ( username => 'mvadmin'); END;

/

GRANT COMMENT ANY TABLE TO mvadmin; GRANT LOCK ANY TABLE TO mvadmin;

GRANT SELECT ANY DICTIONARY TO mvadmin;

3.2 注册传播者,并授权

这里使用mvadmin 用户,也可以建立单独的用户 BEGIN

DBMS_DEFER_SYS.REGISTER_PROPAGATOR (username => 'mvadmin'); END;

/

--建立刷新者,并授权,这里使用mvadmin 用户刷新物化视图 --对于mvadmin 而言,不需要create session 权限

--但是这里如果新建用户的话,create session 权限则是必须的

GRANT CREATE SESSION TO mvadmin;

GRANT ALTER ANY MATERIALIZED VIEW TO mvadmin;

3.3 注册接收者,并授权

--注册接受者 BEGIN

DBMS_REPCAT_ADMIN.REGISTER_USER_REPGROUP ( username => 'mvadmin', privilege_type => 'receiver', list_of_gnames => NULL); END; /

3.4 建立到主站点公用的数据库链接

--通过sys用户,建立公用的数据库链接,注意在正式使用的时候,需要按照需要修改数据--库链接的名字和主站点上面的别名

CREATE PUBLIC DATABASE LINK MAIN.HWTT.NET.COM USING 'MAIN';

3.5 从物化视图站点建立到主站点上代理物化视图管理员的数据库链

Conn mvadmin/mvadmin@ meteview;

--需要根据需要,需要正确填写repadmin帐号对应的密码.

CREATE DATABASE LINK main.hwtt.net.com CONNECT TO repadmin IDENTIFIED BY repadmin;

3.6 在物化视图站点设置清除延迟序列的job

Conn mvadmin/mvadmin@ meteview;

--设置清除延迟序列的job

--如果物化视图站点只包括只读物化视图,这一步可以省略 BEGIN

DBMS_DEFER_SYS.SCHEDULE_PURGE ( next_date => SYSDATE,

interval => 'SYSDATE + 1/24', delay_seconds => 0, rollback_segment => '');

END; /

3.7 在物化视图站点上设置将修改推入到主站点的job

--如果物化视图站点只包括只读物化视图,这一步可以省略 BEGIN

DBMS_DEFER_SYS.SCHEDULE_PUSH ( destination => ' MAIN.HWTT.NET.COM',

interval => ' /*10:Secs*/ sysdate + 10/(60*60*24)', next_date => SYSDATE, stop_on_error => FALSE, delay_seconds => 0, parallelism => 0); END; /

3.8 对复制用户授权

Conn sys/mcp@ meteview;

ALTER USER rbt TEMPORARY TABLESPACE temp; GRANT

CREATE SESSION, CREATE TABLE,

CREATE PROCEDURE, CREATE SEQUENCE, CREATE TRIGGER,

CREATE VIEW,

CREATE SYNONYM, ALTER SESSION,

CREATE MATERIALIZED VIEW, ALTER ANY MATERIALIZED VIEW, CREATE DATABASE LINK, select any dictionary TO rbt;

3.9 在目标站点上面建立复制用户到主站点代理刷新者的数据库链

Conn rbt/rbt@ meteview;