知识大全 Oracle数据库中高级复制的功能介绍

Posted 视图

篇首语:山高流水长,志大精神旺。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle数据库中高级复制的功能介绍相关的知识,希望对你有一定的参考价值。

Oracle数据库中高级复制的功能介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  前言

  日益增长的分布式应用需求要求实现更好分布式的软件环境 不断推动着分布式技术的进步 Oracle数据复制是实现分布式数据环境的一种技术 通过在不同的物理站点拷贝数据来建立分布式数据环境 它与分布式数据库不同 在分布式数据库中 虽然每个数据对象也对所有的站点可用 但是特定的数据对象只存在于一个特定的站点中 而数据复制实现所有的站点都有相同数据对象的可用拷贝

  在一个典型的分布式商业应用中经常需要把个地区的数据备份到总部的数据库中 一方面可以作为一种备份方式 另一方面也方便总部应用中的综合统计 这是Oracle数据复制中的简单应用 本文将以这样一个例子 讲述如何实现Oracle数据复制

  实际情况是 A公司总部在北京 有三个营业部分别位于上海(ORACLE SHANGHAI ) 杭州(ORACLE HANGZHOU )和武汉(ORACLE WUHAN ) 三个营业部的软件系统相同 数据库结构也相同 现在需要把三个营业部的数据全部备份到总部的数据库中

  准备工作

  在进行复制之前需要准备的东西很多 当然最基础就是网络必须畅通 之后需要收集一些复制环境的基本信息

   . 需要复制的数据库站点的数量

   . 每个站点的Oracle版本号

   . 每个需要复制的数据库的大小

   . 每个数据库所使用的字符集

   . 每个需要复制的数据所用的方案名

  收集完环境信息 可以开始建立总部的集中数据库 集中数据库要求版本高于所有主战点的版本 最好所有的数据库都是用相同的字符集 建好库后为每个主站点的备份数据分别建一个表空间 表空间大于需要复制的数据量 至于预留以后的发展空间视实际情况而定

  为每个主站点的对应复制数据建立方案 如果各个主站点所使用的方案名不同 在集中数据库站点分别建立名称相同的对应方案 否则为各主站点的复制数据分别建立相应的方案名 实际情况是后者 各营业部的数据库都是用Oracle的方案名 这里我们建立三个对应方案 SHORACL HZORACL 和WHORACL 所有数据库的版本都是 i

  基本概念

  复制之前先解释一下复制中的几个概念

   .主站点(Mater Site) 在复制过程中提供数据源的站点 如上图中的上海数据库站点

   .实体化视图站点(Materialized View Site) 实体化视图复制中的目标站点 如上图中的北京数据库站点

   .多主体站点复制(Multimaster Replication) 复制环境中的站点都是主站点 对复制的数据库对象有相同的管理权限

   .实体化视图复制(Materialized View Replication) 一个主体站点提供源复制对象 一个实体化视图站点拷贝主站点数据

   .实体化视图(Materialized View) 在实体化视图站点为每个复制表或者视图建立一个对应的表保存相应的数据 该表只能通过Oracle的复制机制进行增删改数据的操作

   . 快速刷新 完全刷新和强制刷新 复制过程中的三种刷新方式 快速刷新只复制源数据对象的改变部分 完全刷新每次都拷贝一遍源数据对象 强制刷新是数据库的一个折衷方案 如果快速刷新失败则使用完全刷新

   . 主体组(Master Group) 主体站点中被复制的源数据对象的集合

   . 实体化视图组(Materialized View Site) 实体化视图站点中复制对象的集合

   . 实体化视图日志(Materialized View Log) 实体化视图复制中使用快速刷新时记录主体源数据对象操作日志的表

  同步复制和异步复制就不解释了 本例采用每天一次的异步复制

  进行复制

  配置好本地服务名分别为 上海站点 SH 杭州站点 HZ 武汉站点 WH 北京站点 BJ 进入没有登录的sqlplus 让我们开始复制!

  一.设置主站点

  这里以上海主站点设置为例

   .连接主站点 创建复制管理员并授予相应的权限 复制管理员是管理整个复制环境并创建复制对象的用户 只有数据管理员可以建立主体组和实体化视图组

>

  后面的两个grant语句使复制管理员可以为任何表建立实体化视图日志 如果想改用户可以使用视图管理器 还需要下面的命令

>

   .注册传播方 传播方会将主体站点的延迟事务队列推入其他主体站点或者实体化视图站点

>

   .调度清除作业 该作业会定时清除延迟事务队列并用传播方将延迟事务推入其他主体站点或者实体化视图站点 先更换用户

