Oracle高级复制
在开始之前,需要简单说明一下,目前公司有几个项目都采用Oracle作为数据库平台,并且有的项目使用到了Oracle的数据库复制技术,其中也遇到了一些问题,因此在这里,我对Oracle的复制技术谈一下我个人的理解,希望能够对采用Oracle数据库的项目组有所帮助。其中在文中使用到的SQL脚本都是经过检验可以运行的。
首先简单介绍和数据库复制有关的基本概念,然后探讨Oracle数据复制技术中的几个重要模型,最后介绍Oracle的数据复制管理器以及如何利用它来配置和维护复制环境。
在文章的开头,我想首先简单谈一下复制的基本概念,也就是什么是复制?复制简单地说就是在由两个或者多个数据库系统构成的一个分布式数据库环境中拷贝数据的过程。Oracle高级复制,也称为对称复制,第一次是在Oracle 7.1.6版本中出现的,在这之前的Oracle版本中,Oracle数据复制方法仅有只读快照形式的基本复制一种方法。随着Oracle版本的每一次升级,数据复制的功能、管理以及速度等方面都得到了很大的改进和完善。目前,由于对分布式数据环境需求的不断增长,越来越多的应用提出了数据复制的需求。
1.基本概念
1. 分布式数据库技术
分布式数据库技术是目前我们经常提及的分布式计算的一个重要组成部分,该技术允许数据在多个服务器端共享。采用分布式数据库技术,一个本地服务器可以存取不同物理地点的远程服务器上的数据;也可以使所有的服务器均可以持有数据的拷贝/复制,这样分布式系统中的所有服务器均可进行本地存取。
设计一个分布式计算解决方案首先需要考虑的问题就是应用的完整性、复杂性、性能和可用性以及响应时间等,同时还需要考虑的是对于不同的应用需求是采用实时存取远程数据还是采用延迟存取远程数据。这对于数据复制来讲就是采取实时更新复制方案还是延迟数据复制方案。
2. 同步和异步的概念
同步分发数据库技术是一种实时远程存取和实时更新数据的技术。这种技术可以保证应用的完整性降低了应用的复杂性,但是如果系统存在网络存取速度很慢这样的问题,相应响应时间就会很慢。
异步分发数据库技术是一种延迟远程存取和延迟传播对数据更新的技术。这种技术具有很高的可用性和很短的响应时间。相比同步分发数据库技术就显得复杂一些,为了确保应用的完整性需要仔细考虑和设计。
对于实际的商业问题,必须权衡这两种技术的利弊最终选择最佳的解决方案,有些问题选用同步技术比较适合,也有一些问题采用异步技术是比较好的解决方
相关文档:
近段时间很多网友提出监听配置相关问题,客户终端(Client)无法连接服务器端(Server)。本文现对监听配置作一简单介绍,并提出一些客户终端无法连接服务器端的解决思路,愿对广大网友与读者有一些帮助。
一、监听器(LISTENER)
监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提 ......
配置文件:
<hibernate-mapping>
<class name="vo.SshPost" table="ssh_post" >
<!-- <cache usage="read-write"/>-->
<id name="postId" type="java.lang.String">
......
如果仅仅是lock,以下语句可以发现所有用户锁 :
SELECT s.username,
decode(l.type, 'TM', 'TABLE LOCK', 'TX', 'ROW LOCK', NULL) LOCK_LEVEL,
o.owner,
o.object_name,
&n ......
单行函数:
函数类别:
单行:返回单个结果:substr,length
多行:返回多个结果,any,all
单行的分类:
字符类,日期类,数字类,转换类,通用类
1.字符类
转换大小写:
lower:转换为小写
Select ENAME,LOWER(ENAME) from EMP
upper:转换为大写
Select upper( ......
Oracle 在9i以后,可以利用DBMS_METADATA.GET_DDL包得到数据库的对象的ddl脚本。如下(SQLPLUS中执行):
1. 获取单个的建表、视图和建索引的语法
set pagesize 0
set long 90000
set feedback off
set echo off
spool DEPT.sql
select dbms_metadata. ......