如何把不同服务器上的oracle数据库中的数据实时插入到本地服务器上,数据表和字段是一样的,
实时的话达不到,除非用同步软件同步数据文件
推荐软件rose,但是要付费的,不建议购买!
剩下的办法就是两个:
一、rman做增量备份,然后恢复,做成脚本执行任务即可,推荐使用
二、数据导出后再导入,可用exp、imp或数据泵,导入的时候跟上相应选项(实在没办法了可以用,但是此方法对I/O影响较大,慎用!)
望能帮到你!
第一种方法:
复制代码代码如下:
/
创建链接服务器
/
exec
sp_addlinkedserver
'srv_lnk','','sqloledb','条码数据库IP地址'
exec
sp_addlinkedsrvlogin
'srv_lnk','false',null,'用户名','密码'
go
/
查询示例
/
SELECT
AListCode
FROM
srv_lnk条码数据库名dboME_ListCode
A,
IM_BarLend
B
WHERE
AListCode=BListCode
go
/
删除链接服务器
/
exec
sp_dropserver
'srv_lnk','droplogins'
第二种方法:
复制代码代码如下:
exec
sp_configure
'show
advanced
options',1
reconfigure
exec
sp_configure
'Ad
Hoc
Distributed
Queries',1
reconfigure
go
select
from
Product
p
inner
join
opendatasource('SQLOLEDB','Data
Source=Macaco-Online;user
ID=sa;password=sa密码;')CompanydboProduct
p2
on
PPID=p2PID
go
exec
sp_configure
'Ad
Hoc
Distributed
Queries',0
reconfigure
exec
sp_configure
'show
advanced
options',0
reconfigure
go
一条语句执行跨越若干个数据库
我要在一条语句里操作不同的服务器上的不同的数据库里的不同的表,怎么办呢
第一种方法:
select from OPENDATASOURCE('SQLOLEDB','Data Source=远程ip;User ID=sa;Password=密码')库名dbo表名
第二种方法:
先使用联结服务器:
EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'
exec sp_addlinkedsrvlogin @rmtsrvname='别名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'
GO
然后你就可以如下:
select from 别名库名dbo表名
insert 库名dbo表名 select from 别名库名dbo表名
select into 库名dbo新表名 from 别名库名dbo表名
go
0条评论