问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在oracle中建立sqlserver的物化视图语句

发布网友 发布时间:2022-04-08 03:09

我来回答

3个回答

懂视网 时间:2022-04-08 07:31

的ODI工具进行抽数,但是对方提供的数据库用户下没有任何对象,只是有查询所有表的权限,因此无法做数据反向。

于是决定使用物化视图,把对方数据库中的数据拿过来,虽然数据量比较大,但是每月只拿一次,而且如果设置成增量更新,也不会太慢。现在记录下物化视图的创建过程(以一张表为例)。

一、准备条件以及备注

假设双方数据库都是ORACLE10g,需要同步过来的表名叫:GG_ZLX_ZHU,对方数据库用户名:username,密码:password,SID:CPEES。

二、开始干活

1、首先要创建DB_LINK

  1. CREATE DATABASE LINK to_cpees  
  2.  
  3. CONNECT TO "username" identified by "password"  
  4.  
  5. using "CPEES"  

其中CPEES为新建的到对方数据库的TNS。执行,现在我们就已经创建了到对方数据库的DB_LINK TO_CPEES。

2、创建Oracle物化视图快速刷新日志

因为上面说过,以后视图的刷新将采用增量刷新的方式,因此,为配合增量刷新,ORACLE要求要在住表上建立物化视图日志。

  1. CREATE MATERIALIZED VIEW LOG ON GG_ZLX_ZHU  
  2.  
  3. WITH PRIMARY KEY  
  4.  
  5. INCLUDING NEW VALUES;  
  6.  

(上面的SQL要在远程数据库上执行,不能在本地执行)

3、创建Oracle物化视图

Oracle物化视图,从名字上面来开,它应该是属于视图,但是确实物化。其物化是针对普通视图并没有真正的物理存储而言,其实可以简单的把物化视图看做一个物理表(不再做具体解释)。

  1. CREATE MATERIALIZED VIEW GG_ZLX_ZHU --创建物化视图  
  2.  
  3. BUILD IMMEDIATE  --在视图编写好后创建  
  4.  
  5. REFRESH FAST WITH PRIMARY KEY  --根据主表主键增量刷新(FAST,增量)  
  6.  
  7. ON DEMAND  -- 在用户需要时,由用户刷新  
  8.  
  9. ENABLE QUERY REWRITE  --可读写  
  10.  
  11. AS  
  12.  
  13. SELECT * FROM GG_ZLX_ZHU@TO_CPEES; --查询语句  

4、视图刷新

根据业务需要,每月不定时刷新,所以不能是JOB,而且数量多,所以也不能一个一个刷新。根据以上条件,选择使用ORACLE自带工具DBMS_MVIEW工具包中REFRESH方法对物化视图进行刷新。该方法有两个参数,第一个参数是需要刷新的物化视图名称,第二个参数是刷新方式。我们可以写存储过来,对每个物化视图调用一次REFRESH方法,也可以使用“,”把物化视图连接以来,一次刷新。如下:

  1. CREATE OR REPLACE PROCDURE P_MVIEW_REFRESH AS  
  2.  
  3. BEGIN  
  4.  
  5. DBMS_MVIEW.REFRESH(‘GG_ZLX_ZHU‘,‘f‘);  
  6.  
  7. END P_MVIEW_REFRESH;  
  8.  

或者使用

  1. CREATE OR REPLACE PROCDURE P_MVIEW_REFRESH AS  
  2.  
  3. BEGIN  
  4.  
  5. DBMS_MVIEW.REFRESH(‘GG_ZLX_ZHU,GG_ZLX_FU‘,‘ff‘);  
  6.  
  7. END P_MVIEW_REFRESH;  
  8.  

注意:

1、如果需要同时刷新多个物化视图,必须用逗号把各个物化视图名称连接起来,并对

每个视图都要指明刷新方式(f、增量刷新,c、完全刷新,?、强制刷新)。

2、当日志和物化视图创建好后,删除日志,则需要重新创建物化视图,否则无法增量