>

  next_date 下一次执行日期 sysdate表示立即

  interval 间隔时段 sysdate + 表示间隔一天 sysdate+ / 表示间隔一小时

  delay_seconds 当延迟队列没有延迟事件时停止被次清除操作的延迟时间

   .为实体化视图站点建立复制代理 创建复制代理用户并授予视图接受方权限 复制代理是复制接收方连接主体站点的用户

>

   . 创建主体组

>

   . 向主体组中添加复制对象

  a) 添加表

>

  b) 添加索引

>

   . 如果添加的表没有主键需要设置可以代替主键的列或者列的集合

>

   . 在主体组中的数据对象可以被复制之前 必须为他们生成复制支持 该方法为复制创建必要的触发器 包或者存储过程

>

   . 为快速刷新创建实体化视图日志

>

  如果是没有主键的表示用一下语句

>>>>>

   .启动复制

>

  二.设置实体化视图站点

   .创建复制管理员并授予相应的权限

>

   .注册传播方

>

   .公共数据库连接 需要每个复制需要创建三个数据库连接 公共数据库连接指定数据库的全局名称

>

  Using子句后跟的是全局数据库名或者是连接字符串

>

   .建立清除延迟事务队列调度作业

>

   .建立复制管理员mvadmin的数据库连接

>

   .建立复制调度数据库连接作业

>

   .授予SHORACL用户(对应SHORACL方案)

  相应的权限建立实体化视图

>

   .建立复制方案的数据库连接

>

  复制方案的数据库连接和复制管理员的数据库连接要和system用户间里的对应公共数据库连接使用相同的名字 在调度连接时将使用公共数据库连接中指定的数据库全局名或者连接字符串

   .建立实体化视图

>

  @后面是数据库连接名 如果该表没有主键则使用rowid来刷新

>

   .为多个视图建立刷新组

>

   .向刷新组中添加复制对象

>

  三.检查复制进程

   .查看sys dba_jobs视图是否生成了足够的作业

  经过以上的步骤应该有三个作业分别是清除作业 调度作业和刷新作业 查看视图的what字段是否有下面的内容

>

  如果排除其它系统作业本例中杭州和武汉的数据库复制建立之后将会有 个作业(如果为每个复制分别建立刷新组的话) 清除作业始终只有一个 每个复制对应一个调度作业 每个刷新组对应一个刷新作业

   .查看job_queue_processes参数 确保该参数不为零(数据库的默认值是零) 如果该参数为零 除非每次手工执行刷新 否则系统不会自动刷新复制数据

   .确保复制执行之后 观察sys dba_jobs视图的failures字段 如果复制在刷新过程中除错 Oracle会自动在 分钟之后再次尝试刷新 失败之后再在 分钟 分钟 分钟 之后尝试刷新 直到失败次数达到 次或者间隔时间超过作业设置的间隔时间 该作业将被标记为中断 Oracle不再执行该作业 要重新执行改作业使用dbms_job包的run过程

>

  job_no 是sys dba_jobs 的Job字段的值 作业号 在重新执行因出错而中断的作业前 需要手工找到出错点 并更正

  总结

cha138/Article/program/Oracle/201311/18124

相关参考

知识大全 Oracle的同步复制研究

Oracle的同步复制研究  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  数据库支持高级复制功能

知识大全 实现Oracle数据库复制

实现Oracle数据库复制  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  我们经常希望把各地

知识大全 oracle各后台进程介绍

  后台进程用来执行保证数据库运行所需的实际维护任务如某个后台进程维护缓冲区缓存根据需要将块写出到数据文件  另个进程负责在线重做日志文件写满时将它自己复制到一个归档目标  可以通过查询v$bgpro

知识大全 在Oracle中实现数据库的复制

在Oracle中实现数据库的复制  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在Interne

知识大全 Oracle10Gstreams模式级复制

Oracle10Gstreams模式级复制  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  数据库

知识大全 使用impdp复制oracle的schema数据迁移

  测试环境:   源windowsoracle    目标windowsoracle   &nbs

知识大全 oracle数据库恢复

  没做backup把冷备份复制出来装好oracle  报controlfileversion不匹配oracle版本  试过很多办法都没用最后只好重建controlfile  CREATECONTRO

知识大全 UNIX设置MySql数据同步 实现复制功能

UNIX设置MySql数据同步实现复制功能  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  mys

知识大全 详细介绍oracle数据库字符集

  一什么是oracle字符集  Oracle字符集是一个字节数据的解释的符号集合有大小之分有相互的包容关系ORACLE支持国家语言的体系结构允许你使用本地化语言来存储处理检索数据它使数据库工具错误消

知识大全 全面介绍恢复Oracle数据库

专家在线:全面介绍恢复Oracle数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  这是截取