oracle stream同步

合集下载

Oracle数据库同步技术

Oracle数据库同步技术

基于Oracle数据库的数据同步技术大体上可分为两类:Oracle自己提供的数据同步技术和第三方厂商提供的数据同步技术。

Oracle自己的同步技术有DataGuard,Streams,Advanced Replication和今年刚收购的一款叫做GoldenGate的数据同步软件。

第三方厂商的数据同步技术有Quest公司的SharePlex和DSG的RealSync。

下面对这些技术逐一进行介绍。

一、DataGuard数据同步技术DataGuard是Oracle数据库自带的数据同步功能,基本原理是将日志文件从原数据库传输到目标数据库,然后在目标数据库上应用(Apply)这些日志文件,从而使目标数据库与源数据库保持同步。

DataGuard 提供了三种日志传输(Redo Transport)方式,分别是ARCH传输、LGWR同步传输和LGWR异步传输。

在上述三种日志传输方式的基础上,提供了三种数据保护模式,即最大性能(Maximum Performance Mode)、最大保护(Maximum Protection Mode)和最大可用(Maximum Availability Mode),其中最大保护模式和最大可用模式要求日志传输必须用LGWR同步传输方式,最大性能模式下可用任何一种日志传输方式。

最大性能模式:这种模式是默认的数据保护模式,在不影响源数据库性能的条件下提供尽可能高的数据保护等级。

在该种模式下,一旦日志数据写到源数据库的联机日志文件,事务即可提交,不必等待日志写到目标数据库,如果网络带宽充足,该种模式可提供类似于最大可用模式的数据保护等级。

最大保护模式:在这种模式下,日志数据必须同时写到源数据库的联机日志文件和至少一个目标库的备用日志文件(standby redo log),事务才能提交。

这种模式可确保数据零丢失,但代价是源数据库的可用性,一旦日志数据不能写到至少一个目标库的备用日志文件(standby redo log),源数据库将会被关闭。

使用Stream复制实现Oracle读写分离

使用Stream复制实现Oracle读写分离
二 、 作 流 程 工
e d n;
创 建 传播 规 则 :
bg en i
d ms sr am b te
_

_
a m.d _ a l_ r p g t n r ls d a d t b e p o a ai _ ue o
当 远端 的 客 户 机访 问数 据 库 时 , 间件 服 务 器 进 行 判 断 。 中 如 ( b _ a e = " o . r n , sem _ a e = "r ml , t l_ a en m > s tp s c te o t a sn r m > se ta 果进 行 写 操作 , 连 接 到 主数 据 库 上 , 主 数 据 库 进 行 写 操 作 ; sou rce qu u _n me => "ta mi .te ms q e e 。 d si a 就 对 ee a sr d n s a r uu et - n
14 7




21 0 0年第 5期
使 用 Sra 复 制实 现 0 al 读 写分 离 t m e rc e
王 二 暖
(河 南工 业 大 学 信 息科 学与 工 程 学 院 河 南 郑 州 40 0 ) 50 1
【 要 】 为 了实现 大量用户对数据库服务器的并发范围, 以采 用读写分 离的方式。本文主要计论基 于 O al 摘 : 可 r e中的 c

d n me d d man b a + b o i。
_
_
读 写 分离 。 : edWreS lt g 基 本 的 原 理 是 让 主数 据 即 R a/ i pii 。 t tn n, A权 限 。 库 处 理 事务 性 查 询 . 从 数 据库 处 理 S L C 而 E E T查 询 。 同时 为 了 mi 赋 予 了 DB 而 保 证 主 、 库 的数 据一 致 性 。 要 使 用 数 据 库 复 制 技 术 , 主 库 从 需 把 e查 看 双 方数 据 库 的 g b lnm , 例 中 O C ) l a a e本 o _ R L端 的 g b l- o 中的变 更 实 时 同 步到 从 数 据 库 中 a a 是 : ln me ORC . LREG S 。 DBMSDE US0 RE SR . V. 。RAC .0M: I C 本 文 主 要 讨 论 基 于 O aI 的 S em 复 制 来 实 现 读 写 分 T S 端 的 go a n m rc e中 ta r ET lb l a e是 : E T R G E SR B SD V U .. T S .E R S . D M . E . SO 离 的功 能 , 示 意 图 如 下 : 其 RACLE. C0M 。

Oracle主从同步、双向同步的配置

Oracle主从同步、双向同步的配置

Oracle主从同步、双向同步的配置(本教程展⽰了Windows环境的oracle数据库主从同步,Linux环境⼀样也可以)(把主数据库obpm 和从数据库orcl ⽤实际的数据库名给替换掉)(配置主从同步后,再配置双向同步,可能会有表数据重叠,建议在配置双向同完成后,再导⼊表数据!)备注:主、从数据库都⽤淡蓝⾊标记了,⽅便查找替换。

1.环境介绍主数据库SID : obpm操作系统 : win 2003IP地址 : 192.168.0.1Global_name :oracle version: 10.2.0.1从数据库SID: orcl操作系统 : win 2003IP地址 : 192.168.0.2Global_name :oracle version: 10.2.0.12.在主/从数据库设置初始化参数(在主从数据库都执⾏以下操作)(以as sysdba⾝份,可在sqlplus中执⾏)1) 以dba⾝份登录sqlplus / as sysdba2) 设置参数alter system set aq_tm_processes=2 scope=both; ---启⽤对队列消息的时间监视alter system set global_names=true scope=both; ---设置全局名称为truealter system set undo_retention=3600 scope=both; --设置回滚段时间,默认是900alter system set streams_pool_size=25M scope=spfile; --sga设置为⾃动调整情况下不需设置该参数3)重启动两个数据库,重启⽅式:1.shutdown immediate2.startup3.$lsnrctl start(⼀般都会提⽰监听已经启动)(windows服务中也可⼿动启动监听)3.设置主数据库(obpm)为归档mode (以as sysdba⾝份,可在sqlplus中执⾏)1) --查是否归档,如是归档,请忽略第3点archive log list;2) 归档设置shutdown immediate;startup mount;alter database archivelog;alter system set LOG_ARCHIVE_DEST_1='LOCATION=C:\Ora\arc\'; ---设置归档⽬录(执⾏此句后,在Windows系统⽂件夹中看看arc⽂件夹有没有创建成功,如果没有,则⼿动创建,在执⾏此语句) alter database open;alter system switch logfile; --相应⽬录检查是否⽣成arc⽂件(如果提⽰数据库没开启,则先执⾏alter database open;)4.主/从数据新建stream管理⽤户(在主从数据库都执⾏以下操作)sqlplus / as sysdba;create tablespace tbs_stream datafile 'C:\Ora\tbs_stream01.dbf' size 2000m autoextend on maxsize unlimited segment space management auto; ---创建主环境的Stream专⽤表空间execute dbms_logmnr_d.set_tablespace('tbs_stream'); --将logminer的数据字典从system表空间转移到新建的表空间,防⽌撑满system表空间create user strmadmin identified by strmadmin default tablespace tbs_stream temporary tablespace temp; --创建⽤户grant dba to strmadmin; --直接给dba权限.(Drop旧的表空间⽅法:drop tablespace tbs_stream including contents;)5.主数据库⽹络环境设置 (就是在主数据库中增加⼀个从数据库的连接服务)1)主数据库中添加从数据库的配置。