刷新。

3、因为上面写的物化视图时根据主键进行更新,因此,主表必须有主键。

4、以上文章中红色是为可替换的,大家可以根据自己项目需求来修改。

希望上面的内容对大家能有帮助。

忘了写删除方法了,日志和物化视图要分开删除

  1. DROP MATERIALIZED VIEW LOG ON GG_ZLX_ZHU@TOCPEES;  
  2.  
  3. DROP MATERIALIZED VIEW GG_ZLX_ZHU;

oracle物化视图创建

标签:

热心网友 时间:2022-04-08 04:39

1、建立一个到sqlserver数据库的odbc连接。
2、通过这个odbc建立一个岛sqlserver数据库的dblink。
3、通过dblink建立物化视图。
每一步都很简单,组合起来就行了。

热心网友 时间:2022-04-08 05:57

建立一个数据库的dblink把两个数据库连接起来。
再通过oracle建立物化视图。
怎样在oracle与sql server 之间建立连接

1、建立一个到sqlserver数据库的odbc连接。2、通过这个odbc建立一个岛sqlserver数据库的dblink。3、通过dblink建立物化视图。每一步都很简单,组合起来就行了。

SQLServer向Oracle中建表

一、sql语句:create table test(id int,name varchar2(10));二、图形界面:以PL/SQL为例:1、登录到指定数据库。2、左侧列表中找到Tables选项,并右键,选择新建。

sqlserver创建视图的语句,在查询分析器里执行提示在;附近有语法错误。请...

后面不能加 ; (分号)的,加入;是ORACLE才会使用到的。SQL SERVER是不需要加;的。

oracle环境下编写的语句 能够在sqlserver中执行成功

select * from (select Row_number() over(order by RecordTime desc) r, m.* from Historydata m where 1=1 and m.SiteCode='0107' and m.RecordTime>='2011-10-28 0:00:00' and m.RecordTime<='2011-11-4 23:59:59' ) p where p.r between 1 and 15 就这么简单 。不...

sqlserver拉出在Oracle建表的语句,谢谢了高手门 ,其中TYPHON_XML是个...

