当前位置:文档之家› oracle数据同步方案

oracle数据同步方案

oracle数据同步方案
oracle数据同步方案

oracle 数据同步方案

(DBLink)

一、什么是dbLink

两台不同的数据库服务器,从一台数据库服务器(例如A数据库服务器)的一个用户读取另一台数据库服务器(例如B数据库服务器)下的某个用户的数据,这个时候可以使用dblink。其实dblink和数据库中的view差不多,建dblink的时候需要知道待读取数据库的ip地址,ssid以及数据库用户名和密码。

二、DbLink的创建步骤

说明:A数据库服务器是指-需要同步的数据库服务器,B数据库服务器是指-被同步的数据库服务器,以下文档中简称A数据库与B数据库。

1、在目的数据库上(A数据库),创建dblink

drop public database link dblink_orc92_182;

Create public DATABASE LINK dblink_orc92_182 CONNECT TO bst114IDENTIFIED BY password USING ''orc92_192.168.254.111'';

注释:

--dblink_orc92_182 是dblink_name即创建的dblink名称

--bst114 是username即A数据库的用户

--password 是password即A数据库用户名密码

--''orc92_192.168.254.111'' 是远程数据库名即B数据库的名称,为了方便期间命名最好是“数据库名称+ip”

2、在源数据库(B数据库)和目的数据库(A数据库)上创建要同步的表

说明:不管是A数据库还是B数据库上创建的表最好有主键约束,快照才可以快速刷新

drop table test_user;

create table test_user(

id number(10) primary key,

name varchar2(12),

age number(3)

);

3、在目的数据库(A数据库)上,测试dblink

说明:在A数据库上执行如下查询语句

select * from test_user@dblink_orc92_182; //查询的是源数据库的表

select * from test_user;

注释:

--dblink_orc92_182是刚才一步创建的dblink名称

--test_user同步表名称

4、在源数据库(B数据库)上,创建要同步表的快照日志

说明:在B数据库上执行如下查询语句

Create snapshot log on test_user;

5、创建快照,在目的数据库(A数据库)上创建快照

Create snapshot sn_test_user as select * from test_user@dblink_orc92_182;

注释:

-- sn_test_user 快照的名称

6、设置快照刷新时间

说明:在B数据库上执行如下查询语句,只能选择一种刷新方式,推荐使用快速刷新,这样才可以用触发器双向同步。

快速刷新

Alter snapshot sn_test_user refresh fast Start with sysdate next sysdate with primary key;

--oracle马上自动快速刷新,以后不停的刷新,只能在测试时使用.真实项目要正确权衡刷新时间.

完全刷新

Alter snapshot sn_test_user refresh complete Start with sysdate+30/24*60*60 next sysdate+30/24*60*60;

--oracle自动在30秒后进行第一次完全刷新,以后每隔30秒完全刷新一次

7、手动刷新快照,在没有自动刷新的情况下,可以手动刷新快照

说明:在B数据库上执行如下查询语句

手动刷新方式1

begin

dbms_refresh.refresh(''sn_test_user'');

end;

手动刷新方式2

EXEC DBMS_SNAPSHOT.REFRESH(''sn_test_user'',''F''); //第一个参数是快照名,第二个参数F 是快速刷新C 是完全刷新.

8、修改会话时间格式

说明:在B数据库上执行如下查询语句

ALTER SESSION SET NLS_DATE_FORMAT = ''YYYY-MM-DD HH24:MI:SS'';

9、查看快照最后一次刷新时间

说明:在B数据库上执行如下查询语句

SELECT NAME,LAST_REFRESH FROM ALL_SNAPSHOT_REFRESH_TIMES;

10、查看快照下次执行时间

说明:在B数据库上执行如下查询语句

select last_date,next_date,what from user_jobs order by next_date;

11、打印调试信息

说明:在B数据库上执行如下查询语句

dbms_output.put_line(''use ''||''plsql'');

12、如果你只想单向同步(B同步到A)

说明:那么在目的数据库(A数据库)创建以下触发器(当源数据库(B数据库)表改变时,目的数据库(A数据库)表跟着改变,但目的数据库(A数据库)表改变时,源数据库(B数据库)表不改变).

说明:在B数据库上执行如下查询语句

create or replace trigger TRI_test_user_AFR

after insert or update or delete on sn_test_user

for each row

begin

if deleting then

delete from test_user where id=:old.id;

end if;

if inserting then

insert into test_user(id,name)

