oracle olap创建物化视图,Oracle 物化视图同步表-roid
一、在目标库建立DBLINK
目标库操作:
主机B中建立TNS(tnsname.ora),也可以使用netca建立TNS
[oracle@rac1 ~]$ cd /u01/app/oracle/product/11.2.0/db_1/network/admin/
[oracle@rac1 admin]$ vi tnsnames.ora
ORCL=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.67.163)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
[oracle@rac1 admin]$ !sql
sqlplus '/ as sysdba'
SQL*Plus: Release 11.2.0.1.0 Production on Tue Jan 20 09:17:10 2015
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SQL> grant create public database link,create database link to sguap206;
SQL> conn sguap206/sguap206
Connected.
SQL> create public database link sguap_linkconnect to sguap206identified by sguap206using 'ORCL';
link名称数据库A的用户数据库A的密码
Database link created.
SQL> select owner,object_name from dba_objects where object_type='DATABASE LINK';
OWNER OBJECT_NAM
------------------------------ ----------
PUBLIC SGUAP_LINK
SQL> SELECT SYSDATE FROM DUAL@SGUAP_LINK;
SYSDATE
---------
20-JAN-15
至此DBLIKE测试成功。
二、创建物化视图对表进行增量同步
1、在源库上建立物化视图日志
SQL> CREATE MATERIALIZED VIEW LOG ON PF_ALARM_TYPE WITH SEQUENCE, ROWID (TYPE_ID,TYPE_INFO) INCLUDING NEW VALUES;表的列
Materialized view log created
使用rowid,sequence捕获数据变化情况。
注意:加上including new values子句,是为了记录数据修改前的值。
2、在目标库上创建定时增量更新的物化视图
SQL> create materialized view PF_ALARM_TYPE
2 refresh fast on demand
3 start with sysdate next sysdate+1/288 with rowid
4 as
5 select * from PF_ALARM_TYPE@SGUAP_LINK;
create materialized view PF_ALARM_TYPE
*
ERROR at line 1:
ORA-00955: name is already used by an existing object
报错原因:说明你创建的物化视图名称和表名相同,可以修改物化视图的名称或者把那个表删除(谨慎)。
我这里使用删除表的操作(谨慎)。
SQL> create materialized view PF_ALARM_TYPE
2 refresh fast on demand
3 start with sysdate next sysdate+1/288 with rowid
4 as
5 select * from PF_ALARM_TYPE@SGUAP_LINK;
Materialized view created.
如果跨库跨平台时,有时必须要使用with primary key,物化视图对应的表上没有主键,如果需要索引可以另行添加。
SQL> select * from PF_ALARM_TYPE;
TYPE_ID TYPE_INFO
--------------------------------- --------------------
1无效卡
2门开超时
3强制开门
4反潜回
5胁迫开门
6互锁管制
7火警
8脱机
9控制器拆卸
9 rows selected
发现数据第一次成功同步到目标库。
测试insert:在源库插入一条数据,查看目标库。
SQL> INSERT INTO PF_ALARM_TYPE VALUES(10 ,'TEST');
1 row inserted
SQL> COMMIT;
Commit complete
目标库查看:
发现还没有同步过来,等待5分钟
SQL> SELECT * FROM PF_ALARM_TYPE;
TYPE_ID TYPE_INFO
--------------------------------- ---------------
1无效卡
2门开超时
3强制开门
4反潜回
5胁迫开门
6互锁管制
7火警
8脱机
9控制器拆卸
9 rows selected
SQL> SELECT * FROM PF_ALARM_TYPE;
TYPE_ID TYPE_INFO
--------------------------------- --------------
1无效卡
2门开超时
3强制开门
4反潜回
5胁迫开门
6互锁管制
7火警
8脱机
9控制器拆卸
10 TEST
10 rows selected
发现刚刚在源库插入的数据已经同步到目标库上。
测试update:在源库更新一条数据,查看目标库。
SQL> update PF_ALARM_TYPE set type_info='OK' where type_info='TEST';
1 row updated
SQL> commit;
Commit complete
SQL> select * from PF_ALARM_TYPE;
TYPE_ID TYPE_INFO
--------------------------------- ---------------
1无效卡
2门开超时
3强制开门
4反潜回
5胁迫开门
6互锁管制
7火警
8脱机
9控制器拆卸
10 OK
rows selected
目标库查看
SQL> SELECT * FROM PF_ALARM_TYPE;
TYPE_ID TYPE_INFO
--------------------------------- -------------------
1无效卡
2门开超时
3强制开门
4反潜回
5胁迫开门
6互锁管制
7火警
8脱机
9控制器拆卸
10 OK
10 rows selected
测试delete:在源库删除一条数据,查看目标库。
SQL> DELETE PF_ALARM_TYPE WHERE TYPE_ID=10;
1 row deleted
SQL> COMMIT;
Commit complete
SQL> SELECT * FROM PF_ALARM_TYPE;
TYPE_ID TYPE_INFO
--------------------------------- -------------------
1无效卡
2门开超时
3强制开门
4反潜回
5胁迫开门
6互锁管制
7火警
8脱机
9控制器拆卸
9 rows selected
目标库查看同步情况:
SQL> SELECT * FROM PF_ALARM_TYPE;
TYPE_ID TYPE_INFO
--------------------------------- --------------
1无效卡
2门开超时
3强制开门
4反潜回
5胁迫开门
6互锁管制
7火警
8脱机
9控制器拆卸
9 rows selected
发现源库删除的数据目标库也删除了。
oracle olap创建物化视图,Oracle 物化视图同步表-roid相关推荐
- oracle olap创建物化视图,CUUG oracle物化视图讲解
1.视图是什么? 普通视图:只是存放在数据字典当中的子查询,本身没有来源于基表 Oracle的物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表.物化 ...
- 在oracle中创建一个序列,Oracle(创建序列)
概念: 所谓序列,在oracle中就是一个对象,这个对象用来提供一个有序的数据列,这个有序的数据列的值都不重复. 1.序列可以自动生成唯一值 2.是一个可以被共享的对象 3.典型的用来生成主键值的一个 ...
- oracle olap报告,10g部署oracle olap组件
一般在dbca建库时,我们会建好一些必须的数据库组件,但有些会除外 例如:oracle data mining, oracle text, oracle olap, oracle spatial, ...
- oracle怎样创建scott用户,oracle 手工创建Scott用户
oracle 手工创建Scott用户 1.登录数据库 sqlplus / as sysdba 2.创建scott用户 create user scott identified by tiger; 3. ...
- oracle olap 不可用,[数据库]ORACLE OLAP错误ORA
[数据库]ORACLE OLAP错误ORA 0 2015-04-25 00:00:20 刚刚安装了ORACLE 10g R2后,启动数据库时发现告警日志有如下错误: Database Characte ...
- oracle序列创建及使用,Oracle创建和使用序列
Oracle创建和使用序列 1 语法 create sequence 序列名称 2 创建序列 SQL> create sequence emp_seq; Sequence created. 序列 ...
- oracle 12创建一个表,oracle 12 c 创建表空间,用户名,及表
-----------------------------------------12C start------------------------------------------- -- 创建表 ...
- linux oracle 用户创建,LINUX下Oracle数据库用户创建方法详解
本文实例分析了LINUX下Oracle数据库用户创建方法.分享给大家供大家参考,具体如下: 1)登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切 ...
- oracle账号注册公司名称,oracle+账号创建与管理oracle创建数据库
方法/步骤 1.从Windows桌面执行"开始"→"程序"→"Oracle – "→"配置和移置工具"→"Da ...
最新文章
- RDKit | 基于RDKit的肽和核酸序列转换分子Mol对象
- CSS如何修改placeholder样式
- flutter中state详解
- StackGAN mini review
- Android复习01(内部存储、外部存储、SD卡存储、XML解析、Json解析、保存登录密码)
- 消息队列入门案例-编码
- 自建邮件服务器更给力?
- Shell基础学习(六) 流程控制
- 大佬为何可以把单片机描述得如此形象生动?
- 深度linux系统gho,深度技术ghost版的win7操作系统下载
- vonic 环境配置_Vonic 2.0 全新文档站上线
- Android高级控件(六)——自定义ListView高仿一个QQ可拖拽列表的实现
- Listary免费版下载与安装
- 小爱音箱mini系统故障怎么办_小编处理win7系统连接小爱音箱mini的解决教程
- 用友t 的服务器找不到系统管理,用友T+找不到账套了怎么办
- 五年级上册用计算机探索规律思维导图,五年级上册数学第一单元思维导图 包括小数乘整数小数乘小数积的...
- 20款最好的jQuery文件上传插件
- 关于在手机上注册Google账号
- 域名管理系统DNS(Domain Name System)
- NW集成打包 自定义图标及注意事项
热门文章
- Pandas-数据结构-DataFrame(六):布尔型索引【用于逻辑筛选】
- Android异常:Couldn‘t find meta-data for provider with authority
- 福禄克光纤测试如何选择合适的光纤链路测试标准?
- Forces Acting on a Biped Robot. COP—ZMP
- Matlab多核CPU并行和多线程
- lazada爆款打造背后的秘密,学会这两招,日销千单so easy
- 阿里云RAM子帐号授权管理单个安全组
- 报表数据业务化,让业务部门的领导一看就清清楚楚
- 微信ip白名单是不是服务器ip,微信公众号中ip白名单用谁的ip
- Unity3D (GameObject)