如何实现两个oracle数据库实时同步

如何实现两个oracle数据库实时同步,第1张

为方便完成指定数据表的同步 *** 作,可以采用dblink与merge结合的方法完成。

*** 作环境: 此数据库服务器ip为19216819676,有center与branch两个库,一般需要将center的表数据同步到branch,center为源库,branch为目标库,具体步骤如下:

1在源库创建到目标库的dblink

create database link branch --输入所要创建dblink的名称,自定义

connect to dbuser identified by “password” --设置连接远程数据库的用户名和密码

using '19216819676/branch'; --指定目标数据库的连接方式,可用tns名称

在创建dblink时,要注意,有时候可能会报用户名和密码错误,但实际上我们所输入的账户信息是正确的,此时就注意将密码的大小写按服务器上所设置的输入,并在账号密码前号加上双引号(服务器版本不同造成的)。

2成功后验证dblink

select from tb_bd_action@branch; --查询创建好的brach库

正常情况下,如果创建dblink成功,可采用该方式访问到远程数据库的表

3通过merge语句完成表数据同步

此例中需要将center库中的tb_sys_sqlscripe表同步到branch,简单的语法如下:

merge into tb_sys_sqlscripe@branch b using tb_sys_sqlscripe c on (bpk=cpk) --从center将表merge到branch,同步的依据是两个表的pk

when matched then update set bsqlscripe=csqlscripe,bauthor=cauthor --如果pk值是相同则将指定表的值更新到目标表

when not matched then --如果pk值不一至,则将源表中的数据整条插入到目标表中

insert values (cpk, cfk, ccreatetime, clastmodifytime,cauthor,cmodule,cdeleteflag, cscripttype);

commit; --记得merge后必须commit,否则更改未能提交

4为方便每次需要同步时自动完成同步工作,可将该语句做成存储过程或脚本来定时执行或按要求手动执行,简单说一下创建脚本的方法:

a创建merge文件

b先将merge语句写完整后,存到mergesql文件中

c新建mergebat文件,编辑后写入以下内容

sqlplus user/password@serverip/database @"%cd%\mergesql"

ORACLRE是不可以实现非共享存储双机热备的双机热备的,因为ORACLE数据在两台服务器上,两边无法保证数据、日志、UNDO文件的同步。必须共享存储时间热备,你必须提供一个共享存储,考虑成本你可以下个免费的LINUX版本 ISCSI服务端安装在一台能提供足够空间的服务器上(或者买个桌面型存储4块磁盘,提供ISCSI,NAS,FTP功能),在两台服务器上安装微软免费的ISCSI客户端设置下,就能实现共享存储了。

当然如果你投资宽裕到150-160W的话,恭喜你可以实现ORACLE的双机负载均衡了,你两台服务器可以同时提供ORACLE服务了,不需要一台主一台备了,当然你需要ORALCE企业版要带RAC功能的2套(一套也行,不过非法使用了),同时还有一个共享存储设备,建议买个专业的存储

Oracle数据库的三种标准的备份方法:

1导出/导入(EXP/IMP)。

2热备份。

3冷备份。

注释:导出备件是一种逻辑备份,冷备份和热备份是物理备份。

一、导出/导入(Export/Import)

利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。

1、简单导出数据(Export)和导入数据(Import)

Oracle支持三种方式类型的输出:

(1)、表方式(T方式),将指定表的数据导出。

(2)、用户方式(U方式),将指定用户的所有对象及数据导出。

(3)、全库方式(Full方式),瘵数据库中的所有对象导出。

数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。

2、增量导出/导入

增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为exportdmp,如果不希望自己的输出文件定名为exportdmp,必须在命令行中指出要用的文件名。

增量导出包括三种类型:

(1)、“完全”增量导出(Complete)

即备份三个数据库,比如:

expsystem/==040731dmp

(2)、“增量型”增量导出

备份上一次备份后改变的数据,比如:

expsystem/==040731dmp

(3)、“累积型”增量导出

累计型导出方式是导出自上次“完全”导出之后数据库中变化了的信息。比如:

expsystem/==040731dmp

数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效的完成。

比如数据库的被封任务可以做如下安排:

星期一:完全备份(A)

星期二:增量导出(B)

星期三:增量导出(C)

星期四:增量导出(D)

星期五:累计导出(E)

星期六:增量导出(F)

星期日:增量导出(G)

如果在星期日,数据库遭到意外破坏,数据库管理员可按一下步骤来回复数据库:

第一步:用命令重新生成数据库结构;

第二步:创建一个足够大的附加回滚。

第三步:完全增量导入A:

impsystem/=RESTOREFULL=yFILE=A

第四步:累计增量导入E:

impsystem/=RESTOREFULL=YFILE=E

第五步:最近增量导入F:

impsystem/=RESTOREFULL=YFILE=F

二、冷备份

冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言,冷备份时最快和最安全的方法。冷备份的优点是:

1、是非常快速的备份方法(只需拷文件)

2、容易归档(简单拷贝即可)

3、容易恢复到某个时间点上(只需将文件再拷贝回去)

4、能与归档方法相结合,做数据库“最佳状态”的恢复。

5、低度维护,高度安全。

但冷备份也有如下不足:

1、单独使用时,只能提供到“某一时间点上”的恢复。

2、再实施备份的全过程中,数据库必须要作备份而不能作其他工作。也就是说,在冷备份过程中,数据库必须是关闭状态。

3、若磁盘空间有限,只能拷贝到磁带等其他外部存储设备上,速度会很慢。

4、不能按表或按用户恢复。

如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用户可以工作)并将备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。冷备份中必须拷贝的文件包括:

1、所有数据文件

