2014-03-05 46 views
3

我们正在PL/SQL中编写一些接口例程,以通过使用另一个oracle数据库作为主机在多个oracle数据库之间传输数据。 (即人力资源 - >主机 - >财经)同义词或dblink查看

的转移都发生在db_links 基本

insert into [email protected] select * from [email protected]; 

(其更为复杂的那么多个表和转换等。但这是一般的想法)

我们一直有在这里讨论的是下列哪一项应该做

  1. 参考“[email protected]”无处不在欧T代码
  2. 创建同义词(公共或私人) “create synonym tablename for [email protected]

  3. 创建对象的意见 “create view tablename as select * from [email protected]

是否还有其他选择吗? 是否比其他人更好?

注:该dblink的名称将在每个级别的开发/测试/生产 使DBLINK的“server1”成为开发主机和测试主机等在测试服务器上开发服务器标准化..

无的表名应该永远存在于多个服务器上

回答

2

通过为远程对象创建同义词,位置透明度是最简单的设置。这比在每个SQL中使用远程地址更容易维护。您如何快速测试其他远程数据库中的某些内容?只需重新创建涉及的数据库链接就足以实现这一目标。

其他选项可能是创建快照是本地数据库中远程表的物化视图,但也需要数据库链接。它会以更多的空间为代价获得良好的性能。

+0

我不认为我们担心现在的表现..我们不期望它是一个问题..但这是至少对一些表的想法。 – ShoeLace