网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.如何将.gz文件分割为数个1.44mb.
.linux环境下如何undelete.
.Oracle Support全球解答的最hot的.
.Oracle里汉字长度问题.
.如何在OracleE数据库的字段上建立.
.Oracle 9i在AIX上的性能调整──.
.RedHat8下面安装Oracle 9i笔记.
.解决Windows环境下Oracle无法连接.
.oracle8i-系统结构的组件(入门篇.
.PL/SQL初学者必读:几十个实用的.
.vim 使用技巧.
.如何利用QCTO开发可重复使用的测.
.一个优秀的分析trace文件的脚本.
.将oracle加载为linux标准系统服务.
.Oracle 9i的数据类型.
.Oracle迁移SQL Server的陷阱.
.实例讲解如何更改字段至兼容的不.
.手工创建数据库的全部脚本及说明.
.Oracle编程经验及维护点滴.
.ORACLE供应链管理系统.

怎样使两台服务器的oracle9i的数据同步

发表日期:2008-2-9


高机复制就是物化视图:
  物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照。
  
  物化视图可以查询表,视图和其它的物化视图。
  
  通常情况下,物化视图被称为主表(在复制期间)或明细表(在数据仓库中)。
  
  对于复制,物化视图答应你在本地维护远程数据的副本,这些副本是只读的。假如你想修改本地副本,必须用高级复制的功能。当你想从一个表或视图中抽取数据时,你可以用从物化视图中抽取。
  
  对于数据仓库,创建的物化视图通常情况下是聚合视图,单一表聚合视图和连接视图。
  
  本篇我们将会看到怎样创建物化视图并且讨论它的刷新选项。
  
  在复制环境下,创建的物化视图通常情况下主键,rowid,和子查询视图。
  
  1.主键物化视图:
  下面的语法在远程数据库表emp上创建主键物化视图
  
  SQL> CREATE MATERIALIZED VIEW mv_emp_pk
  REFRESH FAST START WITH SYSDATE
  NEXT SYSDATE + 1/48
  WITH PRIMARY KEY
  AS SELECT * FROM emp@remote_db;
  Materialized view created.
  注重:当用FAST选项创建物化视图,必须创建基于主表的视图日志,如下:
  
  SQL> CREATE MATERIALIZED VIEW LOG ON emp;
  Materialized view log created.
  
  2.Rowid物化视图
  下面的语法在远程数据库表emp上创建Rowid物化视图
  
  SQL> CREATE MATERIALIZED VIEW mv_emp_rowid
  REFRESH WITH ROWID
  AS SELECT * FROM emp@remote_db;
  Materialized view log created.
  
  3.子查询物化视图
  下面的语法在远程数据库表emp上创建基于emp和dept表的子查询物化视图
  
  SQL> CREATE MATERIALIZED VIEW mv_empdept
  AS SELECT * FROM emp@remote_db e
  WHERE EXISTS
  (SELECT * FROM dept@remote_db d
  WHERE e.dept_no = d.dept_no)
  Materialized view log created.
  REFRESH 子句
  
  [refresh [fastcompleteforce]
  [on demand commit]
  [start with date] [next date]
  [with {primary keyrowid}]]
  
  Refresh选项说明:
  
  a. nOracle用刷新方法在物化视图中刷新数据.
  
  b. 是基于主键还是基于rowid的物化视图
  
  c. 物化视图的刷新时间和间隔刷新时间
  
  Refresh方法-FAST子句
  
  增量刷新用物化视图日志(参照上面所述)来发送主表已经修改的数据行到物化视图中.假如指定REFRESH FAST子句,那么应该对主表创建物化视图日志
  
  SQL> CREATE MATERIALIZED VIEW LOG ON emp;
  Materialized view log created.
  
  对于增量刷新选项,假如在子查询中存在分析函数,则物化视图不起作用。
  
  Refresh方法- COMPLETE子句
  
  完全刷新重新生成整个视图,假如请求完全刷新,oracle会完成    完全刷新即使增量刷新可用。
  
  Refresh Method – FORCE 子句
  
  当指定FORCE子句,假如增量刷新可用Oracle将完成增量刷新,否则将完成完全刷新,假如不指定刷新方法(FAST, COMPLETE, or FORCE),Force选项是默认选项
  
  主键和ROWD子句
  
  WITH PRIMARY KEY选项生成主键物化视图,也就是说物化视图是基于主表的主键,而不是ROWID(对应于ROWID子句). PRIMARY KEY是默认选项,为了生成PRIMARY KEY子句,应该在主表上定义主键,否则应该用基于ROWID的物化视图.
  
  主键物化视图答应识别物化视图主表而不影响物化视图增量刷新的可用性。
  
  Rowid物化视图只有一个单一的主表,不能包括下面任何一项:
  
  n Distinct 或者聚合函数.
  
  n Group by,子查询,连接和SET操作
  
  刷新时间
  
  START WITH子句通知数据库完成从主表到本地表第一次复制的时间,应该及时估计下一次运行的时间点, NEXT 子句说明了刷新的间隔时间.
  
  SQL> CREATE MATERIALIZED VIEW mv_emp_pk
  REFRESH FAST
  START WITH SYSDATE
  NEXT SYSDATE + 2
  WITH PRIMARY KEY
  AS SELECT * FROM emp@remote_db;
  Materialized view created.
  在上面的例子中,物化视图数据的第一个副本在创建时生成,以后每两天刷新一次.
  
  总结
  物化视图提供了可伸缩的基于主键或ROWID的视图,指定了刷新方法和自动刷新的时间。
      

上一篇:Oracle 8 数据库函数库的列举与具体介绍 人气:800
下一篇:Oracle面试时候的几个常见的技术问题 人气:576
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