values(:new.id,:https://www.doczj.com/doc/3610791857.html,);

end if;

if updating then

update test_user set name=:https://www.doczj.com/doc/3610791857.html, where id=:old.id;

end if;

end TRI_test_user_AFR;

13、如果你想双向同步(A同步到B,B也可以同步到A)

说明:请在源数据库(B数据库)中执行前6步,并在双方都创建以下触发器(当源数据库(B 数据库)表改变时,目的数据库(A数据库)表跟着改变,目的数据库(A数据库)表改变时, 源数据库(B数据库)表也改变)

CREATE OR REPLACE TRIGGER BST114.TRI_TEST_USER_AFR

AFTER DELETE OR INSERT OR UPDA TE

ON BST114.SN_TEST_USER

REFERENCING NEW AS NEW OLD AS OLD

FOR EACH ROW

declare

tmp_id number(10):=-1;

begin

dbms_output.put_line(''begin'');

if inserting then

--select id into tmp_id from test_user where id=:new.id;

for p in(select id from test_user where id=:new.id)

loop

tmp_id:=p.id;

end loop;

dbms_output.put_line(tmp_id||''===------------'');

if (tmp_id=-1) then

insert into test_user(id,name,age)

values(:new.id,:https://www.doczj.com/doc/3610791857.html,,:new.age);

end if;

end if;

if updating then

dbms_output.put_line(''updated'');

for p in(select name,age from test_user where id=:old.id)

loop

if (https://www.doczj.com/doc/3610791857.html,!=:https://www.doczj.com/doc/3610791857.html,) or (p.age!=:new.age) then

update test_user set name=:https://www.doczj.com/doc/3610791857.html,,age=:new.age where id=:old.id;

end if;

end loop;

end if;

if deleting then

dbms_output.put_line(''deleted'');

delete from test_user where id=:old.id;

end if;

dbms_output.put_line(''end'');

end TRI_test_user_AFR;

--为防止双向同步触发器死循环,所以要在触发器中增加一些判断,阻止死循环.

--以上同步原理

概括:

1.首先创建一个dblink,可以访问远程数据库

2.在本地创建一个快照,映射远程数据表,当远程数据表有变化时,会反应到快照中.

3.由于快照类似于视图表,所以在本地为快照创建一个触发器,当快照有变化时,会触发相

应事件.

4.在触发器中写同步数据的代码.

--附:快照刷新时间参数说明

一天的秒数=24小时*60分钟*60钞

所以要想在30秒后刷新,参数应该这样写sysdate+30/(24*60*60)

1分钟==sysdate+60/(24*60*60)

一天的分钟数=24小时*60分钟

一分钟也可以这样写sysdate+1/(24*60)

30分钟==sysdate+30/(24*60)

60分钟==sysdate+60/(24*60)

以此类推

1小时==sysdate+1/24==sysdate+60/(24*60)

1天==sysdate+1

一个月==sysdate+30

Oracle数据库教程——Oracle Database常用补丁集Patch号及各版本PSU

Oracle数据库教程 —— Oracl e Database常用补丁集Patch号及各版本PSU Oracle Database常用补丁集Patch号及各版本PSU Patchset/PSU Patch Number Description 11.2.0.4.0 13390677 11.2.0.4.0 PATCH SET FOR ORACLE DATABASE SERVER 11.2.0.3.8 16902043 DATABASE PATCH SET UPDATE 11.2.0.3.8 (INCLUDES CPUOCT2013) 11.2.0.3.7 16619892 DATABASE PATCH SET UPDATE 11.2.0.3.7 (INCLUDES CPUJUL2013) 11.2.0.3.6 16056266 DATABASE PATCH SET UPDATE 11.2.0.3.6 (INCLUDES CPUAPR2013) 11.2.0.3.5 14727310 DATABASE PATCH SET UPDATE 11.2.0.3.5 (INCLUDES CPUJAN2013): 11.2.0.3.4 14275605 DATABASE PATCH SET UPDATE 11.2.0.3.4 (INCLUDES CPUOCT2012) 11.2.0.3.3 13923374 DATABASE PATCH SET UPDATE 11.2.0.3.3 (INCLUDES CPU JUL2012): 11.2.0.3.2 13696216 DATABASE PATCH SET UPDATE 11.2.0.3.2 (INCLUDES CPU APR2012) 11.2.0.3.1 13343438 DATABASE PATCH SET UPDATE 11.2.0.3.1 (INCLUDES CPU JAN2012) 11.2.0.3 10404530 11.2.0.3.0 PATCH SET FOR ORACLE DATABASE SERVER 11.2.0.2.11 16619893 DATABASE PATCH SET UPDATE 11.2.0.2.11 (INCLUDES CPUJUL2013) 11.2.0.2.10 16056267 DATABASE PATCH SET UPDATE 11.2.0.2.10 (INCLUDES CPUAPR2013) 11.2.0.2.9 14727315 DATABASE PATCH SET UPDATE 11.2.0.2.9 (INCLUDES CPUJAN2013): 11.2.0.2.8 14275621 DATABASE PATCH SET UPDATE 11.2.0.2.8 (INCLUDES CPUOCT2012) 11.2.0.2.7 13923804 DATABASE PATCH SET UPDATE 11.2.0.2.7 (INCLUDES CPU JUL2012) 11.2.0.2.6 13696224 DATABASE PATCH SET UPDATE 11.2.0.2.6 (INCLUDES CPU APR2012)

oracle stream同步

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 9 IP地址:192.168.10.35 数据库:Oracle 10.2.0.2 ORACLE_SID:prod Global_name:prod 从数据库: 操作系统:AIX 5.2 IP地址:192.168.10.43

oracle大数据库升级迁移实施参考方案设计

数据库系统和网络存储系统项目 数据库迁移实施方案 文案大全

文档控制 文档修订记录 版本编号变化状态简要说明日期变更人批准日期批准人 V1.0 A 创建文档2010/05 XXX V1.1 M 修改2010/05/18 XXX 审阅 序号姓名职位 分发 序号.姓名地点 文案大全

目录 第一章文档介绍 (5) 1.1背景 (5) 1.2目标 (6) 第二章系统硬件选型 (7) 2.1存储设备 (7) 2.1.1 设备选型 (7) 2.1.2 设备功能及实现 (7) 2.2服务器设备 (7) 2.1.1 数据库服务器 (7) 第三章系统安装 (10) 3.1主机系统安装 (10) 3.2配置SAN网络、磁盘阵列 (11) 3.3配置HACMP (12) 3.4安装数据库软件 (13) 第四章数据移植 (14) 4.1移植准备工作 (14) 4.2移植过程 (15) 4.3系统检查 (16) 数据库检查 (16) 导入后系统需要完成的工作 (16) 应用检查 (17) 4.4系统回退 (17) 第五章应用迁移 (18) 第六章新系统上线后的工作 (18) 第七章工作界面和工作内容 (18) 第八章实施计划 (19) 附件: ............................................................................. 错误!未定义书签。 1.设备、软件验收交付记录.................................................. 错误!未定义书签。文案大全

oracle10g升级到11g

用dbua使ORACLE10G升级到ORACLE11G 编写:肖小明日期:2012-11-16 审核:肖小明日期:2012-11-16 批准:严磊日期:2012-11-16 受控状态:是 发布版次:10.0.2 日期:2012-11-16 编号:MDS20121116-2514

变更记录 日期原版本变更后版本作者2012/11/16 oracle10.2.0 Oracle11.2.0 肖小明 签字确认 职务姓名签字日期 组长2012-11-16

1、实验配置 实验环境Redhat Enterprise 5.4. 升级对象oracle10.2.0.1 升级到oracle11.2.0.1 2、实验步骤 一、oracle11.2.0.1软件的安装(由于oracle11安装比较智能就不加以讲解了(是在不懂请参阅oracle11g安装文档)) 二、oracle11g软件安装好后,以oracle用户登陆输入dbua 即可 如下图: 选择你所要升级的数据库下一步

出现上述情况,经过一番资料的查阅,终于找到原因,原来是oracle10.2.0.,不可以直接升级到oracle11.2.0 现让oracle10.2.0升级到10.2.5 步骤如下 先把升级包解压unzip 包名 修改权限chown -R oracle:oinstall /oradisk 我的包名在/oradisk 下解压的 chmod -R 775 /oradisk/ 注销一oracle用户登录后并运行该指令[oracle@oracle Disk1]$ ./runInstaller 跟oracle10g安装差不多就不过多的解释了 路径一定要跟原来oracle10.2.0安装的主目录一致 若出现下面的错误:

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),源数据库将会被关闭。这也是目前市场上唯一的一种可确保数据零丢失的数据同步解决方案。 最大可用模式:这种模式在不牺牲源数据库可用性的条件下提供了尽可能高的数据保护等级。与最 大保护模式一样,日志数据需同时写到源数据库的联机日志文件和至少一个目标库的备用日志文件(standby redo log),事务才能提交,与最大保护模式不同的是,如果日志数据不能写到至少一个目标库的备用日志文件(standby redo log),源数据库不会被关闭,而是运行在最大性能模式下,待故障解决并将延迟的日志成功应用在目标库上以后,源数据库将会自动回到最大可用模式下。 根据在目标库上日志应用(Log Apply)方式的不同,DataGuard可分为Physical Standby(Redo Apply)和Logical Standby(SQL Apply)两种。 Physical Standby数据库,在这种方式下,目标库通过介质恢复的方式保持与源数据库同步,这种方 式支持任何类型的数据对象和数据类型,一些对数据库物理结构的操作如数据文件的添加,删除等也可支持。如果需要,Physical Standby数据库可以只读方式打开,用于报表查询、数据校验等操作,待这些操 作完成后再将数据库置于日志应用模式下。 Logical Standby数据库,在这种方式下,目标库处于打开状态,通过LogMiner挖掘从源数据库传 输过来的日志,构造成SQL语句,然后在目标库上执行这些SQL,使之与源数据库保持同步。由于数据 库处于打开状态,因此可以在SQL Apply更新数据库的同时将原来在源数据库上执行的一些查询、报表等操作放到目标库上来执行,以减轻源数据库的压力,提高其性能。 DataGuard数据同步技术有以下优势: 1)Oracle数据库自身内置的功能,与每个Oracle新版本的新特性(如ASM)都完全兼容,且不 需要另外付费; 2)配置管理较简单,不需要熟悉其他第三方的软件产品; 3)Physical Standby数据库支持任何类型的数据对象和数据类型;