2、所有控制文件

3、所有联机REDOLOG文件

4、Initora文件(可选)

值得注意的使冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的。

下面是作冷备份的完整例子。

(1)关闭数据库

sqlplus/nolog

sql

sql

(2)用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件

sql

(3)重启Oracle数据库

sql

三、热备份

热备份是在数据库运行的情况下,采用方式备份数据库的方法。所以,如果你有昨天夜里的一个冷备份而且又有今天的热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。热备份要求数据库在Archivelog方式下 *** 作,并需要大量的档案空间。一旦数据库运行在archivelog状态下,就可以做备份了。热备份的命令文件由三部分组成:

1数据文件一个表空间一个表空间的备份。

(1)设置表空间为备份状态

(2)备份表空间的数据文件

(3)回复表空间为正常状态

2备份归档log文件

(1)临时停止归档进程

(2)log下那些在目标目录中的文件

(3)重新启动archive进程

(4)备份归档的redolog文件

3用命令来备份控制文件

热备份的优点是:

1可在表空间或数据库文件级备份,备份的时间短。

2备份时数据库仍可使用。

3可达到秒级恢复(恢复到某一时间点上)。

4可对几乎所有数据库实体做恢复

5恢复是快速的,在大多数情况下爱数据库仍工作时恢复。

热备份的不足之处:

1不能出错,否则后果不堪设想。

2假如热备份不成功,所得结果则不能用于时间点的恢复。

3因为难于维护,所以需要特别仔细小心,不允许在 *** 作时半途而废。

关于Oracle数据库的备份方式就为大家讲解到这里,以后大家需要进行数据库备份工作时可以参照上文中讲解的,从上文中任选一种,就可以完成Oracle数据库的备份,希望上文中涉及到的内容对大家能够有所帮助。

三种方法:冷备份、热备份和Export导出数据库对象备份

Oracle作为目前世界上市场份额占有率最高的大型通用数据库,在世界上各行各业的信息化建设中起着核心首脑的作用。它(软件自身以及它所依赖运行的硬件)一旦出现问题,轻则导致业务中断,重则丢失部分数据,严重则全部数据不可逆转性损毁。备份方法如下:

1、冷备份

冷备份是Oracle最简单的一种备份;执行冷备份前必须关闭数据库;然后使用 *** 作系统实用工具或者第三方工具备份所有相关的数据库文件。

2、热备份

对于热备份来说,故名思议就是刚出炉的数据还是热乎的就开始执行备份的 *** 作。实现热备份的方式目前主要有两种方式,逻辑方式和物理方式。

3、Export导出数据库对象备份

导出导入是一种最初级的备份方式,它采用定时将全量、增量或者差异数据以表、用户或者全库为单位导出到某种格式的文件中达到备份的目的。

优点:能执行对象或者行恢复。备份和恢复速度更快。能够跨 *** 作系统平台迁移数据库。数据库可一直运行。

缺点:export并不是冷备份和热备份的替代工具。冷、热备份可保护介质失效。export备份可保护用户或应用错误。

你好:

检查系统:打开下载后的数据库安装文件夹,运行“setupexe”开始安装数据库,此程序运行后,会检查系统。

配置安全更新:检查完系统进入正式安装,此时会检查更新,这步可以不需要配置,检查更新没有什么必要。

安装选项:

此步骤就是选择本次安装的类型,有三种:

1、创建和配置数据库;

2、仅安装数据库软件;

3、升级现有的数据库;

一般情况下,如果电脑上没有数据库,选择第一项就可以了。

系统类:此步骤有两个选项,桌面类和服务器类,就是安装机器的系统类型。一般的电脑、笔记本等,选择桌面类就可以,如果是作为服务器使用的,选择服务器类。

典型安装:

此处配置的是数据库的安装目录、全局数据库、管理员的密码等。其中:

1、安装程序会自动选择系统中盘空间大的作为数据库的安装目录。

2、如果密码太简单,安装程序会提示,如果是自己用的话,简单一些也没问题,选是就可以了。

配置完成后,点击下一步。

先决条件检查:

此步骤会检查系统的配置,如果电脑的配置低的话,就会提示检查结果为失败,不过也是可以安装的,就是可能安装上去后,会有点卡。在检查结果的界面,右上角有一个“忽略全部”的选择框,选上此框,就可以继续安装了,点击下一步。

概要:

此步骤就是把数据库的一些信息显示出来,界面右边有一个“保存响应文件”的功能,如果需要此信息的话,保存即可,也可以不保存。完成 *** 作后,点击完成,这样配置信息过程就完成了,下面就要开始安装程序了。

安装产品:

这步就是正式开始安装数据库程序了,需要一些时间,安装时间根据电脑配置而定,等待安装完成。安装完成后,会d出一个数据库解锁的对话框,因为在安装时,数据库的账户都是默认锁着的,要使用的话,需要解锁。点击对话框的“密码管理”,在这里选择需要解锁的账户,设置上密码就可以了。

完成:

此步骤为信息显示,即显示如数据库安装到那个目录等,关闭就可以了。到此,oracle11g数据库就安装完成了。好了,以上是oracle11g数据库如安装的分享。

用RSYNC同步的化需要用sersync这样的软件,这样可以保证在文件块级同步,但是这样还是会存在数据库的不一至性,所以如果你想做数据库同步的方案,还是做dataguard这样的方案比较好一点,

以上就是关于如何实现两个oracle数据库实时同步全部的内容,包括:如何实现两个oracle数据库实时同步、oracle 10g 能否实现非共享存储双机热备,不用第三方软件、ORACLE数据库如何备份数据最好是备份哪些东西(oracle怎么备份数据库)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9378147.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存