oracle主从同步原理

oracle主从同步原理

oracle主从同步原理Oracle主从同步是企业级数据同步中最常用的方法之一,它可以保证跨地域或跨数据中心的数据一致性,应用于数据库热备份、大数据分析等场景。

本文将介绍oracle主从同步的原理、实现方式、优势和注意事项。

1.主从同步原理在oracle主从同步中,将有多个数据库实例作为参与者,其中一个数据库实例作为主数据库,其余的数据库实例都是从数据库。

主数据库负责所有的更新操作,从数据库通过重复主数据库的操作来保持数据同步。

当主数据库上数据发生变化,就会通过日志文件传到从数据库中,使从数据库与主数据库达成最新一致性。

2.实现方式Oracle主从同步可以通过多种方式实现,包括物理备份、数据复制、数据提取等多种方式。

其中,数据复制是其中一种使用最为广泛的方式。

数据复制是指在多个Oracle数据库之间复制表中的数据的过程。

它通过在主库上创建某种类型的复制方案来实现,将具有共同被复制的表的初始数据从源库传送到一个或多个目标库,然后根据需要实时或定期地传送源库的所有更改。

在数据复制同步进程中,要通过启用多种选项来保证和控制数据的复制过程,从而确保同步的一致性和完整性。

例如,每种复制方式都有不同的复制参数和选项,如同步或异步复制、实时或定期复制、保留或丢弃冲突数据等。

可以根据业务需求来选择一种或多种复制方案,以适应不同的同步策略和应用场景。

3.优势Oracle主从同步有以下优势:(1)数据的高可用性。

当主数据库出现故障时,从数据库可以顶替主数据库的工作,保证业务的正常运行。

(2)数据的分布性。

可以将数据在不同的机器上分布存储,提高了内存的利用率,缓解了单台机器压力,提高系统的可扩展性。

(3)数据的备份性。

同步复制可以建立和更新多个备份,保证数据完整和安全性,增强系统的数据保护能力。

(4)数据的读写分离性。

可以将主数据库用于写操作,从数据库用于读操作,提高数据库的性能和并发度。

4.注意事项Oracle主从同步也有其注意事项:(1)同步延迟。

Oracle Streams简介

Oracle Streams简介

Oracle Streams简介Oracle Stream功能是为提高数据库的高可用性而设计的,在Oracle 9i及之前的版本这个功能被称为Advance Replication。

Oracle Stream利用高级队列技术,通过解析归档日志,将归档日志解析成DDL及DML语句,从而实现数据库之间的同步。

这种技术可以将整个数据库、数据库中的对象复制到另一数据库中,通过使用Stream的技术,对归档日志的挖掘,可以在对主系统没有任何压力的情况下,实现对数据库对象级甚至整个数据库的同步。

解析归档日志这种技术现在应用的比较广泛,Quest公司的shareplex软件及DSG公司的realsync都是这样的产品,一些公司利用这样的产品做应用级的容灾。

但shareplex或是realsync都是十分昂贵的,因此你可以尝试用Stream这个Oracle提供的不用额外花钱的功能。

Oracle Stream对生产库的影响是非常小的,从库可以是与主库不同的操作系统平台,你可以利用Oracle Stream复制几个从库,从库可用于查询、报表、容灾等不同的功能。

Oracle流可以使一个数据库中的数据,事物处理和事件在本数据库内部传递,也可以使它们从一个数据库传递到另一个数据库中。

流可以将被发布的信息传递到订阅它的目的地。

因此这是一个全新的特性,与传统解决方案相比,它在捕获和管理事件、与其他数据库和应用共享事件等方面提供了更卓越的功能性。

它可以使IT部门打破各解决方案之间交互使用的循环。

Oracle流为建立和运转分布式企业和应用,数据仓库,和高可用性解决方案提供了必要的能力。

开发人员和数据库管理员可以同时使用Oracle流的所有能力。

如果他们的要求发生了变化,他们可以简单地启用Oracle流的一个新功能,而不必放弃现有的功能。

Oracle流提供了一系列的元素。

通过利用这些元素,用户可以控制哪些信息可以放入流中,流应如何流动或通过哪些途径从一个节点流向另一个节点,当流中的事件流向每个节点时它们发生了哪些变化,以及流如何终止等问题。

dds介绍

dds介绍

Istream DDS软件技术详解[详细讲解Isteam DDS 软件的实现原理与技术细节解析]九桥软件2010/8/3Istream DDS软件技术详解目录前言 (3)一.DDS的应用领域 (3)1.1 生产系统的热容灾 (3)1.2 分担业务 (5)1.3 数据分发与集中 (6)1.4 数据迁移 (8)1.5 双向同步 (8)二.DDS支持的同步特性 (9)2.1 支持的同步对象 (9)2.2 支持的同步模式 (10)2.3 数据同步方式 (12)2.4 数据定位方式 (12)2.5 分区表特殊处理 (13)三.DDS的同步原理 (13)3.1 历史数据同步原理 (14)3.2 增量数据同步原理 (15)四.DDS同步的性能 (16)4.1 读取在线日志 (17)4.2 内存中完成交易解析 (17)4.3 只合成已经提交的交易 (17)4.4 实时压缩传输 (17)4.5 通过rowid寻址 (17)4.6 合成交易文件大小 (18)4.7 首次同步的性能 (18)4.8 增量同步的性能 (18)五.DDS的目标端数据库可复用 (19)5.1 目标端数据库始终处于打开状态 (19)5.2 交易数据准确 (19)5.3 新产生的数据对于同步无影响 (19)六.DDS的高可用性 (19)6.1 采用缓存机制 (19)6.2 跟踪日志 (20)七.DDS的特性 (21)7.1 在线部署简单、占用资源少 (21)7.2 异构跨平台的支持 (21)7.3 一对多和多对一 (21)7.4 对部分表重新进行单独全同步 (22)7.5 定时同步 (22)7.6 实时显示交易的统计 (22)7.7 字符操作和web操作模式 (22)7.8 数据验证 (23)Istream DDS软件技术详解7.9 支持oracle自带数据导入工具 (23)八.DDS的健壮性 (23)8.1 网络中断 (23)8.2 源端数据库重新启动 (24)8.3 源端DDS重新启动 (24)8.4 目标端DDS重新启动 (24)8.5 目标数据库重新启动 (24)九.DDS的软件体系架构 (24)9.1 源端体系架构 (25)9.2 目标端体系架构 (26)附录、DDS支持内容汇总 (27)Istream DDS软件技术详解前言IStream DDS(以下简称DDS),是基于交易的逻辑级oracle数据同步软件。

