+ -
当前位置:首页 → 问答吧 → 求助:oracle数据库拷贝问题

求助:oracle数据库拷贝问题

时间:2011-10-31

来源:互联网

我现在有一台机子能访问另外一个系统的oracle数据库,但是这个用户只能查询几张表的数据权限,然后我要把这几张表的数据拷贝到另外一台机子的另外一个系统oracle的数据库,该怎么实现呢?要命令式的。。。还有就是要定时(一个月)拷贝一次,确保这两个数据库的这几张表的数据基本同步

作者: A583577906   发布时间: 2011-10-31

你要在unix或者linux主机上实现么?
可以用copy from

把下面的语句写到一个shell脚本中,然后把这个shell脚本,用后台的crontab配置上,每个月执行一次,脚本内容:(例从数据库2拷贝到数据库1)
#!/bin/sh
sqlplus -L /nolog <<- EOSQL >> ./copyfrom.log 2>&1
connet username1/passwd1@db1
set echo off
set linesize 300
set heading off
set pagesize 0
copy from username1/passwd1@db1 to username2/passwd2@db2 insert table2 using select * from table1;
exit
EOSQL

--执行的时候,具体信息就会被记录在copyfrom.log中。

作者: yixilan   发布时间: 2011-10-31

引用 1 楼 yixilan 的回复:
你要在unix或者linux主机上实现么?
可以用copy from

把下面的语句写到一个shell脚本中,然后把这个shell脚本,用后台的crontab配置上,每个月执行一次,脚本内容:(例从数据库2拷贝到数据库1)
#!/bin/sh
sqlplus -L /nolog <<- EOSQL >> ./copyfrom.log 2>&amp;1
connet username1/……



是xp下实现哦

作者: A583577906   发布时间: 2011-10-31

我在xp下做。如果用户只有查询视图数据权限是不能copy from 的吧

作者: A583577906   发布时间: 2011-10-31

引用 3 楼 a583577906 的回复:
我在xp下做。如果用户只有查询视图数据权限是不能copy from 的吧

这个我还真不知道。
用insert into db1.table1....select * from db2.table1,这样能实现么?

另外,如果是XP下定时处理的话,可以把insert into的语句写到存储过程里,然后把存储过程添加到schedule job里。

作者: yixilan   发布时间: 2011-10-31