我们正在从 Microsoft SQL Server 迁移到 Oracle。在SQL Server中,我们有60个数据库(如XMLDB_1,XMLDB_2,XMLDB_3,......,XMLDB_60)在同时读取60个XML文件后插入数据。SSIS 将一次读取 60 个 XML 文件并将数据插入到这 60 个数据库中。60 个数据库中的每一个都包含 10 个结构相同的表。下次,SSIS 将读取接下来的 60 个 XML 文件并将数据插入到相同的 60 个数据库中。每次在选择 XML 文件之前,每个数据库(XMLDB)内的所有表将在将数据推送到另一个数据库(例如 DocumentDB)后被截断。
我的理解是,或者我从其他人那里听到的 - 在单个 Oracle 数据库实例中拥有太多数据库服务可能会因为更多的资源利用率而产生性能问题。另一方面,在 SQL Server 中,拥有太多数据库并不是什么大问题。
我在这里寻找更好的设计方法,
- 我们是否需要继续在单个 Oracle 数据库实例中创建 60 个 XML 数据库服务(XMLDB_1、XMLDB_2、XMLDB_3、......、XMLDB_60)?或者,
- 我们是否需要在单个数据库服务中创建一次处理 60 个 XML 文件所需的那么多表?在这种情况下,我们需要在单个数据库服务中创建 600 个表(每个 XMLDB 内有 10 个表,我们有 60 个 XMLDB,因此 60x10 = 600)。