基于Oracle流复制技术的高性能数据同步接口实现

基于Oracle流复制技术的高性能数据同步接口实现

图1 流复制双向实时数据同步接口架构主要配置步骤)数据库环境预设:开启归档模式;创建流管理员并做相应授权;创建数据库链接。

调用DBMS_STREAMS_ADM.SET_UP_QUEUE 过程在源库与目标库创建队列。

在源库上调用ADD_SCHEMA_RULES或ADD_ TABLE_RULES过程创建捕获进程;在源库上调用DBMS_ STREAMS_ADM.ADD_SCHEMA_PROPAGATION_RULES 过程创建传播进程。

使用数据泵工具或DBMS_APPLY_ADM.SET_ SCHEMA_INSTANTIATION_SCN过程对源库与目标库中待同步的数据库对象进行初始化,保证SCN一致。

在目标库上调用DBMS_STREAMS_ADM.ADD_ SCHEMA_RULES过程创建应用进程。

在目标库上调用DBMS_APPLY_ADM.SET_ UPDATE_CONFLICT_HANDLER过程设置冲突解决方案(可以选择默认的解决方案,也可使用自定义开发的解决方案)。

正式开启数据复制进程:在源库调用DBMS_ CAPTURE_ADM.START_CAPTURE过程启动变更数据捕获,DBMS_PROPAGATION_ADM.START_PROPAGATION 启动LCR传送;在目标库调用DBMS_APPLY_ADM.START_ APPLY启动对接收到的LCR进行应用更新。

3.3 监控机制要保证流复制接口顺畅运作,还需要建立控机制,预防可能发生的问题,并在问题发生时,能快速定位并解决问题。

流复制提供了一系列视图工具(APPLY、DBA_APPLY_ERROR、DBA_CAPTURE PROPAGATION等),可供用户实时监控流复制环境的工作状态,并在发生异常时记录异常信息。

利用这些视图,开发出接口监控工具,能实时查看流复制接口的工作状态,并对发生的异常尝试进行自动修正(如自动清除异常并自动重启相关进程等),对于无法自动修复的异常则通过多种手段短信、邮件等)及时通知监控人员。

ORACLE数据库HA架构方案

ORACLE数据库HA架构方案

摘要:0^。

位数据库在各类应用系统中负责存储平台所有的用户数据,数据库的可靠性及安全性直接影响平台的安全运行,目前采用的Oracle Replication方式来实现的数据库高可靠性已经显示出了弊端,本文介绍并分析了目前比较流行的几种数据库高可用性的架构:Oracle Replication、Oracle Rac、Oracle主机HA等,希望给大家一个参考。

