oracle高手请进关于两个数据中表数据的传递问题 up有分(在线急等)

winder_008 2002-09-27 11:20:01
有两个oracle数据库 a b
在不同的两个网段 我现在通过一个网关机连接成功

 然后在该网关机上安装oracle 连接好这两个数据库a b
现在需要将b 数据库中的 tabb 一个表 中的数据传输到a数据库taba中
 tabb是一个时实数据表每天大概要有100000条记录
 其中保存了4_5天的数据 
  
 我想通过oracle内部自己的copy 或者其他的方法来解决
 
 谁有好的方法 和思路 以及解决的步骤。
 还有我在orcle中建立两个的数据库的连接时候怎么总出现
 适配器初始化失败的消息。
 

...全文
56 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhengg21 2002-09-28
  • 打赏
  • 举报
回复
刚才的优点错误
是把在net8 easy config创建的连接字符串名字与目的数据库的实例名字相同,可以保证连通
zhengg21 2002-09-28
  • 打赏
  • 举报
回复
我告诉你一个关于创建数据库链的经验
数据库链的名字与目的数据库的实例名字相同,可以保证连通
xmwgp 2002-09-28
  • 打赏
  • 举报
回复
把 init.ora 的:

global_names = true 改为 false
xiesd 2002-09-28
  • 打赏
  • 举报
回复
在a服务器:1、将初始化文件的gloable_name置为false
2、建数据库连接到b数据库
3、可以通过快照将b服务器数据刷过来,需要在b服务器建快照日志 哦,还有a、b两数据库还需要同名 或则自己写个过程取数据过来,如果想自动定时取数据的话,可以建个job将该过程放进去即可
================================================================

CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!

★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。

★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。

Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]

smalltalks 2002-09-28
  • 打赏
  • 举报
回复
up
winder_008 2002-09-28
  • 打赏
  • 举报
回复
现在的问题是这样的 三台计算机

  A 数据库oraA
B 数据库oraB
C 网关机   也安装了oracle
现在 a b 是在两个网段 不能相互ping 通
 我现在 在 C 机器上安装双网卡 可以ping通这两台机器。
 并且C机器上的oracle也可以连接上ab两个数据库
但是怎么去配置dblink呢 创建dblink 后 出现
适配器初始化失败的消息
luckysxn 2002-09-27
  • 打赏
  • 举报
回复
很多种方法:
1、ORACLE本身的DBLINK
insert into table1 select * from table2@yourdblink.
2、用其它工具,不如MS 的TDS或者PB的数据管道
3、研究一下ORACLE自身的高级复制技术
wumugulu 2002-09-27
  • 打赏
  • 举报
回复
能相互访问就简单多啦,看看oracle的复制Replication 就ok了,不难~~~

祝好运!
bzszp 2002-09-27
  • 打赏
  • 举报
回复
首先要确保两台服务器能ping通

创建据库链路(database link),然后就
可以通过oracle的copy 命令来传数据

database link的创建方法:
修改数据库的init.ora中的global_names为false,重新启动数据库
create database link linkname
connect to user
identified by usrpwd
using 'demona';//demona为用net8 easy config创建的连接字符串

copy命令的语法:
copy from username/password@dbname
to username1/pw1@dbname1
append(create/insert/replace) tablename(col1,col2...)
using select....from ...;

如果是每天定时导数据,通过job来控制

job使用方法:
例子:
VARIABLE jobno number;
begin
DBMS_JOB.SUBMIT(:jobno,
'copy ...', //你要用的copy命令
SYSDATE, 'trunc(sysdate)+1+1/24');//每天凌晨1点执行
commit;
end;
/



zhaoyongzhu 2002-09-27
  • 打赏
  • 举报
回复
如果a b数据库之间可以相互访问那就简单了。建一个dblink,直接用insert into table1 select * from table2@dblinkb.
如果不能直接访问,那就要用你的第三方数据库作为中间数据库倒数据了。
qiuyang_wang 2002-09-27
  • 打赏
  • 举报
回复
我看你的情况比较适合快照,利用快照的自动复制功能可以保证两台机器数据的定时统一,而且还可以进行增量复制。使用快照的前提必须是可以连通,创建dblink可用。
45060203 2002-09-27
  • 打赏
  • 举报
回复
关注
bzszp 2002-09-27
  • 打赏
  • 举报
回复
你用net8 配置连接字符串了么?(测试成功了?)
创建数据链路要用连接字符串

winder_008 2002-09-27
  • 打赏
  • 举报
回复
我在建立好数据连接后用
select * from table1@yourdblink

出现
适配器初始化失败的消息

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