1

我想每天从一个表中将数据从一个模式加载到另一个模式。

  • 表在不同的数据库中,因此出于某些安全目的,创建数据库链接将不是一个选项....
  • 大约百万条记录将得到处理....
  • 数据库位于不同的服务器上,从数据库“A”我通过组合一个月的 emp 详细信息和 emp 存在表来获取员工存在详细信息,并将此数据加载到数据库“B”的其他表中。需要每天运行此活动。
  • 我需要每天在高峰时段运行一项工作,以将表的完整副本复制到其他数据库中......
  • 会在 sqlldr 的帮助下导入/导出或加载数据吗?

请让我知道正确的方法..提前谢谢..

我最好的选择是什么?

4

2 回答 2

3

好吧,似乎使用数据库链接最适合您的情况。如果要从数据库中读取表,则应具有读取权限。也许您可以要求 DBA 创建一个仅对特定表具有读取权限的帐户(用户)。然后您可以使用数据库链接与新用户连接。您无法更新或删除表中的数据,因为您连接的用户没有写入权限。这可以解决安全问题。

exp/imp 和 sqlldr 是不同的工具。他们不一起工作。您只能从导出文件中导入数据。您无法使用 sqlldr 加载导出文件。

于 2012-09-07T00:02:44.597 回答
1

如果你想定期运行它,听起来你可能想看看 Oracle Scheduler

概述:http ://docs.oracle.com/cd/B28359_01/server.111/b28310/schedover001.htm

要导出数据并将其添加到新数据库中,您可能需要使用 Oracle DataPump,它可以安全地为您执行导出和导入。

数据泵导出:http ://docs.oracle.com/cd/B28359_01/server.111/b28319/dp_export.htm

所以你的赌注可能是创建一个 shell 脚本,它使用数据泵从 2 号数据库创建导出文件,然后再次使用数据泵将所述文件导入到 1 号数据库。一旦你有了这个脚本,你可以安排它运行在夜间或任何交通流量低的时候。

问候

于 2012-09-07T01:18:37.803 回答