1什么是高可用性(High Availability高可用(HA)性有两种不同的含义,在广义环境中是指整个系统的高可用性,在狭义方面一般指主机、服务的冗余,如主机HA、应用程序的HA等,无论那种情况,高可用性都可以包含如下一些方面:0系统失败或崩溃0应用层或者中间层错误0 网络失败0 介质失败:指一些存放数据的媒体介质故障0 人为错误0 系统的容灾备份0 计划内的维护或者重启可见,高可用性不仅包含了系统本身故障、应用层的故障、网络故障、认为操作的错误等,还包含数据的冗余、容灾及计划的维护时间等,也就是说一个真正的高可用环境,不仅能避免系统本身的问题,还应该能防止天灾、人祸,并且有一个可靠的系统升级及计划维护操作。

本文探讨的Oracle数据库层面的高可用性,不可避免也会涉及到一些主机、存储、操作系统方面的高可用性,因为要实现Oracle服务的连续性保障是离不开硬件层面的支持的。

随着Oracle技术的发展(Oralce 8i/9i/10g/11g),高可用性越来越完善、越来越可靠,本文介绍了四种Oracle高可用性的相关产品,并通过其实现方式和性能的比较得到在现在和未来的Vas2000系统中更适合的数据库高可用性方案:0 Oracle Parallel Server/Oracle Real Application Cluster (Oracle Rac ) 0 Oracle Standby Database/Oracle Data Guard0 Oracle Advanced Replication/Oracle Stream0 Oracle Server HA2 Oracle 并行数据库OPS/RACOPS 从Oracle 8i 开始提供,从Oracle 9i 开始成为RAC ,并且随着高性能PC SERVER 的普 及,Oracle Rac 也成为Oracle 高可用性产品最流行的一种架构,Oracle Rac 通过组织多个服 务器的Cluster 来获得更大的计算处理能力和故障处理能力的集群。

不同数据库之间的实时同步

不同数据库之间的实时同步

最近一段时间前单位的同事问我有什么方法可以实现不同数据库之间表数据的同步,起初我告诉他可以用DATAGURAD,STREAM,物化视图等技术手段实现。

但他告诉我需要同步数据的表并不多(有3-5张表需要同步)。

我就想通过编写触发器实现要更为简单一些。

通过几天的努力终于实现。

通过一些简单的测试感觉效果还可以,特总结一下奉献给大家。

之前论坛里有人问过此类问题,但很多高手都说可以用触发器实现,可是没有给出具体的实现方法。

可能他们认为非常easy,呵呵!在这里我帖出实现的具体方法和触发器的代码给当前有此需求的兄弟。

将来可能有此需求的兄弟可以将此作为备选方案,参考一下也可以。

同时请论坛里的高手多指点,多给出改进意见。

如果这篇文章对大家的工作有一定的帮助,那么希望大家能多给于支持。

谢谢!我将把大家的支持化作持续、深入学习ORACLE的动力。

现在假设有两个数据库A,B,B库中的备用表需要和A库中的住表同步数据。

主表和备用表表名相同(也可以不同),都叫a1。

首先建立在A库所在的机器建立访问B库的网络服务名prod,用NET-MANAGER完成2。

创建PUBLIC DATABASE LINK,先不指定用户名和密码CREATE PUBLIC DATABASE LINK prod USING 'prod' 注意: 'prod'表示第1步中创建的网络服务名,以sys/system用户创建3。

在需要访问远程数据库用户下创建私有DATABASE LINK(同PUBLIC DATABASE LINK名称相同),要具有CREATE DATABASE LINK权限。

指定用户和密码CREATE DATABASE LINK prod CONNECT TO scott IDENTIFIED BY tiger 注意:scott用户必须在B库中存在且指定相应的密码,和这里给出的密码要一致。

4。

创建触发器a表为实验表,表结构为user_id number(3) username varchar2(20)更新或插入主表记录时和备份表同步数据的触发器,其中表a是主表,a@prod是备份表,即B库中的a表create or repalce trigger sync_data1after insert or update on abeginmerge into a@prod t2using a t1 on(er_id=er_id)when matched thenupdate set ername=ernamewhen not matched theninsert (er_id,ername) values(er_id,ername)end sync_data1;删除主表记录时和备份表同步数据的触发器,其中a是主表,a@prod是备份表,即B库中的a表create or replace trigger sync_data2after delete on abegindelete from a@prodwhere user_id in(select user_id from a@prodminusselect user_id from a);end sync_data2;或者create or replace trigger sync_data2after delete on abegindelete from a@prodwhere rowid in(select rowid from a@prodminusselect rowid from a);end sync_data2;经过本人的实验,当对A库中的主表进行更新,插入,删除后B库的备份表能和主表中的数据保持一致。

oracle数据同步方法

oracle数据同步方法

oracle数据同步方法Oracle数据库同步是指将一个数据库的数据和变化同步到另一个数据库中,以保证数据的一致性和可用性。

Oracle提供了多种数据同步方法,包括物理备份和还原、逻辑备份和还原、数据泵导出和导入、基于日志的增量备份和还原、GoldenGate数据复制等。

下面将详细介绍这些方法。

1.物理备份和还原:物理备份是将数据库的数据文件、控制文件和日志文件复制到备份目录,还原则是将备份文件拷贝到目标数据库中恢复。

这种方法适用于大规模数据库,具有高效性和实时性,但需要占用大量的存储空间。

2.逻辑备份和还原:逻辑备份是将数据库中的逻辑对象(如表、视图、索引等)导出为可读的SQL语句,还原则是将导出的SQL语句在目标数据库中执行。

这种方法适用于小规模数据库,具有可读性和可移植性,但不适用于大规模数据库,因为导出和导入的过程较为耗时。

3. 数据泵导出和导入:数据泵是Oracle提供的一种高效的逻辑备份和还原方法,它通过使用数据库内部的数据泵工具,将数据库中的逻辑对象和数据导出为二进制文件,再通过导入工具将二进制文件恢复到目标数据库中。

数据泵导出和导入可以实现高效的数据同步和迁移,支持并发处理和并行执行,适用于大规模数据库。

4.基于日志的增量备份和还原:基于日志的增量备份是指将源数据库的日志文件传送给目标数据库,目标数据库通过解析和应用这些日志文件,实现源数据库和目标数据库之间的数据同步。

这种方法实时性较高,适用于大规模数据库的实时备份和恢复。

5. GoldenGate数据复制:GoldenGate是Oracle提供的一种高性能、实时数据复制解决方案。

它通过捕获源数据库的日志文件并将其传送到目标数据库,实现源数据库和目标数据库之间的数据同步和一致性保证。

GoldenGate具有较低的延迟、高可用性和强大的数据筛选和转换能力,适用于大规模和复杂的数据同步场景。

除了上述方法,Oracle还提供了一些辅助工具和技术来增强数据同步的效率和可靠性,如使用数据库链接进行数据复制、使用物化视图进行数据汇总和聚合、使用数据同步代理进行数据分发等。

oracle streams 同步 ORA-26787 The row with key

oracle streams 同步 ORA-26787 The row with key

ORA-26787 The row with key原因:当目标数据库和源数据的数据不同步时,进程会出现ORA-26787 The row with key异常。

导致这次同步过程中的所有数据都不能同步。

比如源数据库有3条记录,目标数据有2条记录(并且这2条记录与源数据中的其中2条相同),当时使用delete删除源数据库中的这三条记录时,你回发现目标数据库中的两条没有被删除。

使用select * from dba_apply_error查询错误信息,会出现一个ORA-26787错误信息。

解决方法:设置DMA HandlerCREATE TABLE strmadmin.history_row_lcrs(timestamp DATE,source_database_name VARCHAR2(128),command_typeVARCHAR2(30),object_ownerVARCHAR2(32),object_nameVARCHAR2(32),tag RAW(10),transaction_idVARCHAR2(10),scn NUMBER,commit_scn NUMBER,old_values SYS.LCR$_ROW_LIST,new_values SYS.LCR$_ROW_LIST)NESTED TABLE old_values STORE AS old_values_ntabNESTED TABLE new_values STORE AS new_values_ntab;创建一个处理存储过程CREATE OR REPLACE PROCEDURE history_dml(in_any IN ANYDATA)ISlcr SYS.LCR$_ROW_RECORD;rc PLS_INTEGER;BEGIN-- Access the LCRrc := in_any.GETOBJECT(lcr);-- Insert information about the LCR into the history_row_lcrs tableINSERT INTO strmadmin.history_row_lcrs VALUES(SYSDATE, lcr.GET_SOURCE_DATABASE_NAME(), lcr.GET_COMMAND_TYPE(),lcr.GET_OBJECT_OWNER(), lcr.GET_OBJECT_NAME(), lcr.GET_TAG(),lcr.GET_TRANSACTION_ID(), lcr.GET_SCN(), lcr.GET_COMMIT_SCN,lcr.GET_VALUES('old'), lcr.GET_VALUES('new', 'n'));-- Apply row LCRlcr.EXECUTE(TRUE);--当出现执行错误是,抛出这个异常,继续执行。

timesten内存数据库官方操作文档

timesten内存数据库官方操作文档

<Insert Picture Here>Oracle TimesTen 基础&Tips日本甲骨文公司Oracle Direct Seminar<Insert Picture Here>Agenda• TimesTen 是什么?• 应用实例介绍 • TimesTen 的优势• TimesTen 基础• TimesTen 的结构 • TimesTen 的各种构成• 可选功能简介• Replication• Cache Connect to Oracle• TimesTen 的系统设计• Sizing• 系统维护管理• 附录关于测试数据的说明本讲座中将会使用一些测试数据来说明TimesTen的特 性。

对于这些测试数据,请注意以下几点。

1、根据测试环境的不同,会有一定的差异。

2、本讲座中的测试数据,仅在本讲座中使用。

严禁传 播和用于其他用途。

3、本讲座中提供的数据仅可作为参考,不可用于购买 TimesTen产品时的依据。

TimesTen是什么?• 名称:Oracle TimesTen In­Memory Database • 目的:缩短数据库层的响应时间• 特点:• TimesTen是一个完整的数据库• 相关数据全部储存在计算机内存中• 算法的简化成就更少的CPU开销• 比Oracle 数据库的DB缓存更快应用实例介绍①:独立的数据库 • 应用于某电话服务器• 需求包括:• 高可用性(99.999%)• 地区性的容灾备份功能• 极短的响应时间• 易于部署• 可管理性• TimesTen成功地满足了所有的需求• 高性能• 移动解决方案• 可靠的数据库Replication应用实例介绍②:In Memory Database Cache• 系统描述:• 某信用卡消费监视系统 • 实时对消费记录进行分析• 性能需求:• 每秒10,000的更新、插入 • 每秒100,000的查询 • 响应时间小于1毫秒• 可扩展性需求:• 未来将达到每秒1~2M 查询 • 响应时间不变• 对应用程序的影响最小• 其它需求:• 负载平衡 • 防灾冗余 • 硬件成本• TimesTen的解决方案TimesTen 的优势• 高速数据处理• 微秒级别的响应时间• 采用标准技术• 支持大部分SQL­92的功能, 包括索引,物化视图• 减少开发难度和开发时间 • 减少维护成本• 高可靠性• 足以满足证券行业等等业 务的高可靠性要求表示层应用程序TimesTen应用层数据库层Real Application Clusters与Oracle Database 互动Replication优势一:TimesTen 为什么这么快?• 因为数据全部保存在内存中?• 要是把Oracle DB 的数据全部保存到内存中 是不是也有这么快?• 因为数据处于应用程序层?• 要是把Oracle DB 也配置在应用程序层是不是也有这么快?NoNo No TimesTen 的数据都在内存中, 拥有更优化的算法和更少的CPU 开销,所以才这么快!优势一:TimesTen 为什么这么快? (续)CPU 开销的对比数据全部保存在内存中,这样的设计使得CPU 开销大幅下降TimesTen应用程序应用程序基于磁盘的RDBMS连接开销 多个进程 同时工作 的开销转换检索结果 造成的开销缓存管理 的开销复制缓存数据 的开销磁盘IO 的开销应用程序R DBM S 引擎 数据TimesTen Vs. Oracle Database 参考资料执行100%Select句的执行效率会话数 CPU占用率的比较执行100%Select句,30000TPS时的CPU占用率 执行70%Select句,15000TPS时的CPU占用率• 10倍以上的TPS以及更低的CPU占用率•CTC验证结果•TimesTen 7.0.5 / Oracle Database 11.1.0.6•Dual­Core×2•http://www.thinkit.co.jp/article/96/3/2.htmlDB 层AS 层应用程序 (J2EE etc)将Oracle 数据库的表或者表的一部分提取 出来,在应用程序服务器上建立 TimesTen 缓存Oracle TimesTen In­Memory Database带来的高速应用程序开发应用程序 (J2EE etc)应用程序通过JDBC/ODBC 执行SQL 语句 高速访问Cache Connect to Oracle 使缓存与后台 数据库保持同步Replication 功能保证冗余和高可用性开发、维护成本大大降低开发、维护成本大大降低 “Cache Connect to Oracle”提供的同步功能高速的SQL 执行优势二:采用标准技术,简化开发和维护优势三:高可靠性• 高可靠性的保证:• 日志记录功能将数据保存到非易失存储器中• Oracle TimesTen Replication 提供的冗余和容灾功能维持各个Oracle TimesTen 的数据一致性应用程序数据库引擎 (ODBC/JDBC Driver )日志文件Data Store临时 空间日志 缓存<Insert Picture Here>Agenda• TimesTen 是什么?• 应用实例介绍 • TimesTen 的优势• TimesTen 基础• TimesTen 的结构 • TimesTen 的各种构成• 可选功能简介• Replication• Cache Connect to Oracle• TimesTen 的系统设计• Sizing• 系统维护管理• 附录TimesTen 的结构引擎 (ODBC/JDBC 驱动器)Daemon配置文件odbc.ini检查点文件 ds0检查点文件 ds1日志文件Data Store临时 数据日志缓存Sub Daemon应用程序后台进程内存结构文件结构可选进程TimesTen引擎• 动态链接程序库(Link Library) • 功能包括:• 执行SQL语句并返回执行结果• 往日志缓存中写入日志内存结构• Data Store• 保存所有数据库数据的区域• 日志缓存• 用于暂时存储记录Data Store变更的日志 • 临时数据区域• 临时存储执行计划等数据的共享区域• 排序等等操作临时使用• 主进程(Daemon)• 监听功能(Listener)• 读取配置文件odbc.ini• 分配和监视Sub Daemon • 子进程(Sub Daemon)• 载入/卸载Data Store• 将日志缓存写入日志文件• 监视和解除死锁(Dead Lock)• 执行检查点(Checkpoint)• Replication代理• 实施Replication• Cache代理• 实施Cache Connect• TimesTen服务器• 采用客户端/服务器连接时的服务器进程文件结构• 配置文件odbc.ini• 用于记录各个DSN的参数• 检查点(Checkpoint)文件• 保存于磁盘的数据库镜像。

oracle两台数据库数据同步

oracle两台数据库数据同步

oracle两台数据库数据同步在企业应用中,数据库是承载重要数据的核心存储系统。

为了满足不同业务需求和数据处理能力的要求,有些企业会设计和建立多台数据库。

然而,在多台数据库使用的情况下,数据同步成为一个关键问题。

本文将介绍Oracle数据库中两台数据库数据同步的方法和步骤。

一、概述数据同步是指在不同数据库之间保持数据的一致性,确保多台数据库中的数据始终保持同步。

在Oracle数据库中,有多种方法可以实现数据同步,如使用Oracle Data Guard、Oracle GoldenGate和Oracle Streams等。

下面将针对Data Guard和GoldenGate进行详细介绍。

二、Oracle Data GuardOracle Data Guard是Oracle数据库的一种内置工具,用于在两台或多台数据库之间实现数据同步和容灾。

它通过将主数据库上的事务日志传输给备用数据库,实现数据的同步。

Data Guard提供了两种数据同步模式:物理数据同步和逻辑数据同步。

1. 物理数据同步物理数据同步是指直接将主数据库的数据文件复制到备用数据库,实现数据的一致性。

物理数据同步可以通过Data Guard的物理备用来实现。

在物理备用中,主数据库和备用数据库通过Redo Apply进程将主数据库上的事务日志应用到备用数据库上,从而实现数据的同步。

2. 逻辑数据同步逻辑数据同步是指将主数据库中的逻辑变更操作转换为备用数据库上的等效操作。

逻辑数据同步可以通过Data Guard的逻辑备用来实现。

在逻辑备用中,主数据库和备用数据库之间使用SQL Apply进程将主数据库上的逻辑变更应用到备用数据库上。

逻辑备用还可以实现跨操作系统平台的数据同步。

三、Oracle GoldenGateOracle GoldenGate是Oracle提供的一套高效灵活的实时数据复制、迁移和整合解决方案。

它可以在Oracle数据库之间,或者Oracle数据库与其他非Oracle数据库之间实现数据同步。

Oracle+Stream-安装配置

Oracle+Stream-安装配置

环境准备3.1 设定初始化参数使用pfile的修改init<SID>.ora文件,使用spfile的通过alter system命令修改spile文件。

主、从数据库分别执行如下的语句:Sqlplus ‘/ as sysdba’alter system set aq_tm_processes=2 scope=both;(默认为1)// aq_tm_processes--如果大于零, 就会启用对队列消息的时间监视。

该时间值可用于指定消息的延迟和失效属性(用于应用程序的开发)。

alter system set global_names=true scope=both;(默认为False)alter system set job_queue_processes=10 scope=both;(默认为10)//job_queue_processes 定义SNP进程的启动个数。

系统缺省值为0,正常定义范围为0~36,根据任务的多少,可以配置不同的数值。

alter system set parallel_max_servers=200 scope=both;(默认为0)此项未允许更改.假设现在有8个parallel query slave processes正在工作。

则因为parallel_min_percent=0, 则任何新的并发查询则以串行的方式运行,则系统会很慢。

parallel server execution pool是由PARALLEL_MIN_SERVERS, PARALLEL_MAX_SERVERS,PARALLEL_MIN_PERCENT 三个参数决定的.// PARALLEL_MAX_SEVERS参数设置并行执行可用的最大进程数量,该参数的缺省值如下得出:1.当PGA_AGGREGATE_TARGET >0时PARALLEL_MAX_SERVERS= (CPU_COUNT x PARALLEL_THREADS_PER_CPU x 10) 2.当PARALLEL_MAX_SERVERS未设置PARALLEL_MAX_SERVERS=(CPU_COUNT x PARALLEL_THREADS_PER_CPU x 5)缺省设置可能并不足够,通常我们根据最高的并行度(DOP)来设置PARALLEL_MAX_SERVERS参数:2 x DOP x NUMBER_OF_CONCURRENT_USERSalter system set undo_retention=3600 scope=both;(默认900)//Undo_retention--参数指明来自提交的事务处理的撤消信息在允许改写之前需保留的时间。

Oracle streams双库同步的冲突处理方法

Oracle streams双库同步的冲突处理方法

Oracle streams双库同步的冲突处理方法作者:顾鹏程来源:《电子技术与软件工程》2018年第04期摘要Oracle Streams是Oracle官方提供的一种免费、灵活的数据库同步机制,只需通过配置官方的存储过程即可部署。

由冲突事务导致的稳定性不足,是Streams部署中最难以处理的问题。

Oracle建议的常规的冲突处理方法需要按表绑定存储过程,不利于处理新表冲突,其提供的自定义冲突处理存储过程功能较为简单,适用性低。

本文针对Streams双向同步中常见的冲突,提出一种不需要绑定表且具有一般适用性的冲突处理部署方法,能够自动化处理错误事务,实验证明该方法具备一定的可靠性。

【关键词】Oracle Streams 冲突处理错误事务Oracle Streams 是 Oracle提供的流复制技术,可以实现数据容灾和数据共享。

其基本思想来源于 Oracle 高级队列,是其应用的延伸,它还可以传递消息队列,具有免费、灵活的优势。

其缺点是稳定性差。

在生产实践中,主要发现有两种冲突影响Streams同步,分别为删除冲突和更新冲突,均由被修改行在目标数据库找不到对应记录导致。

对于删除冲突,一般Oracle建议采取对目标行标记的方法,但这会导致两个数据库不一致。

对于更新冲突,Oracle提供了预置的自动存储过程来作简单的处理。

该存储过程需要指定参数表名、方法名等,配置繁琐。

此外,Oracle还提供自定义存储过程来配置删除或更新冲突。

该方法需要指定表名以及对应的存储过程,需要对每张表进行设定,这不利于对新增表的维护。

对于这些问题,本文提出一种结合Oracle定时任务和不需要绑定表的自定义存储过程的方法,让Oracle自动修正冲突,以确保两个数据库的一致性。

1 定制处理冲突的存储过程处理冲突的存储过程本质上是根据发生streams同步错误的事务号,找到对应冲事务LCR,结合错误类型,调整LCR中的事务内容,使其正确执行。

Oracle 变化数据捕获

Oracle 变化数据捕获

OracleOracle 变化数据捕获变化数据捕获就是我们通常提到的CDC(Change Data Capture),是用来描述捕捉增量变化应用数据到其他数据库或数据源。

Oracle CDC基本原理同步CDC模式简介两种异步模式的创建附:同步模式在ODI中的体现TechTarget 中国《Oracle系列电子书》 1TechTarget中国《Oracle系列电子书》2变化数据捕获就是我们通常提到的CDC (Change Data Capture ),是用来描述捕捉增量变化应用数据到其他数据库或数据源。

随着数据量的不断增长和数据存储日益变化,变化数据捕获在生产系统中特别重要。

——赵宇变化数据捕获就是我们通常提到的CDC (Change DataCapture),是用来描述捕捉增量变化应用数据到其他数据库或数据源。

随着数据量的不断增长和数据存储日益变化,变化数据捕获在生产系统中特别重要,比如做多生产中心、报表分离、容灾备份、数据仓库、数据分发等,特别是要求实时或近实时的生产系统中。

在Oracle、DB2、SQL Server等数据库中,都可以通过数据库的日志提取变化的捕捉,实现变化数据的提取、传输。

而在传统上我们通常都是通过修改源代码的应用,在一些表上增加日期列来捕获增量变化。

Oracle数据库的变化数据捕获可以通过日志的方式实现增量变化捕获而不需对源程序做任何更改。

Oracle数据库从10g R2介绍异步分布式CDC,比原有9i数据库R2有了更大的提高。

但是从Oracle 11g版本开始,Oracle推荐使用GoldenGate来做数据库之间的变化数据捕捉,对CDC的功能不再增加新特性。

所以Oracle 11g中的CDC功能还是之前10g的CDC功能版本。

下面介绍如何设置这样一个异步变化数据捕获环境。

变化数据捕捉的用户:Publishers and subscribers (发布者和用户)publisher 就是发布变化数据捕捉的数据库用户.所以需要先创建一个发布者。

oracle adg同步原理

oracle adg同步原理

oracle adg同步原理Oracle ADG同步原理是指解决在Oracle多节点集群环境下发生宕机或数据丢失时,如何在备库上保证经过验证的数据完整性。

该问题主要通过Active Data Guard (ADG)进行解决。

下面将分步骤阐述Oracle ADG同步原理。

步骤一:启用Active Data Guard(ADG)Active Data Guard 是Oracle数据库的一个附加功能,用于启用物理备库用于读取。

在ADG中,备库会实时复制主库的数据。

此外,主库可以与备库进行同步,以确保备库中的数据始终与主库中的数据一致。

步骤二:同步数据当主库上进行更改时,这些更改将立即提交到备库。

ActiveData Guard能够将同步和应用更改的速度提高到每秒钟100次以上。

这样,即使在主库上发生宕机或其他数据丢失情况时,备库中的数据也是最新的。

步骤三:验证数据完整性Oracle ADG同步原理的关键在于验证备库中的数据完整性。

为了确保数据完整性,Oracle数据库使用了Redo Apply进程。

Redo Apply 进程将Redo日志中的更改应用到备库中,从而使数据的副本始终与主库保持一致。

Oracle还使用了日志挂起和重新启动、全局事务管理等技术来保证数据完整性。

步骤四:监控备库在ADG中,备库需要时刻处于就绪状态,以应对可能发生的宕机或其他故障。

为了保证备库的稳定性和可用性,需要使用监控系统来检测备库的运行状态。

如果发现备库出现问题,则需要尽快修复,以确保其稳定性和可用性。

总结:以上便是Oracle ADG同步原理的步骤描述。

Oracle ADG同步原理通过启用Active Data Guard,同步数据、验证数据完整性和监控备库的方式来确保Oracle多节点集群环境下的可用性和稳定性。

通过这种方式,即使在主库发生宕机或其他数据丢失情况下,Oracle数据库仍然能够保持高可用性和稳定性,从而有效地解决了这一问题。

oracle xstream原理

oracle xstream原理

oracle xstream原理
Oracle XStream是Oracle数据库中的一种高性能数据复制和数
据流传输技术,它基于Oracle的高效归档重做日志(Archivelog)和
内存中的redo缓存(Redo Cache)实现数据的实时复制和传输。

其主
要原理包括:
1. 基于Oracle Archivelog和Redo Cache:Oracle XStream利
用Oracle数据库中的Archivelog和Redo Cache来捕获数据更新操作,并实时将其传输到目标端。

2. 模块化设计:Oracle XStream具有可以独立配置、启用和禁
用的模块化设计。

这些模块包括捕获、传输和应用模块等,可以根据
需要进行灵活配置。

3. 字节流通信协议:Oracle XStream使用可扩展的字节流协议,可以灵活地支持不同的数据格式和编码方式,并保证数据的实时和可
靠传输。

4. 可插拔的数据转换:Oracle XStream支持可插拔的数据转换器,可以在流传输期间实时转换不同的数据格式和编码方式,以适应
不同的应用场景。

5. 多种数据传输模式:Oracle XStream支持多种数据传输模式,包括同步、异步和批量处理等,可以根据应用需要选择合适的传输模式。

总之,Oracle XStream利用Oracle数据库的核心技术和模块化、可扩展的设计,提供了高性能、高扩展性和灵活性的数据复制和数据
流传输功能,可应用于多种数据同步和复制场景。

dataxoracle数据同步到oracle(异库同步传输)

dataxoracle数据同步到oracle(异库同步传输)

dataxoracle数据同步到oracle(异库同步传输)由于要实现两个不同数据源的同步,datax可以⾼效的传输,故在做海量数据同步和迁移时,可以考虑此⽅法,其中json⽂件如下。

{"job": {"setting": {"speed": {"channel": 3,"byte": 1048576},"errorLimit": {"record": 0,"percentage": 0.02}},"content": [{"reader": {"name": "oraclereader","parameter": {"username": "yrH5SM8rgxfgfTYB","password": "mmdfsQ8kTgfghfg","splitPk": "","connection": [{"querySql": ["select t.ins_order_id,t.request_type,t.trad_time,t.app_time from poqx.TRADE_ORDER_HIS t where 1=1 and t.create_time >= trunc(sysdate -1 ,'dd') and t.create_time < trunc(sysdate ,'dd') " ],"jdbcUrl": ["jdbc:oracle:thin:@192.168.81.63:1521:sxyuzs"]}]}},"writer": {"name": "oraclewriter","parameter": {"username": "nE+PjgfgJZb+RbE","password": "ariudyjdkes73A9","column": ["\"INS_ORDER_ID\"","\"REQUEST_TYPE\"","\"TRAD_TIME\"","\"APP_TIME\""],"preSql": ["delete from i_w.TRADE_INSURANCE_ORDER_HIS t where t.create_time >= trunc(sysdate -1 ,'dd') and t.create_time < trunc(sysdate ,'dd')"],"connection": [{"table": ["TRADE_ORDER_HIS"],"jdbcUrl": "jdbc:oracle:thin:@//192.168.32.10:1521/oppdb"}]}}}]}}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle Stream配置详细步骤1 引言Oracle Stream功能是为提高数据库的高可用性而设计的,在Oracle 9i及之前的版本这个功能被称为Advance Replication。

Oracle Stream利用高级队列技术,通过解析归档日志,将归档日志解析成DDL及DML语句,从而实现1 引言Oracle Stream功能是为提高数据库的高可用性而设计的,在Oracle 9i及之前的版本这个功能被称为Advance Replication。

Oracle Stream利用高级队列技术,通过解析归档日志,将归档日志解析成DDL及DML语句,从而实现数据库之间的同步。

这种技术可以将整个数据库、数据库中的对象复制到另一数据库中,通过使用Stream的技术,对归档日志的挖掘,可以在对主系统没有任何压力的情况下,实现对数据库对象级甚至整个数据库的同步。

解析归档日志这种技术现在应用的比较广泛,Quest公司的shareplex软件及DSG公司的realsync都是这样的产品,一些公司利用这样的产品做应用级的容灾。

但shareplex或是realsync都是十分昂贵的,因此你可以尝试用Stream这个Oracle提供的不用额外花钱的功能。

Oracle Stream对生产库的影响是非常小的,从库可以是与主库不同的操作系统平台,你可以利用Oracle Stream复制几个从库,从库可用于查询、报表、容灾等不同的功能。

本文不谈技术细节,只是以手把手的方式一步一步的带你把Stream的环境搭建起来,细节内容可以查联机文档。

2 概述主数据库:操作系统:Solaris 9IP地址:192.168.10.35数据库:Oracle 10.2.0.2ORACLE_SID:prodGlobal_name:prod从数据库:操作系统:AIX 5.2IP地址:192.168.10.43数据库:Oracle 10.2.0.3ORACLE_SID:h10gGlobal_name:h10g3 环境准备3.1 设定初始化参数使用pfile的修改init.ora文件,使用spfile的通过alter system命令修改spile文件。

主、从数据库分别执行如下的语句:以下是引用片段:Sqlplus ‘/ as sysdba’alter system set aq_tm_processes=2 scope=both;alter system set global_names=true scope=both;alter system set job_queue_processes=10 scope=both;alter system set parallel_max_servers=20 scope=both;alter system set undo_retention=3600 scope=both;alter system set nls_date_format='YYYY-MM-DD HH24:MI:SS' scope=spfile;alter system set streams_pool_size=25M scope=spfile;alter system set utl_file_dir='*' scope=spfile;alter system set open_links=4 scope=spfile;执行完毕后重启数据库。

3.2 将数据库置为归档模式设置log_archive_dest_1到相应的位置;设定log_archive_start为TRUE,即启用自动归档功能;设定log_archive_format指定归档日志的命令格式。

举例:以下是引用片段:sqlplus ‘/ as sysdba’alter system set log_archive_dest_1=’location=/yang/arch’ scope=spfile;alter system set log_archive_start=TRUE scope=spfile;alter system set log_archive_format=’ arch%t_%s_%r.arc’ scope=spfile;shutdown immediate;startup mount;alter database archivelog;alter database open;数据库置为归档模式后,可以按如下方式检验一下:以下是引用片段:SQL> archive log listDatabase log mode Archive ModeAutomatic archival EnabledArchive destination /yang/archOldest online log sequence 534Next log sequence to archive 536Current log sequence 5363.3 创建stream 管理用户3.3.1 创建主环境stream管理用户以下是引用片段:#以sysdba身份登录connect / as sysdba#创建主环境的Stream专用表空间create tablespace tbs_stream datafile '/yang/oradata/prod/tbs_stream01.dbf'size 100m autoextend on maxsize unlimited segment space management auto;#将logminer的数据字典从system表空间转移到新建的表空间,防止撑满system表空间execute dbms_logmnr_d.set_tablespace('tbs_stream');#创建Stream管理用户create user strmadmin identified by strmadmindefault tablespace tbs_stream temporary tablespace temp;#授权Stream管理用户grant connect,resource,dba,aq_administrator_role to strmadmin;begindbms_streams_auth.grant_admin_privilege(grantee => 'strmadmin',grant_privileges => true);end;/3.3.2 创建从环境stream管理用户以下是引用片段:#以sysdba身份登录connect / as sysdba#创建Stream专用表空间,我的从库用了ASM,这一步也可以参见3.3.1create tablespace tbs_stream datafile '+VGDATA/h10g/datafile/tbs_stream01.dbf'size 100m autoextend on maxsize unlimited segment space management auto;#同样,将logminer的数据字典从system表空间转移到新建的表空间,防止撑满system表空间execute dbms_logmnr_d.set_tablespace('tbs_stream');#创建Stream管理用户create user strmadmin identified by strmadmindefault tablespace tbs_stream temporary tablespace temp;#授权Stream管理用户grant connect,resource,dba,aq_administrator_role to strmadmin;begindbms_streams_auth.grant_admin_privilege(grantee => 'strmadmin',grant_privileges => true);end;/3.4 配置网络连接3.4.1配置主环境tnsnames.ora主数据库(tnsnames.ora)中添加从数据库的配置。

以下是引用片段:H10G =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.43)(PORT = 1521)))(CONNECT_DATA =(SID = h10g)(SERVER = DEDICATED)))3.4.2配置从环境tnsnames.ora以下是引用片段:从数据库(tnsnames.ora)中添加主数据库的配置。

PROD =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.35)(PORT = 1521)))(CONNECT_DATA =(SID = prod)(SERVER = DEDICATED)))3.5 启用追加日志可以基于Database级别或Table级别,启用追加日志(Supplemental Log)。

在建立根据Schema粒度进行复制的Oracle Stream环境中,如果确认Schema下所有Table都有合理的主键(Primary Key),则不再需要启用追加日志。

以下是引用片段:#启用Database 追加日志alter database add supplemental log data;#启用Table追加日志alter table add supplement log group log_group_name(table_column_name) always;3.6 创建DBlink根据Oracle 10gR2 Stream官方文档,针对主数据库建立的数据库链的名字必须和从数据库的global_name相同。

如果需要修改global_name,执行“alter database rename global_name to xxx”。

3.6.1创建主数据库数据库链#以strmadmin身份,登录主数据库。

connect strmadmin/strmadmin#建立数据库链create database link h10g connect to strmadmin identified by strmadmin using 'h10g';3.6.2创建从数据库数据库链#以strmadmin身份,登录从数据库。

相关文档
最新文档