您的位置:首页 > 数据库 > Oracle

ORACLE10g 物化视图配置

2010-11-18 10:45 225 查看

语法说明




 

. 目标库 - 创建DBLINK用于创建到源库的数据通道

创建DBLINK语句【create public database link dblink_name  connect to dblink_username identified by &pwd
  using '(DESCRIPTION=(ADDRESS = (PROTOCOL = TCP)(HOST =ip_address)
(PORT = 1521))(CONNECT_DATA=(SERVER = DEDICATED)(SID=sid)))';】

. 目标库 - 创建用户表空间

创建表空间语句【CREATE SMALLFILE TABLESPACE "tablespace_name" DATAFILE '+DATA' SIZE 30G;】
创建临时表空间语句 【CREATE SMALLFILE TEMPORARY TABLESPACE "tmp_tablespace_name" TEMPFILE '+DATA' SIZE 10G;】
注明: +DATA 为ASM管理的磁盘表空间,如果数据库没有配置ASM,则跟据实际情况写全整路径如 windows:“c:/oracle/datafile/”或 linux/unix: ”/home/oracle/datafile/”
SIZE 30G/SIZE 10G : 这是表空间大小 ,单位还可以为KB,MB;

. 目标库 - 创建用户及授权

创建用户语句【CREATE USER "user_name" PROFILE "DEFAULT" IDENTIFIED BY &pwd DEFAULT TABLESPACE "tablespace_name" TEMPORARY TABLESPACE "tmp_tablespace_name" ACCOUNT UNLOCK;】

用户授权语句【GRANT "CONNECT" TO "user_name";
GRANT "EXP_FULL_DATABASE" TO "user_name";
GRANT "IMP_FULL_DATABASE" TO "user_name";
GRANT "RESOURCE" TO "user_name";】

. 源库 - 创建物化视图专用表空间

创建物化视图表空间语句【CREATE SMALLFILE TABLESPACE "user_mv_tablespace_name" DATAFILE '+DATA' SIZE 10G ;】

. 源库 - 创建物化视图日志

创建物化视图日志语句-有主键【CREATE MATERIALIZED VIEW LOG ON sachme.tablename tablespace user_mv_tablespace_name WITH PRIMARY KEY;
创建物化视图日志语句-无主键【CREATE MATERIALIZED VIEW LOG ON sachme.tablename tablespace user_mv_tablespace_name WITH ROWID;

. 源库 - 对应表授权

对应表授权语句【GRANT SELECT ON sachme.tablename TO dblink_username ;】

. 源库 - 对应日志表授权

对应日志授权语句【SELECT 'GRANT SELECT ON ' ||LOG_TABLE || 'TO dblink_username' FROM DBA_MVIEW_LOGS WHERE MASTER='tables_name';

. 目标库 - 创建物化视图

创建物化视图语句 - 有主键【CREATE MATERIALIZED VIEW sachme.matrializedview_name TABLESPACE  tablespace_name REFRESH FAST ON DEMAND START WITH SYSDATE NEXT  TRUNC(SYSDATE)+1+2/24    WITH PRIMARY KEY FOR UPDATE AS SELECT * FROM sachme.tablename@dblink_name;】
创建物化视图语句 - 无主键【CREATE MATERIALIZED VIEW sachme.matrializedview_name TABLESPACE  tablespace_name REFRESH FAST ON DEMAND START WITH SYSDATE NEXT  TRUNC(SYSDATE)+1+2/24    WITH ROWID FOR UPDATE AS SELECT * FROM sachme.tablename@dblink_name;】
注明:


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: