Oracle下不同机器相同数据库表空间的数据同步或备份 2016-06-09 09:35:45

在使用Oracle过程中,因为经常需要考虑数据库的同步备份,以及数据安全的问题。使用oracle自带的数据库备份方法比较麻烦而且不灵活,通过dblink的方法,可以比较简单的进行oracle不通机器不通表空间的数据库操作。

dblink直接的意思就是在数据库表空间中建立一个连接到其他机器的表空间。操作过程分下面几个步骤。(linux下为例)。

1. 建立其他表空间的别名信息。

     需要在tnsname.ora文件中将其他服务器的信息复别名,例如:

192.168.0.81 =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.81)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = orcl)

    )

  )

创建了一个别名为standby别名的远程oracle。

创建完以后可以通过​tnsping工具来测试别名是否生效

oracle$tnsping ​192.168.0.81

........

Used TNSNAMES adapter to resolve the alias

Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.81)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))

OK (0 msec)

表示连接成功。

2. ​在本地表空间中建立远程机器的dblink

用需要同步的数据库登录名登录,并执行sql语句创建远程dblink

create database link {linkname} connect to {user} identified by {password} using '192.168.0.81';​

通过查询远程数据来验证dblink是否创建成功。

select * from userinfo@linkname;

3. 同步数据库数据

insert into hdcdrinfo select * from hdcdrinfo@linkname

where logtime between TO_DATE('2016-06-07 00:00:00','yyyy-mm-dd hh24:mi:ss') and TO_DATE('2016-06-08 14:06:38','yyyy-mm-dd hh24:mi:ss')

order by logtime desc;

将指定时间段的远程数据同步到本地数据库中,完成同步。

并且可以通过job任务来定时同步远程数据,对远程库进行操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值