Oracle数据库集复制思路方法浅议
在Oracle中实现数据库的复制

(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.1.200)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = beijing) ) ) 运行$tnsping beijing 出现以下提示符: Attempting to contact (ADDRESS=(PROTOCOL=TCP)(HOST=10.1.1.200)(PORT=1521)) OK (n 毫秒) 表明深圳数据库可以访问北京数据库。 ②、在北京那边也同样配置,确认$tnsping shenzhen 是通的。 2 、改数据库全局名称,建公共的数据库链接。 ①、用 system 身份登录 shenzhen 数据库 SQL>alter database rename global_name to ; 用 system 身份登录 beijing 数据库: SQL>alter database rename global_name to ; ②、用 system 身份登录 shenzhen 数据库 SQL>create public database link using 'beijing'; 测试数据库全局名称和公共的数据库链接 SQL>select * from global_name@; 返回结果为 就对了。 用 system 身份登录 beijing 数据库: SQL>create public database link using 'shenzhen'; 测试数据库全局名称和公共的数据库链接 SQL>select * from global_name@; 返回结果为 就对了。 3 、建立管理数据库复制的用户 repadmin ,并赋权。 ①、用 system 身份登录 shenzhen 数据库 SQL>create user repadmin identified by repadmin default tablespace users temporary tablespace temp; SQL>execute dbms_defer_sys.register_propagator('repadmin'); SQL>grant execute any procedure to repadmin; SQL>execute dbms_repcat_admin.grant_admin_any_repgroup('repadmin'); SQL>grant comment any table to repadmin; SQL>grant lock any table to repadmin; ②、 同样用 system 身份登录 beijing 数据库, 运行以上的命令, 管理数据库复制的用户 repadmin , 并赋权。 说明:repadmin 用户名和密码可以根据用户的需求自由命名。
对Oracle数据库中某个用户数据的复制

将一台计算机(暂且称为计算机A)上oracle数据库中的task用户的所有表复制到另外一台计算机(暂且称为计算机B)的oracle数据库中。
注意:为了不修改程序等其他项,在计算机B的oracle中创建的表空间、用户等应该和计算机A中的一样(oracle数据库中用户名为task,密码为task,表空间为users)。
1复制前的准备工作1.1首先以sys或者system的身份登录安装了oracle10g之后,在开始-所有程序-找到oracle10g的相关启动程序。
双击SQL Plus进行登陆,或者用PLSQL Developer登陆。
在此我们使用的是图形化界面的PLSQL Developer,操作起来比较方便。
1.2 创建表空间(由于计算机A上的oracle数据库用的是users表空间,所以在此不用创建表空间,如果A中oracle用的不是系统自带的表空间,则要创建。
)在创建表空间之前应该先查询计算机A中kby表空间的大小。
select tablespace_name,sum(bytes)/1024/1024 from dba_data_files where tablespace_name='kby' group by tablespace_name;通过查询,查询结果如图1-5所示。
图1-5 表空间大小查询结果从图中可以看出,KBY的全部表空间为100M,但是还有99M空闲。
接下来在计算机B的oracle数据库中创建表空间。
同时在左边的Objects下的表空间Tablespace文件夹下找到KBY表空间。
create tablespace kby datafile ‘d:\task\kby.dbf’ size 10M autoextend on next 10m maxsize 100m extent management local;1.3 创建新用户task,并和表空间建立关系create user task identified by cloud default tablespace users;创建成功会提示User created,同时在左边的Objects下的用户Users文件夹下找到TASK用户。
克隆Oracle数据库的方法和步骤