oracle10.2.0.1升级10.2.0.5的步骤

Windows server2003 下oracle 10.2.0.1版本升级为10.2.0.5的步骤 注意:这个升级过程适用于windows 操作系统环境的数据库。 安装环境介绍; 本机操作系统:windows server2003 数据库版本:oracle 10g 10.2.0.1 目标数据库版本:oracle 10g 10.2.0.5 操作步骤:1.备份数据库软件和数据库,因为迁移一旦失败,可以迅速恢复。 2.使用p8202632_10205_WINNT下载升级包 oracle 10.2.0.5补丁包下载地址: https://www.doczj.com/doc/3610791857.html,/241379/viewspace-764846/ 3.关闭数据库所有的后台服务。 4.升级数据库软件 5.升级数据库 升级数据库软件: 打开p8202632_10205_WINNT目录里面的setup.exe,

修改为这个名称,注意:是自己原先数据库10.2.0.1的安装路径。 选择要升级的ORACLE_HOME路径,然后点击下一步,一路安装,和平常装ORACLE软件的步骤是一样的。 //软件升级后,启动后台服务,使用本地连接到数据库,通过输出提示可以看出,软件已经安装成功为10.2.0.5 C:/Documents and Settings/songyang>sqlplus / as sysdba SQL*Plus: Release 10.2.0.5.0 - Production on 星期三5月25 15:55:04 2011 Copyright (c) 1982, 2010, Oracle. All Rights Reserved. 已连接到空闲例程。

