情况如下:
我有两个Oracle 10g数据库(具有相同的表,等等)它不能通过网络连接。在一定的时间间隔(例如,每天一次),我需要能够更新数据库B上的数据,以匹配数据库A。数据库B仅用于读取,因此不应该对其上的数据进行任何更改。
由于它们之间没有网络连接,所以我需要从一个文件中创建某种文件,该文件可以轻松地传送到另一个文件中。我希望将这个文件导出并导入到另一个数据库中,以尽可能快的速度.理想情况下,它将只包含关于自上次同步以来所更改的内容的最小必要信息。
显然,我可以完全导出一个数据库,并用它的数据替换另一个数据库。然而,这将需要一段不可接受的时间。我还发现了一些关于增量导出的内容,但这似乎已经过时了,而且还导出了任何更改的表中的所有数据。这将是个问题,因为一个特定的表(很可能会发生变化)包含了大量的气泡,并且到目前为止完全导出和导入需要花费最多的时间。
我不是DBA,所以我在这方面没有太多的专业知识。有什么适合这样做的吗?
发布于 2010-09-29 20:21:15
您可以将逻辑备用数据库视为只读副本,并拼凑一个手动存档日志传输过程,该过程将复制和注册所有日志文件--每个同步间隔来自传输介质。它的优点是您只使用Oracle自然创建的文件,而且它是一个非常快速的过程。它也不会导致逻辑待机的停机时间。
我在数据保护文档中找到的一个有用的部分是关于解决归档日志空白的部分。
编辑:我刚注意到你不是DBA。要做到这一点,您将需要一个称职的DBA的帮助,更不用说所需的特权了。然而,大多数有能力的DBA会认为这很有趣;-)
发布于 2010-09-28 18:37:42
最简单的解决方案是通过非网络网络连接它们。一种方法是让它们都连接到相同的后端存储(即SAN/NAS),这样您就可以让它们共享相同的卷,或者允许您将其中一个卷复制到另一个。
除此之外,如果您要求助于sneakernet或RFC1149来同步您的DB,那么它实际上取决于DB的大小和/或事务日志的大小。
我真的会质疑“没有网络”的要求。我发现很难相信创建VPN或其他这样的隧道不是一个可行的选择。即使在PCI和SOX需求下,备份和HA集群设计也有网络连接许可。
https://serverfault.com/questions/185480
复制相似问题