复制数据库这篇文章中将要建立前两篇文章中的实例数据库Practice的一个克隆数据库,我们将之命名为CLNE,我们这里的原数据与克隆的数据库兹同一台机器上,因此无需再进行Oracle安装,但一般情况下需要首先在克隆目标机器上安装Oracle软件,而且要与原数据库的Oracle具有相同的版本,具体步骤如下:1、准备CLNE数据库:①、为CLNE数据库创建所需的路径,执行如下命令:export ORACLE_SID=CLNE;export ORACLE_BASE=/app/oracle;export ORACLE_HOME=/app/oracle/;export ORACLE_DATA=/oracledata/$ORACLE_SID;export ORACLE_ADMIN=$ORACLE_BASE/admin/$ORACLE_SID;mkdir $ORACLE_ADMIN;mkdir $ORACLE_ADMIN/pfile;mkdir $ORACLE_ADMIN/bdump;mkdir $ORACLE_ADMIN/cdump;mkdir $ORACLE_ADMIN/udump;mkdir $ORACLE_ADMIN/create;mkdir $ORACLE_DATA;mkdir $ORACLE_DATA/archive;②、准备参数文件和口令文件:如果在Linux上可以使用如下命令:cp $ORACLE_BASE/admin/PRACTICE/pfile/initPRACTICE.ora$ORACLE_BASE/admin/CLNE/pfile/initCLNE.ora;ln –s $ORACLE_BASE/admin/CLNE/pfile/initCLNE.ora$ORACLE_HOME/dbs/initCLNE.ora;以上两条命令将PRACTICE数据库的默认参数文件拷贝了一份到CLNE数据库相应路径之下,作为CLNE数据库的默认参数文件,并且建立了CLNE数据库的默认参数文件到默认数据库参数文件的一个软连接。
Oracle DB 复制数据库

Oracle DB 复制数据库• 列出创建副本数据库的目的• 选择用于复制数据库的方法• 使用RMAN 复制数据库• 使用RMAN 备份复制数据库• 基于正在运行的实例复制数据库使用副本数据库• 使用副本数据库可执行以下任务:–测试备份和恢复过程–测试升级到新版本的Oracle数据库–测试应用程序的变化对数据库性能的影响–通过创建导出文件并将对象导入生产数据库来恢复对象• 创建副本数据库:–使用RMAN 的DUPLICATE命令–在同一主机上或在不同的主机上–包含与源相同的内容或源的子集–对于基于备份的复制,是通过辅助通道执行的–对于活动的数据库复制,是通过目标通道执行的使用副本数据库副本数据库是你的目标数据库的副本,它具有一个新的唯一数据库标识符(DBID)。
通过独立运行副本数据库(不依赖目标数据库)可执行以下任务:• 测试备份和恢复过程。
•测试升级到新版本的Oracle数据库。
•测试应用程序的变化对数据库性能的影响。
• 创建包含副本数据库中对象的导出文件并将这些对象导入生产数据库,恢复不小心从目标数据库中删除的对象。
尽管你可能发现闪回查询、闪回删除和闪回表是用来恢复对象的更简单快速的解决方案。
创建副本数据库:• 可以使用RMAN 的DUPLICATE命令在同一主机上或不同的主机上创建副本数据库。
• 副本数据库可包含与源数据库相同的内容或仅包含源数据库的子集。
• 复制的主要工作是由辅助通道执行的。
对于基于备份的复制,这些通道对应于目标主机上的辅助实例上的服务器会话。
• 对于活动数据库复制,由目标通道执行将数据文件副本推入到辅助实例的工作。
∙选择数据库复制方法选择复制数据库的方法-始终连接到辅助实例:可将源数据库复制到位于同一计算机或其它计算机上的目标数据库。
与副本数据库关联的数据库实例称为辅助实例。
所有复制方法都需要连接到辅助实例。
此图表显示了以下数据库复制方法:• 从活动数据库,连接到目标实例和辅助实例• 从备份,连接到目标实例和辅助实例• 从备份,连接到辅助实例,不连接到目标实例,但具有恢复目录连接• 从备份,连接到辅助实例,不连接到目标实例和恢复目录∙复制活动数据库• 使用网络(不需要备份)• 包括自定义SPFILE• 通过Oracle Enterprise Manager 或RMAN 命令行复制活动数据库通过使用Oracle Enterprise Manager 或RMAN DUPLICATE命令的FROMACTIVE DATABASE子句,可以指示源数据库直接将映像副本和归档日志副本复制到辅助实例。
向ORACLE数据库复制数据的方法及应用