将SQLSERVER中的数据同步到ORACLE中

如何将SQLServer2005中的数据同步到Oracle中 有时由于项目开发的需要,必须将SQLServer2005中的某些表同步到Oracle数据库中,由其他其他系统来读取这些数据。不同数据库类型之间的数据同步我们可以使用链接服务器和SQLAgent来实现。假设我们这边(SQLServer2005)有一个合同管理系统,其中有表contract 和contract_project是需要同步到一个MIS系统中的(Oracle9i)那么,我们可以按照以下几步实现数据库的同步。 1.在Oracle中建立对应的contract 和contract_project表,需要同步哪些字段我们就建那些字段到O racle表中。 这里需要注意的是Oracle的数据类型和SQLServer的数据类型是不一样的,那么他们之间是什么样的关系拉?我们可以在SQLServer下运行: SELECT* FROM msdb.dbo.MSdatatype_mappings SELECT* FROM msdb.dbo.sysdatatypemappings 来查看SQLServer和其他数据库系统的数据类型对应关系。第一个SQL语句是看SQL转Oracle的类型对应,而第二个表则更详细得显示了各个数据库系统的类型对应。根据第一个表和我们的SQLServer中的字段类型我们就可以建立好Oracle表了。 ORACLE bigint NUMBER1931 ORACLE binary BLOB NULL01 ORACLE binary RAW-141 ORACLE bit NUMBER131 ORACLE char CHAR-141 ORACLE char CLOB NULL01 ORACLE char VARCHAR2-141 ORACLE datetime DATE NULL01 ORACLE decimal NUMBER-131 ORACLE double precision FLOAT NULL01 ORACLE float FLOAT NULL01 ORACLE image BLOB NULL01 ORACLE int NUMBER1031 ORACLE money NUMBER1931 ORACLE nchar NCHAR-141 ORACLE nchar NCLOB NULL01 ORACLE ntext NCLOB NULL01 ORACLE numeric NUMBER-131 ORACLE nvarchar NCLOB NULL01 ORACLE nvarchar NVARCHAR2 -141 ORACLE nvarchar(max) NCLOB NULL01 ORACLE real REAL NULL01 ORACLE smalldatetime DATE NULL01 ORACLE smallint NUMBER531 ORACLE smallmoney NUMBER1031

oracle跨实例数据同步

Oracle 快照及dblink使用(两台服务器数据同步)跨ORACLE实例数据同步(物化视图应用) 名词说明:源——被同步的数据库 -- 目的——要同步到的数据库 /*一、创建dblink:*/ --1、在目的数据库上,创建dblin drop public database link dblink_anson; Create public database link dblink_anson Connect to lg identified by lg using 'SDLGDB'; --源数据库的用户名、密码、服务器名k /*二、创建快照:*/ --1、在源和目的数据库上同时执行一下语句,创建要被同步的表 drop table tb_anson; create table tb_anson(c1 varchar2(12)); alter table tb_anson add constraint pk_anson primary key (C1);

--2、在目的数据库上,测试dblink select * from tb_anson@dblink_anson; select * from tb_anson; --3、在目的数据库上,创建要同步表的快照日志 Create snapshot log on tb_anson; --4、创建快照,快照(被同步(源)数据库服务必须启动) Create snapshot sn_anson as select * from tb_anson@dblink_anson; --5、设置快照刷新时间 Alter snapshot anson refresh fast Start with sysdate+1/24*60 next sysdate+10/24*60; --oracle自动在1分钟后进行第一次快速刷新,以后每隔10分钟快速刷新一次 Alter snapshot anson refresh complete Start with sysdate+30/24*60*60 next sysdate+1;

Oracle Database 11g 升级 12c 详细图文教程_V1.2

Oracle Database 11g 升级 12c 详细图文教程 Version 1.2 关键字:升级、数据库、11g、12c、Oracle chanrevival Chan Revival InfoTech Lab 2017年8月

版本控制

目录 1概述 (4) 2相关信息 (4) 3操作过程 (4) 3.1备份工作 (4) 3.2安装新版数据库软件 (4) 3.3升级数据库实例 (20) 升级结果 (33) 升级前检查 (33) 升级详细信息 (33) 执行步骤信息: (33) 初始化参数更改 (34) Enterprise Manager (34) 3.4检查升级后的数据库 (35)