大概是这样:CREATE TABLE WT_TYPHOON ( TYPHOON_NO VARCHAR2(50) NOT NULL, DT_CODE VARCHAR2(20) , NAME_EN VARCHAR2(50) , NAME_CN VARCHAR2(50) , CENTER_PRESSURE_MIN VARCHAR2(50) , LEVEL1 VARCHAR2(50) , IS_LANDING VARCHAR2(50) , IS_ACTIVE VARCHA...

如何将SQLSERVER上的数据插入到ORACLE上

如何将SQLSERVER上的数据插入到ORACLE上 首先你需要在SQLSERVER和ORACLE之间建立一个链接服务器。然后使用链接服务器来插入数据。然后使用语句:insert into openquery(linksvr,'select from oracletable')select from sqlservertable

SQLServer与Oracle数据库在安全性上的异同

用户建立默认权限不同 这两个数据库都可以至少通过两种方式建立用户名 一是通过图形化的界面建立用户名与帐号 如Oracle数据库可以通过EM 即浏览器建立用户帐号;而SQL Server数据库则可以通过企业管理器建立用户帐号 另外一个是可以通过命令行 也就是说 通过SQL 语句建立用户名 从SQL Server数据库来说 这两种建立...

oracle与sqlserver区别

SQL Server中以页为单位或使用扩展类型以 页为一单位进行空间分配而无法人工干预 当遇到频繁存储或大数据量存储时 系统将频繁进行I/O操作使工作效率低下 Oracle中的SQL语句书写规范且提供了完整的函数和数据类型 Oracle提供了健全的错误机制 用户可以轻松的获得错误位置和错误原因而加以修改 用户还可以自己定义所须的...

如何提高oracle视图的查询速度?

如果经常用到这个表查询的话,可以建立一个 物化视图 materialized view ,并根据相应的字段(哪个 字段查询次数比较多),建立索引,这样查询效率会不会好些 另外,如果是按日期或者按地区等分的表,可以放在一个表中,以分区表的形式存在,查询时,只查询那个分区就可以了,你可以看一下 partition list...

SQL Server 视图查询慢,如何优化?请不要复制粘贴谢谢

另外补充一点,视图本身就会造成效率低,因为视图存的是sql定义,当执行查询的时候 数据库会先上磁盘上查询视图定义 再利用视图定义查询数据,这样就产生了至少两次磁盘i/o,oracle中有物化视图的概念,SqlServer中应该也有,如果我的改善计划还不能达到你的要求的话,建议考虑一下。--- 以上,希望对你...

oracle创建视图的sql语句 oracle查看视图的sql语句 oracle删除视图的sql语句 oracle中创建视图并查询视图 oracle查询索引的sql语句 创建数据库视图的sql语句 oracle视图的创建 oracle视图添加字段sql sql server视图
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
6+10么?除以4=15 6➕多少➗4等于15? 原神见闻一共有几章介绍_原神见闻一共有几章是什么 游戏原神见闻一共有几章 干吃麦片有哪些新鲜吃法? 鲁迅笔下的油菜是什么菜 格力空调谦者变频用哪种压缩机 格力谦者频采用的是--冷媒? 该冷媒的优点是? 做梦梦到追猪一家还用石头砸死一只小猪…后来还向猪人形父母跪下讲和... 我想在成都买纪念品,可以是邮票或者明信片或者其他,不要超过200以上... outlook邮箱显示账户设置已过期,点击修复账户,显示 outlook不显示邮箱账户怎么破 Outlook 账户消失-我哭,各位大虾救救我 我是win10的笔记本,在登录界面忘记密码是Outlook邮箱,在重置密码时显示无法识别账户怎么了 为什么我想hotmail重置密码,却提示:Microsoft 帐户不正确 请再试一次! 邮件账户不显示outlook账户,谁知道怎么回事 为什么我在新网管理帐号下新建的邮箱,在OUTLOOK可以登录,在新网网页版界面登示我域名不存在? 为什么平板登录outlook邮箱显示Microsoft账号不存在? outlook已经添加了用户,但是仍然显示没有可用账户,要怎么解决? Outlook的问题呀,打不开,估计是账户没找到啊 为什么用网页登录Outlook时候显示账户不存 四川手机团购网有没有,天翼,天翼,天翼的! 英语卡通的墙壁绘画,用丙烯颜料画的,适合装饰英语教室的图片 是否开通了手机银行就可以用手机在美团之类的团购网站直接付款了? 美团网用手机团购付款安全吗 团购需谨慎,新团网是骗子网站,提醒大家千万别去团啊 XML和HTML分别指什么!有什么区别? 在html 页面中 显示xml中的文字 手机上网定团购饭店、宾馆、机票是什么网 XML里含有HTML标记时应该怎么处理? 厦门市三级医院有哪些 谁知道厦门有几家三甲医院? 厦门二甲以上的医院有哪些 厦门弘爱医院怎么样? 钉钉耗电快,退出账号管用吗? 哪位大神有万能软件激活器 V5.5 绿色版软件百度云资源 厦门区级医院有哪几家?区级以上有哪几家? 钉钉耗电快怎么办oppoa57 厦门市有几个人民医院? 厦门公立医院和私立医院有几家? 谁有win7家庭普通版的激活软件? 怎么解决 耗电快的问题 厦门最大最好的是那个医院 我的电脑Windows7旗舰版 突然说需要激活到正版 ,在哪找激活软件?谢谢! 钉钉资源消耗高是什么意思? 厦门男科看的比较好的医院有几家? 求各位高手给个windows7的激活软件或激活密匙,谢谢了!邮箱是284543074@qq.com 振海康htd8813c如何开机 求个win7能直接激活的KEY或者工具,要好用的 请问大佬有激活基地工具箱 V2.0 绿色版软件免费百度云资源吗