()编 写一个 参数 文件 e a l l 1 x mpe ,文 Orce 系数据 库 系统可 移植性 好 、使 al关 第二步 : 用S L L a e把 数据 文件的 使 Q *odr 用方 便 、 能强 大 , 用于 各类计 算机应 用环 件 内 容 为 : 功 适 us rd=u r a ei e s /口令 fe c \ srd t 数据 装入 O al数 据库 中。 l f = : ue aa. rc e 境 , 目前 较流 行的 关系数 据库 管理 系统 , 是 为 o r sr () 1创建 表结构 (Q * o d r 可装载 S L L ae 只 许 多企事业 单位 所采 用 。在 一 个新的应 用 系 dmp w ne =u e a () 调 用 参数 文件 卸 出数据 :c >e p 数据 , 能导入 表结构 及其相 关属性 ) 2 : x 不 : 统运 行初期 , 了减 少数据 录入量 , 为 充分利 用 arf =e m e l S L cet a l p r n Q > raetbe es ( o 好 历史数据 或外 部数据 ,时 常需要 将 O al rc p f e xa pl l e 第 二 步 :用 i P 命 令 将 包 含 在 m i d n mb r ) u e( , 5 数据 库 中的数据 复制 到 另一 个 数据库 ,或将 aa d srb n me a v rh r(0, ac a21) 另一 个数据库 的数据复 f:O al数据库 中 , u ser d t .mp的数据 装入 用户 ue 。 f1 rc ]]  ̄ e 如何 实现呢 ?本 文结 合实 际工 作 ,介 绍 了将 c > i sr = srb 口令 fe c : mpuei ue / d l f= : tlln v rh r(0, e oe p ac a21) \ s r d t . mp t u e =u e — u — a a d o s r s r b e — — 数据 复制 到 O al数 据 库的方 法及 应用 。 rce a des d rs v rh r( ) ac a23 ) 0{ ( ) 写 相应 的控 制 文 件 , 件名 为 : 2编 文
数据库容灾、复制解决方案全分析(绝对精品)

数据库容灾、复制解决方案全分析(绝对精品)目前,针对oracle数据库的远程复制、容灾主要有以下几种技术或解决方案:(1)基于存储层的容灾复制方案这种技术的复制机制是通过基于SAN的存储局域网进行复制,复制针对每个IO进行,复制的数据量比较大;系统可以实现数据的同步或异步两种方式的复制.对大数据量的系统来说有很大的优势(每天日志量在60G以上),但是对主机、操作系统、数据库版本等要求一致,且对络环境的要求比较高。
目标系统不需要有主机,只要有存储设备就可以,如果需要目标系统可读,需要额外的配置和设备,比较麻烦。
(2)基于逻辑卷的容灾复制方案这种技术的机制是通过基于TCP/IP的网络环境进行复制,由操作系统进程捕捉逻辑卷的变化进行复制。
其特点与基于存储设备的复制方案比较类似,也可以选择同步或异步两种方式,对主机的软、硬件环境的一致性要求也比较高,对大数据量的应用比较有优势。
其目标系统如果要实现可读,需要创建第三方镜像。
个人认为这种技术和上面提到的基于存储的复制技术比较适合于超大数据量的系统,或者是应用系统的容灾复制。
我一直有一个困惑,存储级的复制,假如是同步的,能保证数据库所有文件一致吗?或者说是保证在异常发生的那一刻有足够的缓冲来保障?也就是说,复制的时候起文件写入顺序和oracle的顺序一致吗?如果不一致就可能有问题,那么是通过什么机制来实现的呢?上次一个存储厂商来讲产品,我问技术工程师这个问题,没有能给出答案我对存储级的复制没有深入的研究过,主要是我自己的一些理解,你们帮我看一下吧……我觉得基于存储的复制应该是捕捉原系统存储上的每一个变化,而不是每隔一段时间去复制一下原系统存储上文件内容的改变结果,所以在任意时刻,如果原系统的文件是一致的,那么目标端也应该是一致的,如果原系统没有一致,那目标端也会一样的。
形象一点说它的原理可能有点像raid 0,就是说它的写入顺序应该和原系统是一样的。
不知道我的理解对不对。
浅析ORACLE数据库的数据迁移
浅析ORACLE数据库的数据迁移发布时间:2021-12-30T06:56:23.662Z 来源:《中国科技人才》2021年第24期作者:苏婷[导读] 随着系统业务的不断扩展,系统产生的数据正成几何级增长。
而数据是信息系统的核心,因此在数据迁移中,数据的安全性保障更是重中之重。
ORACLE数据库是世界上主流的数据库之一,数据迁移的方法有多种,而如何在有限的系统停机时间下完成ORACLE数据库的数据迁移工作,并保证数据的完整性和正确性,将结合实际案例,在本文中进行探讨。
苏婷南宁市住房和城乡建设信息管理中心广西南宁市 530028摘要:随着系统业务的不断扩展,系统产生的数据正成几何级增长。
而数据是信息系统的核心,因此在数据迁移中,数据的安全性保障更是重中之重。
ORACLE数据库是世界上主流的数据库之一,数据迁移的方法有多种,而如何在有限的系统停机时间下完成ORACLE数据库的数据迁移工作,并保证数据的完整性和正确性,将结合实际案例,在本文中进行探讨。
关键词:ORACLE,数据迁移,安全前言随着信息技术的快速发展,各项业务数字化办理,信息系统覆盖面不断增大,系统产生的业务数据也随之增长,这对服务器和存储设备提出了新的要求,这些要求通过对设备进行升级、扩容来实现,在升级改造过程中,数据迁移是必不可少的一项工作。
而ORACLE数据库是目前最流行的关系型数据库之一,有安全级别高、处理速度快、存储量大等优势,广泛应用于各个关键领域的信息系统。
ORACLE数据库如何在数据迁移中实现数据的完整性,提高数据的安全性,本文将结合在数据迁移的实际案例,分析数据迁移的动机、方法、风险等,讨论在实际中的应用。
1 数据迁移的动机数据中心的搬迁:由于机构搬迁或者相关政策的因素影响,需要把数据中心搬迁或合并到新的地址,根据需求合理安排数据的存储空间,因而涉及到数据的迁移和存储的整合。
旧的存储性能不足:随着信息系统的发展,现有的存储设备容量不足、机器老化等已无法满足需求,甚至影响到系统的正常使用,数据迁移迫在眉睫。
03_Oracle数据迁移之克隆数据库
Oracle数据迁移之克隆数据库DBA有时需要克隆数据库以便测试备份和恢复策略。
如果数据库校小,简单的expdp/impdp就能搞定了,但是多数生产环境中的数据库是没法这么干的。
克隆数据库有以下几种不同的方法:使用RMAN的duplicate命令使用OEM中的Database Control通过SQL*PLUS手工拷贝在这里,方少想通过一个实验向大家演示一下如何通过RMAN工具来克隆一个运行中的数据库。
RMAN提供了duplicate命令,此命令使用一个数据库的备份创建一个新数据库。
文件被复原到目标数据库,之后,执行一个不完全的恢复,用open resetlogs选项打开数据库。
使用RMAN的好处是上述所有步骤都能自动执行,无需用户干涉。
复制数据库可以是原来数据库的完全拷贝,也可以只是包含原数据库的某一个子集。
实验演示环境服务器A:Redhat Enterprise Linux5.5+Oracle10g R2服务器B:Redhat Enterprise Linux4.8+Oracle10g R2实验目的:将服务器A上正在运行中的ProdDB数据库克隆至服务器B并更名为TestDB一、在服务器A上配置SAMBA,将备份集所在目录共享出来检查一下服务器上是否安装了samba套件结果显示未安装samba,所以我们得先把samba套件给装上编辑/etc/samba/smb.conf文件将ProdDB数据库的备份集以及归档日志所在目录共享出来注:请确保备份集以及归档日志对于others用户是可读,不然后面在RMAN中duplicate的时候会报错在smb.conf文件的最后加上图中所示的那段配置,然后启动samba服务SSH登录服务器B并挂载服务器A的共享目录至/backup在服务器B上配置监听:创建密码文件:创建相关目录:准备一个初始化参数文件initTestDB.ora,内容大致如下:启动实例并创建spfile文件:登录服务器A,配置TNS:打开SQL*PLUS,查看当前日志序列号,并切一个归档出来:打开RMAN,执行duplicate命令进行数据库克隆:嗯?虽然最后报了个错,但是关系不大,嘿嘿。
ORACLE数据库复制
ORACLE数据库复制ORACLE数据库高级复制一、数据库复制概述复制,顾名思义就是将数据库中的数据拷贝到不同物理地点的数据库中。
在很多生产环境中,经常遇到一些大量得数据,这些数据只用作查询统计功能。
例如:历史告警,历史性能指标,历史事件,等等。
这种数据的特点是:只读不写,数据量相当大,一旦查询大结果集的数据时,对数据库的IO,内存缓存占用相当大,会严重影响同一个数据库的其他会话的操作,表现为整个数据库反应迟缓,业务功能不可用。
采用复制技术后,将这些大型数据复制到另外一个数据库中,对这些大数据的查询统计操作放在另外的一台数据库服务器上进行,即使受影响,也只是影响局部的查询统计功能,其他正常的业务处理不受影响。
但是,使用复制技术的话,意味着一个系统中,至少存在两个数据库(集群的数据库也当成一个数据库),对应的应用程序也需要建立多个数据库连接,能够根据业务需要,访问不同的数据库。
ORACLE数据库自身提供有复制功能,只需要进行配置即可实现。
ORACLE提供有三种复制技术:高级复制(Advanced Replication)流复制(Streams Replication)备库(Dataguard)备库的方式,就是数据库对数据库的备份方式,主要是解决容灾的,不讨论此话题。
流复制主要是利用ORACLE的归档日志,进行增量备份来实现的,不仅可以配置只复制某些表,还可以配置仅复制某些表上的ddl或dml。
可以复制到表,用户,数据库级别。
高级复制主要是基于触发器的原理来触发数据同步的,因此,高级复制无法实现用户,数据库级别的对象复制,只能做些表、索引和存储过程的复制。
如果出于容灾整个数据库的考虑,高级复制相当复杂,而且并不一定能做好,流复制的配置相对简单。
流复制是后来产生的复制技术,是基于日志挖掘技术实现的,对数据库的影响较低。
但在稳定性方面较差,实时性没有高级复制强(因为高级复制是基于触发器的)。
如果系统意外的话,流复制的恢复将会需要较长时间,特别是意外时间越长,恢复时间成倍增长。
Oracle数据库之间表格复制3种方法(bat、dblink、copyfrom)
Oracle数据库之间表格复制3种⽅法(bat、dblink、copyfrom)数据库之间的表格复制例:从wxfctjdb复制表格到本机orcl数据库ORCL =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))WXFC =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = /doc/d477827e16fc700abb68fccf.html )(PORT = 1521)) (CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))⽅法1:创建dblink1、登录本机orcl数据库打开cmd,输⼊ sqlplus sys/Oracle123 as sysdba 回车⽅法2:copy from1、登录本机orcl数据库打开cmd,输⼊sqlplus sys/Oracle123 as sysdba 回车2、复制表格copy from wxfctjdb/wxfctjdb@wxfc to wxfctjdb/wxfctjdb@orcl create fwdjmxb using select * from fwdjmxbcopy from wxfctjdb/wxfctjdb@wxfc create fwdjmxb using select * from fwdjmxbinsert into thp_reginfo select * from view_reginfo 表结构⼀样,数据复制create table a as select * from b 创建表create view view_a as select * from b 创建视图3、bat法select table_name from user_tables 查询当前⽤户下所有表名创建⼀个.sql⽂件copy from decision/decision@acfc create HOUSE_NATURE using select * from HOUSE_NATURE;copy from decision/decision@acfc create HTBA_CONTRACTBLD using select * from HTBA_CONTRACTBLD; 创建⼀个.dat⽂件,引⽤ .sql⽂件,log为输出⽇志⽂件@echo offsqlplus acfc/acfc@orcl @E:\1.sql > log.txtexit。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle数据库集复制思路方法浅议
疯狂代码 / ĵ:http://DataBase/Article44263.html 正在看ORACLE教程是:Oracle数据库集复制思路方法浅议前言
日益增长分布式应用需求要求实现更好分布式软件Software环境不断推动着分布式技术进步Oracle数据复制是实现分布式数据环境种技术通过在区别物理站点拷贝数据来建立分布式数据环境它和分布式数据库区别在分布式数据库中虽然每个数据对象也对所有站点可用但是特定数据对象只存在于个特定站点中而数据复制实现所有站点都有相同数据对象可用拷贝
在个典型分布式商业应用中经常需要把个地区数据备份到总部数据库中方面可以作为种备份方式另方面也方便总部应用中综合统计这是Oracle数据复制中简单应用本文将以这样个例子讲述如何实现Oracle数据复制 实际情况是A公司总部在北京有 3个营业部分别位于上海()、杭州()和武汉(ORACLE.
) 3个营业部软件Software系统相同数据库结构也相同现在需要把 3个营业部数据全部备份到总部数据库中
准备工作
在进行复制的前需要准备东西很多当然最基础就是网络必须畅通的后需要收集些复制环境基本信息:
1. 需要复制数据库站点数量
2. 每个站点Oracle版本号
3. 每个需要复制数据库大小
4. 每个数据库所使用集
5. 每个需要复制数据所用方案名
收集完环境信息可以开始建立总部集中数据库集中数据库要求版本高于所有主战点版本最好所有数据库都是用相同集建好库后为每个主站点备份数据分别建个表空间表空间大于需要复制数据量至于预留以后发展空间视实际情况而定
为每个主站点对应复制数据建立方案如果各个主站点所使用方案名区别在集中数据库站点分别建立名称相同对应方案否则为各主站点复制数据分别建立相应方案名实际情况是后者各营业部数据库都是用Oracle方案名这里我们建立 3个对应方
案:SHORACL、HZORACL 和WHORACL所有数据库版本都是9i
基本概念
复制的前先解释下复制中几个概念:
1.主站点(Mater Site):在复制过程中提供数据源站点如上图中上海数据库站点
2.实体化视图站点(Materialized View Site):实体化视图复制中目标站点如上图中北京数据库站点
3.多主体站点复制(Multimaster Replication):复制环境中站点都是主站点对复制数据库对象有相同管理权限
4.实体化视图复制(Materialized View Replication): 个主体站点提供源复制对象个实体化视图站点拷贝主站点数据
5.实体化视图(Materialized View):在实体化视图站点为每个复制表或者视图建立个对应表保存相应数据该表只能通过Oracle复制机制进行增删改数据操作
6. 快速刷新、完全刷新和强制刷新:复制过程中 3种刷新方式快速刷新只复制源数据对象改变部分;完全刷新每次都拷贝遍源数据对象;强制刷新是数据库个折衷方案如果快速刷新失败则使用完全刷新
7. 主体组(Master Group):主体站点中被复制源数据对象集合
8. 实体化视图组(Materialized View Site):实体化视图站点中复制对象集合
9. 实体化视图日志(Materialized View Log):实体化视图复制中使用快速刷新时记录主体源数据对象操作日志表
同步复制和异步复制就不解释了本例采用每天次异步复制
进行复制
配置好本地服务名分别为:上海站点:SH杭州站点:HZ武汉站点:WH北京站点:BJ进入没有登录sqlplus让我们开始复制!
.设置主站点
这里以上海主站点设置为例
1.连接主站点创建复制管理员并授予相应权限复制管理员是管理整个复制环境并创建复制对象用户只有数据管理员可以建立主体组和实体化视图组
connect system/passwd@SH
create user repadmin identied by repadmin;
begin
dbms_repcat_admin.grant_admin_any_schema(
username=>'repadmin');
end;
/
grant comment any table to REPADMIN;
grant lock any table to REPADMIN;
后面两个grant语句使复制管理员可以为任何表建立实体化视图日志如果想改用户可以使用视图管理器还需要下面命令:
grant select any dictionary to REPADMIN;
2.注册传播方传播方会将主体站点延迟事务队列推入其他主体站点或者实体化视图站点
begin
dbms_defer_sys.register_purpagator(username=>'repadmin');
end;
3.调度清除作业该作业会定时清除延迟事务队列并用传播方将延迟事务推入其他主体站点或者实体化视图站点先更换用户:
disconnect;
connect repadmin/repadmin@SH;
begin
dbms_defer_sys.schedule_purge(
next_date=>sysdate,erval=>'sysdate + 1',delay_seconds=>0);
end;
next_date:下次执行日期sysdate表示立即
erval:间隔时段sysdate + 1表示间隔天sysdate+ 1/24表示间隔小时
delay_seconds:当延迟队列没有延迟事件时停止被次清除操作延迟时间
4.为实体化视图站点建立复制代理创建复制代理用户并授予视图接受方权限复制代理是复制接收方连接主体站点用户
disconnect;
connect system/passwd@SH;
create user proxy_bjoracle identied by proxy_bjoracle;
begin
dbms_repcat_admin.register_user_repgroup(
user_name=>'proxy_bjoracle,
privilege_type => 'proxy_snapadmin',list_of_gnames => NULL);
end;
/
grant select_catalog_role to proxy_bjoracle;
5. 创建主体组
disconnect;
connect repadmin/repadmin@SH;
begin
dbms_repcat.create_master_repgroup(gname=>'sh_rep');
end;
/
6. 向主体组中添加复制对象
a) 添加表:
begin
dbms_repcat.create_master_repobject(
gname=>'sh_rep',
type=>'TABLE',
oname=>' CREDIT_CARD'
sname=>'SHORACL'
use_existing_object=>TRUE,
copy_rows=>TRUE);
end;
[1] [2] [3] 下页
正在看ORACLE教程是:Oracle数据库集复制思路方法浅议>
b) 添加索引
begin
dbms_repcat.create_master_repobject(
gname=>'sh_rep',
type=>'INDEX',
oname=>' INDEX_CREDIT_CARD'
sname=>'SHORACL'
use_existing_object=>TRUE,
copy_rows=>FALSE);
end;
/
[NextPage]
7. 如果添加表没有主键需要设置可以代替主键列或者列集合
begin
dbms_repcat._columns(
sname => 'SHORACL',
oname => ' CREDIT_CARD ',
column_list => ' CREDIT_CARD_ID');
end;
/
8. 在主体组中数据对象可以被复制的前必须为他们生成复制支持该思路方法为复制创建必要触发器、包或者存储过程:
begin
dbms_repcat.generate_replication_support(
sname=>'SHORACL',
oname=>' CREDIT_CARD',
type=>'TABLE',
min_communication=>TRUE);
end;
/
9. 为快速刷新创建实体化视图日志:
create materialized view log _disibledevent='/shujuku/ORACLE/shujuku_2080_2.html'>[2] [3]
2008-12-23 1:05:05
疯狂代码 /。