1概述 本文详细介绍在Windows平台下的Oracle Database 11g升级12c的过程。11.2.0.1不能直接升级为12.1.0.1,会报错,相关信息会在后续文中体现,可以把11.2.0.1先升级为11.2.0.4,再升级到12c版本。 本图文教程以11.2.0.4升级到12.1.0.1为例,其它版本的升级请查阅本人相关文档,大多都有涉及。如有谬误,欢迎指正。 2相关信息 3操作过程 3.1备份工作 官方提供的升级方案虽然比较可靠,但是任何升级工作均存在风险,因此,做好数据备份工作十分重要。备份工作可分为操作系统备份和数据库系统备份,数据备份工作细说起来内容也不少,不是本文讨论范围,就不展开讨论了,有兴趣的朋友可以查阅本人相关文档。此处,建议大家用Oracle自带的RMAN工具给数据库做全备。参考命令如下: 3.2安装新版数据库软件 1)检查源数据库版本

ORACLE数据库跨平台升级方案和实施

ORACLE数据库跨平台升级方案研究和实施 12 李灿召 孙玉晶 (1.中国移动通信集团 吉林有限公司 业务支撑中心 吉林 长春 130021;2.中国移动通信集团 吉林有限公司 长春分公司 吉林 长春 130000) 摘 要: 随着关系型数据库的不断发展和新技术的引入,数据库作为各行业的数据核心和业务枢纽,数据量呈几何倍数膨胀,超TB级数据库不再鲜见。数据量的膨胀导致后续的版本升级和系统迁移更难操作,结合实际操作经验,从时间、风险和应急策略等方面入手,详细阐述大数据量数据库跨平台升级方案的研究、选择和实施,在实际的操作过程中取得良好的效果,具有一定的参考价值。 关键词: ORACLE;数据库;升级;数据迁移 中图分类号:TP311 文献标识码:A 文章编号:1671-7597(2012)1110109-01 2010年基于系统发展实际需要,决定对业务支撑系统数据 2 方案介绍 库进行升级,核心CRM和BOSS核心数据库由9i升到10G,服务器“不停机”的跨平台数据库升级和数据迁移方案,通过中更换为IBM平台,存储更换为EMC,CRM和BOSS数据库作为业务支间数据库实现基础数据同步和迁移,规避了前期数据同步期间撑系统的数据中心和业务枢纽,其升级方案的选择尤为重要。对正常生产的影响,中间数据库利用原系统BC备份搭建,服务CRM和BOSS数据库容量均超过10TB,实际数据量都在5TB左右,器和原系统的主机、数据库保持一致,配置比原系统低很多。项目要求在完成新、旧系统切换的同时进行垃圾数据清理、分该方案采用数据分级模式组织实施,通过中间数据库实现历史布规划和权限优化。数据(静态数据)和基础数据的准备,前期准备工作完成后通 1 方案选择过SharePlex软件保持活跃数据的准实时同步,正式割接时待 1.1 影响因素数据同步完成后即可实施割接,割接同时启用反向同步机制, 确保升级失败回切时原库数据的准确性。 业务连续性挑战:业务支撑系统是24x7全天候运行的系 统,宕机不仅意味着大量的收入损失,同时严重影响公司的服 务形象。经过业务评估,本次迁移过程中能够承担的最大停机 时间不超过12小时。数据安全性挑战:吉林移动业务支撑系统 数据的重要性是不容置疑的。升级后数据将迁移到一个全新的 系统,需要从实现机制上保障数据安全性,同时提供数据校验 机制。项目风险挑战:10G升级涉及到很多因素,包括业务影 响、新版本的Bug、10G新特性、平台变更、应用变更、参与人 员等等。确保应用在10G环境的平滑运行是一个非常大的挑 战。 上述因素对核心系统升级技术方案提出很高的要求。数据 库升级过程将关注两个关键因素:升级的成功完成和可能导致 的宕机时间。成功不仅仅是指升级过程本身正常完成,更重要 的是,升级过程中数据安全性得到保障,生产应用程序能在升 级后的数据库中无故障地运行。通过采用成熟的流程和技术将宕机时间和失败风险降到最低。 1.2 方案选择 数据迁移模式:新建10G环境,通过数据移植的模式实现数据库升级。手工直接升级:手工直接升级方法,在目前现有生产主机上安装10gR2数据库介质,在割接当天配置CRS环境,安装CRS补丁,配置网络环境,把数据库升级为10.2.0.4版本。该方案的实施有一定的风险,因为手工直接升级的步骤很多,为防止升级过程中任何一个环节的失败,必须准备备用环境作为升级失败时升级回退的备用系统。如果不能具备备用环境,不建议在关键业务系统上使用该方案。 业务支撑系统CRM和BOSS系统的数据库升级同时需要从HP平台迁移到AIX平台,技术方面必须采用数据移植的方式才能完成。在这种背景下,经过多方联合测试,最终决定采用SharePlex数据库复制软件承担前期数据同步工作,利用软件+手工迁移的方式实现“不停机”的跨平台数据库升级和数据迁移,保证割接时间控制在10个小时内,同时需要考虑割接回退等应急方案,利用数据库复制软件的反向同步功能,实现原有数据库数据的及时更新,升级失败直接用启用原数据库即可。 图1 升级方案示意图 2.1 实施步骤 前期准备: 调整生产库,中间库和目标库的数据库参数,为配置SharePlex做准备;使用sa_ocap工具分析生产库归档日志确认表的使用频率,划分复制队列;在生产库,迁移目标库上安装、配置SharePlex;在迁移目标库上停止SharePlex复制软件的数据加载进程;在生产库上激活SharePlex配置文件开始复制。 图2 SharePlex配置示意图 注:此时原生产端日志捕捉已开始,目标端未开始同步。 2.2 建立中间数据库 (下转第111页)

