寻找在 S3 存储桶中复制 oracle 表的最佳方法
Posted
技术标签:
【中文标题】寻找在 S3 存储桶中复制 oracle 表的最佳方法【英文标题】:Look for best approach replicating oracle table in S3 bucket 【发布时间】:2021-01-29 06:16:59 【问题描述】:我的问题:
我需要一个从我组织的 Oracle 数据库(Oracle 云基础设施)到 AWS S3 存储桶的数据管道。理想情况下,我希望 oracle 有某种机制来推送已进入数据库的新数据,以便在添加时将其推送到 S3 存储桶(以任何格式)。
问题:
这对于 Oracle 原生,特别是 Oracle 云基础设施是否可行?
或者你有没有见过更好的解决方案?
注意: 我已经看到 AWS 有 Data Sync 产品,这似乎可以帮助解决这个问题,但我不确定它是否适合这个特定问题。
【问题讨论】:
【参考方案1】:S3 存储桶是对象存储;它只能保存完整的文件。您无法像在普通文件系统中那样打开和更新现有文件,即使只是添加新行。您需要在 Oracle 之外构建整个文件,然后使用其他机制将其推送到 S3。
您可能需要考虑以下步骤:
使用 Oracle Cloud 与其对象存储的集成,将您的数据从 Oracle Cloud 导出到 Oracle 对象存储(类似于 S3)。 (https://blogs.oracle.com/datawarehousing/the-simplest-guide-to-exporting-data-from-autonomous-database-directly-to-object-storage)那么:
让客户使用 Oracle 的 Amazon S3 兼容性 API 像通常访问 S3 一样访问 Oracle 对象存储。 (https://docs.oracle.com/en-us/iaas/Content/Object/Tasks/s3compatibleapi.htm)或者:
使用外部驱动的脚本将数据(从 Oracle 对象存储或直接从数据库)下载到服务器,然后将文件推送到 Amazon S3。服务器可以是本地的,也可以托管在 Oracle OCI 或 AWS 中,只要它可以访问这两个对象存储即可。 (https://blogs.oracle.com/linux/using-rclone-to-copy-data-in-and-out-of-oracle-cloud-object-storage)或者:
您可以使用 AWS Data Sync 将数据直接从 Oracle 对象存储移动到 S3,具体取决于网络配置要求。 (https://aws.amazon.com/blogs/aws/aws-datasync-adds-support-for-on-premises-object-storage/)【讨论】:
以上是关于寻找在 S3 存储桶中复制 oracle 表的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章