Sql server 重复将数据从SQL Server移动到Oracle
定期将表数据从SQL Server移动到Oracle(on*nix)的最合理方法是什么?Sql server 重复将数据从SQL Server移动到Oracle,sql-server,database,oracle,Sql Server,Database,Oracle,定期将表数据从SQL Server移动到Oracle(on*nix)的最合理方法是什么? Oracle/与物化视图、PL/SQL或Java结合使用 或者:两者都可以计划,但都需要对SQL Server的只读访问权限 Java(可能在Oracle内部,但也可以在操作系统上)使用ODBC或SQLJ访问SQL Server,也可能访问Oracle SQL Server计划导出为CSV,Oracle计划从CSV导入 任何其他ETL工具(例如Informatica、Cognos) 可以同时访问两个数据库的
- Oracle/与物化视图、PL/SQL或Java结合使用
- 或者:两者都可以计划,但都需要对SQL Server的只读访问权限
- Java(可能在Oracle内部,但也可以在操作系统上)使用ODBC或SQLJ访问SQL Server,也可能访问Oracle
- SQL Server计划导出为CSV,Oracle计划从CSV导入
- 任何其他ETL工具(例如Informatica、Cognos)
- 可以同时访问两个数据库的各种语言中的任何一种(但需要维护第三个环境才能在其中运行应用程序)
- 自动/不与物化视图重新对齐
- Oracle DBMS_作业/DBMS_调度程序
- 特定于操作系统(cron、Windows计划任务等)
- 对于SSI、DTS或CSV导出,在SQL Server中计划
一旦有了SSIS包,就可以通过创建SQL Server代理作业来安排它。我成功地在SQL Server端创建了到Oracle的链接服务器(我想是从Enterprise Manager内部创建的)。然后,我可以在两侧使用正常的存储过程来完成较小的数据移动和双向更新。这种方法可以绕过在数据库之外尝试和组合某些内容的需要 不过,请尽量在SQL Server端使用最新的Oracle客户端。我回忆起10.2.0.2客户端中的一些缺陷,获得10.2.0.4客户端需要您的“正式”Oracle注册或购买编号或其他信息
对于大数据移动(甚至可能是您希望每天或不太频繁地进行的移动/更新),一定要使用一种ETL工具。我们为ETL流程提供了Informatica,但如果SSI能够满足您的需要,那也没关系。创建从Oracle到Sql Server的数据库链接(异构连接)。您可以使用此链接通过简单的select语句从Sql Server检索数据。如果要进行调度,可以使用物化视图或dbms_调度程序 另一种方法是将数据放在csv文件中,您可以使用外部表或sqlloader将此数据加载到Oracle数据库中 以下是我的工作: Oracle SQL developer使用以下链接连接到SQL Server: 添加SQL jar后,您将在连接窗口中看到SQL Server选项卡: 然后连接到SQL实例 然后打开SQL实例并选择要复制的数据库或表。右键单击任何数据库/表,然后单击此处的“复制到oracle”,并在“目标连接名称”处选择要复制表的正确用户[数据库] 您还可以在此处更改某些属性。 单击“确定”,就这样了
如果有任何问题,请告诉我。您是指SQL Server的企业管理器,而不是Oracle的,对吗?是的,它位于SQL Server端。我不知道具体的细节,但我花了一点时间在谷歌上搜索,才弄清楚确切的过程;我以前没有听说过“异构连接”这个术语。听起来(至少在10g中)它包含了透明网关和通用连接代理(ODBC、OLE DB)。在阅读官方管理指南并看到另一篇关于使用物化视图的文章时,它意识到了该解决方案(异构连接+物化视图)是多么出色+1.