浅谈Oracle 数据库之间数据同步方案

随着信息技术的飞速发展,企业信息化建设的不断深入,使得企业业务系统数量不断增加。这时,各业务系统之间数据交互,各子业务系统与核心业务系统之间数据交互,诸如此类场景的应用需求不断出现。因此,IT部门应对此类需求的压力越来越大。比较突出的问题,主要有实时性与性能的冲突,数据交互方案的安全性与健壮性等。下面浅谈下Oracle数据库之间数据同步方案,不涉及方案的好坏选择,可供参考。 Oracle 提供的数据同步方案: 1,比较原始的,触发器/Job + DBLINK的方式,可同步和定时刷新。 2,物化视图刷新的方式,有增量刷新和完全刷新两种模式,定时刷新。 3,高级复制,分为多主复制和物化视图复制两种模式。其中多主复制能进行双向同步复制和异步复制,物化视图用于单向复制,定时刷新,与2类似。 4,流复制,可实时和非实时同步。 5,GoldenGate复制,Oracle新买的复制产品,后面应该会取代流复制。它不仅能提供Oracle数据库之间的数据复制支持,还支持在不同种数据库之间的数据同步,也可设置实时和非实时同步。 6,DataGurd,此技术主要用于灾备方案,不过在最新11gR2版本中加入了备库实时应用日志,同时能open 提供read only访问的功能。因此,可以作为读写分离,或者作为report数据库,降低系统负载的一个好的方案。 其中上面1,2,3,是采用Oracle数据库内部的机制来实现,而4,5,6是采用挖掘数据库日志的方式实现的。因此,后面3中方式在性能上会更好些。 第三方提供的数据同步方案: 主要根据实现机制分为两大类: 1,采用挖掘数据库日志的方式实现 市场上用的比较多的,如Quest SharePlex, DSG RealSync 。此类软件与Oracle 新收购的GoldenGate 工具类似。 2,采用相关软件在存储级进行复制 IBM,EMC等存储厂商可以实现,使用第三方存储管理软件,如Veritas Replication也可实现。此类方式应用场景与上面6类似。

数据库软件升级及数据库迁移方案

数据库软件升级及数据库迁移方案 根据本次项目需求,此次项目实施除硬件设备安装调试外,还包括对已有管理系统所用Oracle数据库的升级和管理系统数据的迁移工作,实施方案如下: 一、数据库软件升级 1.1操作系统AIX安装 新购p550小机自带AIX6100操作系统,用启动光盘安装并打好相应补丁; 设置相应环境参数,如:语言环境为简体中文等; 挂载IBM 1814-20A存储,并设成开机自动加载。 1.2 Oracle 10G安装 在存储上安装10g系列中的稳定版本:10.2.0.1并补丁升级至 10.2.0.4; 配置两台小机上所装Oracle,满足数据库的高可用性,保证一台down 机的情况下,另一台能自动接管数据库服务。 二、数据库迁移 2.1迁移前期调研 1、迁移任务的目标 本次项目数据迁移的目的是:将现有ERP系统的二个子系统数据,从低版本到高版本、跨操作系统的方式进行迁移升级,将信息中心现有应用系统数据进行无差异迁移,升级后的目的数据库环境在继承现有数据库所有功能基础上,性能及稳定性需更为完善,从而更好的满足对兴发现有各系统各方面性能的支持。 2、新旧环境分析

2.2迁移各类资源准备 1、人员技术准备 甲方:业务系统管理员; 软件开发商:提供系统维护手册,以搭建模拟应用系统测试数据; 乙方:网络工程师、数据库维护工程师。 2、系统环境准备 正式环境:2台8204-E8A操作系统AIX6100及Oracle10.2.0.4安装 正常; 中转环境:服务器1台、高档PC机2台,数据迁移中转及应用系统 模拟部署及测试用。 3、安装和调测相关软件 操作系统:Windows(临时中转环境) 数据库:Oracle10.2.0.4; 中间件:无; 工具软件:PL/SQL、LoadRun等。 2.3数据迁移方案设计 1、时间安排 模拟环境测试: 模拟结果观察: 正式数据迁移: 2、迁移方案 经过综合分析众多数据迁移相关资料,结合项目经验,本次数据迁移总体方案如下: A、迁移过程直接向10.2.0.4升级 Oracle验证矩阵中无特别强调,可以直接升级为10.2.0.4。 B、采用传统的EXP/IMP方式迁移 本次迁移非本机环境升级,涉及到Windows到AIX操作系统的跨越,另外Oracle版本跨度大,采用Oracle公司提供的EXP/IMP工

Oracle数据库之间数据同步

Oracle数据库之间数据同步 项目中开发库与测试数据库分离,其中某些系统表数据与基础资料数据经常需要进行同步,为方便完成指定数据表的同步操作,可以采用dblink结合dbjob方法完成,简单方便。 操作环境:此Oracle数据库服务器ip为ip1,有dbcenter与dbbranch两个库,一般需要将dbcenter的表数据同步到dbbranch,dbcenter为源库,dbbranch为目标库,具体步骤如下: 1.在源库创建到目标库的dblink create public database link dbcenter connect to username identified by userpassword using ' (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ip1)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) ) ' ; 在创建dblink时,要注意,有时候可能会报用户名和密码错误,但实际上我们所输入的账户信息是正确的,此时就注意将密码的大小写按服务器上所设置的输入,并在账号密码前号加上双引号(服务器版本不同造成的)。 2.成功后验证dblink select sysdate from dual@dbcenter; 3.建立存储过程获取数据 create or replace procedure job_sync() is begin Select * from test@dbcenter; end job_sync; 4.为方便每次需要同步时自动完成同步工作,采用oraclejobs完成定时工作:

Oracle数据库升级技术方案

Oracle数据库升级技术方案Oracle Database Upgrade Support

目录 一说明 (3) 二前期准备工作 (4) 2.1系统检查 (4) 2.2操作系统补丁包检查 (5) 2.3系统组件检查 (5) 2.4无效对象检查 (5) 2.5 temp文件检查 (6) 2.6 SYS和SYSTEM重复对象检查 (6) 2.7配置闪回操作 (7) 2.8前期11.2.0.3软件安装 (7) 三创建回退方案 (7) 3.1关闭数据库,停监听,停dbconsole 停容灾 (7) 3.2 创建闪回点 (7) 3.3备份控制文件和redo (8) 四数据库升级前检查 (8) 五数据库升级 (8) 六升级结束后数据库检查 (9) 七升级失败的回退措施 (9) 7.1重定向10g目录 (9) 7.2闪回数据库 (10) 7.3 dd还原redo和控制文件 (10) 7.4重建控制文件 (10) 7.5查看Tempfile (11)

一说明 数据库为10g单机环境,目标升级为11g环境,操作系统为5,实例名称:zhcj 综合采集 IP:130.36.6.8

二前期准备工作 2.1系统检查 针对zhcj数据库进行基本的操作系统检查,包括系统配置,版本,操作系统内存,交换分区,tmp 空间,必要的操作系统包检查,无效对象检查。 包检查: bos.adt.base bos.adt.lib bos.adt.libm bos.perf.libperfstat 5.3.9.0 or later bos.perf.perfstat bos.perf.proctools xlC.aix50.rte.10.1.0.0 or later gpfs.base 3.2.1.8 or later P570A_ZHCJ:/# lslpp -l bos.adt.base bos.adt.lib bos.adt.libm bos.perf.libperfstat bos.perf.perfstat bos.perf.proctools xlC.aix50.rte gpfs.base < Fileset Level State Description ---------------------------------------------------------------------------- Path: /usr/lib/objrepos bos.adt.base 5.3.9.0 COMMITTED Base Application Development Toolkit bos.adt.lib 5.3.9.0 COMMITTED Base Application Development Libraries bos.adt.libm 5.3.9.0 COMMITTED Base Application Development Math Library bos.perf.libperfstat 5.3.9.0 COMMITTED Performance Statistics Library Interface bos.perf.perfstat 5.3.9.0 COMMITTED Performance Statistics Interface bos.perf.proctools 5.3.9.0 COMMITTED Proc Filesystem Tools xlC.aix50.rte 10.1.0.0 COMMITTED XL C/C++ Runtime for AIX 5.3 Path: /etc/objrepos bos.perf.libperfstat 5.3.9.0 COMMITTED Performance Statistics Library Interface bos.perf.perfstat 5.3.9.0 COMMITTED Performance Statistics Interface lslpp: Fileset gpfs.base not installed.

oracle数据同步方案

oracle 数据同步方案 (DBLink)

一、什么是dbLink 两台不同的数据库服务器,从一台数据库服务器(例如A数据库服务器)的一个用户读取另一台数据库服务器(例如B数据库服务器)下的某个用户的数据,这个时候可以使用dblink。其实dblink和数据库中的view差不多,建dblink的时候需要知道待读取数据库的ip地址,ssid以及数据库用户名和密码。 二、DbLink的创建步骤 说明:A数据库服务器是指-需要同步的数据库服务器,B数据库服务器是指-被同步的数据库服务器,以下文档中简称A数据库与B数据库。 1、在目的数据库上(A数据库),创建dblink drop public database link dblink_orc92_182; Create public DATABASE LINK dblink_orc92_182 CONNECT TO bst114IDENTIFIED BY password USING ''orc92_192.168.254.111''; 注释: --dblink_orc92_182 是dblink_name即创建的dblink名称 --bst114 是username即A数据库的用户 --password 是password即A数据库用户名密码 --''orc92_192.168.254.111'' 是远程数据库名即B数据库的名称,为了方便期间命名最好是“数据库名称+ip” 2、在源数据库(B数据库)和目的数据库(A数据库)上创建要同步的表 说明:不管是A数据库还是B数据库上创建的表最好有主键约束,快照才可以快速刷新 drop table test_user; create table test_user( id number(10) primary key, name varchar2(12), age number(3) );

Oracle数据泵同步数据方式简要步骤

Oracle数据泵同步数据方式简要步骤1、Oracle数据泵简介 Data Pump 反映了整个导出/导入过程的完全革新。不使用常见的 SQL 命令,而是应用专有 API(direct path api etc) 来以更快得多的速度加载和卸载数据。 以下步骤为从容灾数据库(源端)上,按照用户或者数据表的模式将数据同步到测试数据库(目标端)上的简要步骤。 应用数据泵做数据同步的前提条件是: 1、在源端数据库主机上有足够大的空间存储导出的数据 文件,要求提前对导出的数据文件大小做评估,看预 留多少空间。 2、在目标端主机上也要保证有足够的空间存放导入的数 据文件 3、源端和目标端导入导出所用的数据库用户及密码(明 文) 2、Oracle数据泵数据表同步方式和用户同步方式 2.1.指定数据表同步方式(导出、导入) 以同步客服测试数据库为例: 源端数据库主机:10.220.33.112(存放目录:/dataapp1/expdp) 目标端数据库主机:10.220.64.71(存放目录:/oracle/imp)

导出: 1.滤出需要同步的数据表列表,评估需要同步的表大小,在源端 及目标端主机上留出所需的数据文件的空间。 2.登录(oracle/oracle)源端数据库主机(10.220.3 3.112),执行: $sqlplus / as sysdba 登录数据库,执行如下语句: >create directory dpdata2 as '/dataapp1/expdp '; >grant read, write on directory dpdata2 to kf; 3.按照表名导出的语句如下: $expdp kf/kf@rzkfdb1new tables=co_task,co_task_log,……directory=dpdata2 dumpfile=par%U.dmp parallel=15; 参数说明:tables------要导出的数据表名 Directory------数据文件导出的路径 Dumpfile---------导出的数据文件命名%为通配符,按照导出的进程数递增 Parallel----------数据泵支持多进程导出方式 4.此语句执行后观察在对应的目录是否有*.dmp类别的文件生成导入: 1.数据泵导入操作是在导出操作基础上进行的,在导入操作之前, 需要在目标数据库上建立与源端相同的表空间、schema等元素。 2.登录(oracle)目标端10.220.64.71数据库主机,执行 $Sqlplus / as sysdba 登录数据库,执行如下语句: >create directory dpdata5 as '/oracle/imp'; >grant read, write on directory dpdata2 to kf; 3.把导出的*.dmp文件,传递到导入数据目录/oracle/imp,执行: $impdp kf/kf@kfcsdb directory=dpdata5 dumpfile=par%U.dmp parallel=15 remap_tablespace=TS_KF:KFCSDB_DATA_TBS01,TS_KF_LOG:KFCSDB_DATA_TBS01;

Oracle中比对2张表之间数据是否一致的几种方法

Oracle中比对2张表之间数据是否一致的几种方法 by Maclean.liu liu.maclean@https://www.doczj.com/doc/3610791857.html, https://www.doczj.com/doc/3610791857.html,

About Me l Email & Gtalk:liu.maclean@https://www.doczj.com/doc/3610791857.html, l Blog:https://www.doczj.com/doc/3610791857.html, l QQ:47079569 QQ Group:23549328 l Oracle Certified Database Administrator Master 10g and 11g l Over 6 years experience with Oracle DBA technology l Over 7 years experience with Linux technology l Member Independent Oracle Users Group l Member All China Oracle Users Group l Presents for advanced Oracle topics: RAC, DataGuard, Performance Tuning and Oracle Internal.

How To Find Maclean Liu?

大约是2个星期前做一个夜班的时候,开发人员需要比对shareplex 数据同步复制软件在 源端和目标端的2张表上的数据是否一致,实际上后来想了下shareplex 本身应当具有这种数据校验功能, 但是还是希望从数据库的角度得出几种可用的同表结构下的数据比对方法。 注意以下几种数据比对方式适用的前提条件: 1. 所要比对的表的结构是一致的 2. 比对过程中源端和 目标端 表上的数据都是静态的,没有任何DML修改 方式1: 假设你所要进行数据比对的数据库其中有一个 版本为11g且该表上有相应的主键索引(primary key index)或者唯一非空索引(unique key ¬ null)的话,那么恭喜你! 你可以借助11g 新引入的专门做数据对比的PL/SQL Package dbms_comparison来实现数据校验的目的,如以下演示: Source 源端版本为11gR2 : conn maclean/maclean SQL> select * from v$version; BANNER --------------------------------------------------------------------------------Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production PL/SQL Release 11.2.0.3.0 - Production CORE 11.2.0.3.0 Production TNS for Linux: Version 11.2.0.3.0 - Production NLSRTL Version 11.2.0.3.0 - Production SQL> select * from global_name; GLOBAL_NAME https://www.doczj.com/doc/3610791857.html, & https://www.doczj.com/doc/3610791857.html,

相关主题
文本预览
相关文档 最新文档